getloadavg: Remove support for Ardent.
[gnulib.git] / ChangeLog
blobf8d6401bffadac0416a817d3bb1a4a57ed2a778e
1 2018-10-16  Bruno Haible  <bruno@clisp.org>
3         getloadavg: Remove support for Ardent.
4         * lib/getloadavg.c: Remove ardent case.
6 2018-10-16  Bruno Haible  <bruno@clisp.org>
8         mountlist: Remove support for SVR2.
9         Reported by Andrew Borodin <aborodin@vmail.ru> in
10         <https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00101.html>.
11         * lib/mountlist.c: Remove MOUNTED_FREAD case.
12         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
13         MOUNTED_FREAD.
15 2018-10-15  Paul Eggert  <eggert@cs.ucla.edu>
17         libc-config: merge from glibc
18         * lib/cdefs.h (__glibc_has_attribute): New macro.
20         regex: depend on libc-config
21         * modules/regex (Depends-on): Add libc-config.
22         This is needed after the recent autoupdate from glibc.
24 2018-10-14  Bruno Haible  <bruno@clisp.org>
26         localename: Add support for per-thread locales on Solaris 11.4.
27         * lib/locale.in.h (newlocale, freelocale): New declarations.
28         (duplocale): Declare also when the 'localename' module requests it.
29         * lib/localename.c (struniq_hash_node): Renamed from hash_node.
30         (STRUNIQ_HASH_TABLE_SIZE): Renamed from HASH_TABLE_SIZE.
31         (struniq): Update.
32         (struct locale_categories_names, struct locale_hash_node): New types.
33         (LOCALE_HASH_TABLE_SIZE): New constant.
34         (locale_hash_table, locale_lock): New variables.
35         (pointer_hash, get_locale_t_name): New functions.
36         (newlocale, duplocale, freelocale): New overridden functions.
37         (gl_locale_name_thread_unsafe): Use get_locale_t_name.
38         * m4/intlsolaris.m4: New file.
39         * m4/localename.m4 (gl_LOCALENAME): Require gl_LOCALE_H_DEFAULTS. Invoke
40         gt_INTL_SOLARIS. Set HAVE_NEWLOCALE, HAVE_DUPLOCALE, HAVE_FREELOCALE,
41         REPLACE_NEWLOCALE, REPLACE_DUPLOCALE, REPLACE_FREELOCALE.
42         * m4/locale_h.m4 (gl_LOCALE_H): Test whether newlocale, freelocale are
43         declared.
44         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALENAME, HAVE_NEWLOCALE,
45         HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
46         * modules/locale (Makefile.am): Substitute GNULIB_LOCALENAME,
47         HAVE_NEWLOCALE, HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
48         * modules/localename (Files): Add intlsolaris.m4.
49         (Depends-on): Add 'locale'.
50         (configure.ac): Invoke gl_LOCALE_MODULE_INDICATOR.
51         * tests/test-locale-c++.cc (newlocale, freelocale): Prepare for checking
52         the signatures.
54 2018-10-14  Akim Demaille  <akim@lrde.epita.fr>
56         timevar: use gethrxtime to get wall clock time
57         clock_gettime is not portable.  gethrxtime takes the best available
58         option to get the wall clock time, including clock_gettime (monotonic
59         clock), and gettime (non monotonic).
60         Also, using xtime_t instead of float preserves the precision.
61         Suggested by Bruno Haible.
62         * lib/xtime.h (xtime_make): Handle overflows of nanoseconds.
63         * modules/timevar (Depends-on): We need gethrxtime.
64         We no longer use times().
65         (Link): Update.
66         * lib/timevar.h (timevar_time_def): Use xtime_t.
67         * lib/timevar.c (set_to_current_time): Use gethrxtime.
68         (timevar_print): Instead of checking whether the timings themselves
69         are large enough for the timevar to be printed, check the percentages.
71 2018-10-14  Bruno Haible  <bruno@clisp.org>
73         wcsnrtombs: Work around Solaris 11.4 bug.
74         * m4/wcsnrtombs.m4 (gl_WCSNRTOMBS_WORKS_IN_TRADITIONAL_LOCALE): New
75         macro.
76         (gl_FUNC_WCSNRTOMBS): Invoke it.
77         * doc/posix-functions/wcsnrtombs.texi: Mention the Solaris bug.
79 2018-10-14  Bruno Haible  <bruno@clisp.org>
81         mbsnrtowcs: Work around Solaris 11.4 bug.
82         * m4/mbsnrtowcs.m4 (gl_MBSNRTOWCS_WORKS_IN_TRADITIONAL_LOCALE): New
83         macro.
84         (gl_FUNC_MBSNRTOWCS): Invoke it.
85         * doc/posix-functions/mbsnrtowcs.texi: Mention the Solaris bug.
87 2018-10-14  Bruno Haible  <bruno@clisp.org>
89         doc: Update for Solaris 11.4.
90         * doc/**/*.texi: For bugs that exist in both Solaris 11.3 and 11.4,
91         mention Solaris 11.4.
92         * m4/printf.m4: Update comments about Solaris.
93         * m4/log.m4: Likewise.
94         * m4/log10.m4: Likewise.
95         * m4/logb.m4: Likewise.
96         * m4/logbf.m4: Likewise.
97         * m4/logbl.m4: Likewise.
98         * m4/rename.m4: Likewise.
99         * m4/wcrtomb.m4: Likewise.
100         * m4/hostent.m4: Likewise.
101         * m4/servent.m4: Likewise.
103 2018-10-14  Bruno Haible  <bruno@clisp.org>
105         floor, ceil, trunc, truncf, truncl: Defeat GCC optimizations.
106         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Use 'floor' also through a function
107         pointer.
108         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use 'ceil' also through a function
109         pointer.
110         * m4/trunc.m4 (gl_FUNC_TRUNC): Use 'trunc' also through a function
111         pointer.
112         * m4/truncf.m4 (gl_FUNC_TRUNCF): Use 'truncf' also through a function
113         pointer.
114         * m4/truncl.m4 (gl_FUNC_TRUNCL): Use 'truncl' also through a function
115         pointer.
117 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
119         bootstrap: fix wget command for po files.
120         * build-aux/bootstrap (po_download_command_format): Fix comment,
121         and adjust callers.
123 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
125         timevar: improve the output format
126         Suggested by Bruno Haible.
127         See https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00040.html.
128         * lib/timevar.c (timevar_print): Use %7.3f for usr/sys and %11.6f for
129         wall, since its resolution is much higher.
131 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
133         timevar: expect that getrusage is available.
134         Don't keep both times and getrusage as backend: both are guaranteed by
135         gnulib, a single one suffices.  Using getrusage is open to possibly
136         tracking other types of resources in the future.
137         * modules/timevar (Depends-on): Add getrusage.
138         (configure.ac): Remove gl_TIMEVAR.
139         (Files): Remove m4/timevar.m4.
140         * m4/timevar.m4: Remove, rely on gnulib for getrusage.
141         * lib/timevar.h (timevar_enabled): Clarify documentation.
142         * lib/timevar.c: Remove all the code about times.
143         Remove all the CPP guards about getrusage: expect it to be present
144         (courtesy of gnulib).
146 2018-10-12  Bruno Haible  <bruno@clisp.org>
148         mountlist: Improve support for Solaris in 64-bit mode.
149         Reported by David Wood <David.Wood@deshaw.com> in
150         <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=6816>.
151         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): On Solaris 8 or
152         newer, define MOUNTED_GETEXTMNTENT instead of MOUNTED_GETMNTENT2.
153         * lib/mountlist.c: Add code for MOUNTED_GETEXTMNTENT case.
155 2018-10-12  Bruno Haible  <bruno@clisp.org>
157         mountlist: Add support for Minix.
158         Reported by Assaf Gordon in
159         <https://lists.gnu.org/archive/html/bug-gnulib/2014-09/msg00074.html>.
160         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use
161         AC_CHECK_FUNCS to check for 'getmntinfo'.
162         * lib/mountlist.c: Update comments.
164 2018-10-12  Bruno Haible  <bruno@clisp.org>
166         Make better use of Autoconf.
167         * m4/environ.m4: Use AC_CACHE_CHECK where possible.
168         * m4/manywarnings.m4: Likewise.
169         * m4/manywarnings-c++.m4: Likewise.
170         * m4/socklen.m4: Likewise.
171         * m4/sockpfaf.m4: Likewise.
172         * m4/stdarg.m4: Likewise.
173         * m4/visibility.m4: Likewise.
174         * m4/fsusage.m4: Use AC_CACHE_CHECK where possible. Modernize
175         indentation.
176         * m4/ls-mntd-fs.m4: Likewise.
178 2018-10-11  Bruno Haible  <bruno@clisp.org>
180         mountlist: Modernize platform lists.
181         * m4/ls-mntd-fs.m4: Clarify which MOUNTED_* symbol applies to which
182         platforms, deemphasizing the obsolete ones.
183         * lib/mountlist.c: Likewise.
185 2018-10-11  Bruno Haible  <bruno@clisp.org>
187         getprogname: Add support for 32-bit programs on HP-UX.
188         * lib/getprogname.c (getprogname) [HP-UX]: If pstat_getproc fails,
189         try the similar functions 32-bit programs on 64-bit HP-UX.
191 2018-10-11  Bruno Haible  <bruno@clisp.org>
193         getprogname: Work around program name truncation when possible.
194         * lib/getprogname.c (getprogname) [HP-UX]: When pst_ucomm is truncated,
195         possibly use pst_cmd instead.
197 2018-10-08  Paul Eggert  <eggert@cs.ucla.edu>
199         fts: cleanup after FTS_NOATIME removal
200         * lib/fts_.h (FTS_VERBATIM, FTS_OPTIONMASK, FTS_NAMEONLY)
201         (FTS_STOP): Shrink to minimal values.  We don’t need to
202         worry about binary compatibility in Gnulib, and the old way
203         of doing things had a hole in the user options that caused
204         FTS_OPTIONMASK to not work as desired.
206 2018-10-08  Bernhard Voelker  <mail@bernhard-voelker.de>
208         fts: remove FTS_NOATIME
209         This reverts commit da4d6974013c822af1498941e32db774b2031765.
210         We cannot guarantee that O_NOATIME works: e.g. openat fails
211         with EPERM if the effective user ID of the caller does not match
212         the owner of the file and the caller is not privileged.
213         Downstream findutils has never picked up FTS_NOATIME.  Discussed at
214         <https://lists.gnu.org/r/bug-gnulib/2018-09/msg00122.html>.
215         * lib/fts_.h (FTS_NOATIME): Remove bit flag.
216         (FTS_OPTIONMASK): Adjust.
217         * lib/fts.c (diropen, fts_open, fts_build): Likewise.
218         (fd_ring_check): Likewise.
220 2018-10-08  Bruno Haible  <bruno@clisp.org>
222         csharpcomp*, csharpexec*: Remove support for pnet.
223         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Don't test for cscc. Don't set
224         HAVE_CSCC.
225         * build-aux/csharpcomp.sh.in (options_cscc): Remove variable.
226         Don't test HAVE_CSCC.
227         * lib/csharpcomp.c (compile_csharp_using_pnet): Remove function.
228         (compile_csharp_class): Don't invoke it.
229         * m4/csharpexec.m4 (gt_CSHARPEXEC): Don't test for ilrun. Don't set
230         HAVE_ILRUN.
231         * build-aux/csharpexec.sh.in (options_ilrun): Remove variable.
232         Don't test HAVE_ILRUN.
233         * lib/csharpexec.c (execute_csharp_using_pnet): Remove function.
234         (execute_csharp_program): Don't invoke it.
235         * m4/csharp.m4 (gt_CSHARP_CHOICE): Don't recognize --enable-csharp=pnet
236         any more.
238 2018-10-07  Andreas Henriksson  <andreas@fatal.se>  (tiny change)
240         renameatu: prefer renameat2 to syscall
241         * lib/renameatu.c (renameatu) [HAVE_RENAMEAT2]:
242         Use renameat2 instead of syscall (Bug#32796).
243         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Check for renameat2.
245 2018-10-07  Benno Schulenberg  <bensberg@telfort.nl>
247         bootstrap, gnulib-tool: use https instead of insecure rsync
248         * build-aux/bootstrap (download_po_files, po_download_command_format):
249         Don't try using rsync; always use wget over https to fetch PO files.
250         * gnulib-tool (func_import): Likewise.
251         * pygnulib/GLImport.py (GLImport.execute): Likewise.
253 2018-10-07  Benno Schulenberg  <bensberg@telfort.nl>
255         bootstrap, gnulib-tool: correct the translations wget command
256         * build-aux/bootstrap (po_download_command_format2): Restrict
257         recursion to a single level.
258         * gnulib-tool (func_import): Likewise.
259         * pygnulib/GLImport.py (GLImport.execute): Likewise.
261 2018-10-07  Akim Demaille  <akim@lrde.epita.fr>
263         doc: the gnulib snapshots are not maintained
264         * doc/gnulib-intro.texi (Steady Development): Don't mention them.
266 2018-10-07  Akim Demaille  <akim@lrde.epita.fr>
268         timevar: add to lib_SOURCES
269         * modules/timevar (lib_SOURCES): Add timevar.c and timevar.def.
271 2018-10-07  Bruno Haible  <bruno@clisp.org>
273         dirent: Update documentation.
274         * doc/posix-headers/dirent.texi: The MSVC issue is fixed by Gnulib.
276 2018-10-05  Bruno Haible  <bruno@clisp.org>
278         strpbrk: Make it possible to namespace the defined symbol.
279         * lib/strpbrk.c (strpbrk): Don't undefine outside of glibc.
281 2018-10-05  Bruno Haible  <bruno@clisp.org>
283         strcspn: Make it possible to namespace the defined symbol.
284         * lib/strcspn.c (strcspn): Don't undefine outside of glibc.
286 2018-10-05  Bruno Haible  <bruno@clisp.org>
288         raise: Make it possible to namespace the defined symbol.
289         * lib/raise.c (raise): Undefine only after the replacement function has
290         been defined.
291         (raise): Renamed from rpl_raise.
292         (raise_nothrow): Move to the end of the compilation unit.
294 2018-10-05  Bruno Haible  <bruno@clisp.org>
296         memcmp: Make it possible to namespace the defined symbol.
297         * lib/memcmp.c (memcmp): Don't undefine outside of glibc.
299 2018-10-05  Bruno Haible  <bruno@clisp.org>
301         explicit_bzero: Make it possible to namespace the defined symbol.
302         * lib/explicit_bzero.c (explicit_bzero): Don't undefine outside of
303         glibc.
305 2018-10-05  Bruno Haible  <bruno@clisp.org>
307         mkdir-p: Depend on 'mkdir'.
308         * modules/mkdir-p (Depends-on): Add 'mkdir'.
310 2018-10-05  Bruno Haible  <bruno@clisp.org>
312         tempname: Depend on 'mkdir'.
313         Reported by Maarten Bosmans <mkbosmans@gmail.com>
314         at <https://savannah.gnu.org/bugs/?33379>.
315         * modules/tempname (Depends-on): Add 'mkdir'.
317 2018-10-05  Akim Demaille  <akim@lrde.epita.fr>
319         timevar: rely on gnulib modules for time portability.
320         * modules/timevar (Depends-on): Add sys_time, sys_times, and times.
321         * m4/timevar.m4: Don't check for clock_t and struct tms,
322         guaranteed by gnulib.
323         * lib/timevar.h: Use extern "C" protection.
324         Include <stdio.h> for FILE.
325         * lib/timevar.c: Include sys/time.h, sys/times.h unconditionally,
326         they are guaranteed by gnulib.
327         Remove uses of clock as (now useless) fallback.
329 2018-10-04  Bruno Haible  <bruno@clisp.org>
331         sh-filename: New module.
332         * m4/sh-filename.m4: New file.
333         * modules/sh-filename: New file.
334         * lib/spawni.c (_PATH_BSHELL): Use BOURNE_SHELL instead of hardcoding
335         "/bin/sh".
336         * tests/test-posix_spawn1.c (main): Likewise.
337         * tests/test-posix_spawn2.c (main): Likewise.
338         * lib/javacomp.c (compile_using_envjavac, is_envjavac_gcj,
339         is_envjavac_gcj43): Likewise.
340         * lib/javaexec.c (execute_java_class): Likewise.
341         * modules/posix_spawn-internal (Depends-on): Add sh-filename.
342         * modules/posix_spawnp-tests (Depends-on): Likewise.
343         * modules/javacomp (Depends-on): Likewise.
344         * modules/javaexec (Depends-on): Likewise.
346 2018-10-04  Bruno Haible  <bruno@clisp.org>
348         spawn-pipe tests: Avoid test failure on native Windows.
349         * tests/test-spawn-pipe-child.c (main): On native Windows, don't expect
350         that fd 2 is closed.
352 2018-10-04  Bruno Haible  <bruno@clisp.org>
354         fcntl: Make it possible to namespace the defined symbol.
355         * lib/fcntl.c (fcntl): Undefine only after the replacement function has
356         been defined.
357         (fcntl): Renamed from rpl_fcntl.
358         (rpl_fcntl_DUPFD, rpl_fcntl_DUPFD_CLOEXEC): New functions, extracted
359         from fcntl.
360         (klibc_fcntl): Move to the end of the compilation unit.
362 2018-10-02  Bruno Haible  <bruno@clisp.org>
364         vasnprintf tests: Avoid test failure on HP-UX/hppa and IRIX.
365         * tests/test-vasnprintf.c (test_function): Change the test added on
366         2018-09-23 to check only the 18 most significant digits.
368         vasnprintf tests: Avoid test failure on Cygwin.
369         * tests/test-vasnprintf.c (test_function): Change the test added on
370         2018-09-23 to check only the 42 most significant digits.
372 2018-10-01  Bruno Haible  <bruno@clisp.org>
374         mkostemp, mkostemps: Update documentation.
375         * doc/glibc-functions/mkostemp.texi: Mention the Mac OS X issue.
376         * doc/glibc-functions/mkostemps.texi: Likewise.
378 2018-10-01  Tom Tromey  <tom@tromey.com>
380         mkostemp, mkostemps: Fix compilation error in C++ mode on Mac OS X.
381         * lib/stdlib.in.h: Include <unistd.h> for mkostemp and mkostemps
382         on OS X.
384 2018-09-30  Pádraig Brady  <P@draigBrady.com>
386         hmac-*: refactor to remove repetitive code
387         * lib/hmac.c: A new parameterized single implementation.
388         * lib/hmac-md5.c: Define parameters and include implementation.
389         * lib/hmac-sha1.c: Likewise.
390         * lib/hmac-sha256.c: Likewise.
391         * lib/hmac-sha512.c: Likewise.
392         * modules/crypto/hmac-md5: Reference the new implementation file.
393         * modules/crypto/hmac-sha1: Likewise.
394         * modules/crypto/hmac-sha256: Likewise.
395         * modules/crypto/hmac-sha512: Likewise.
396         * tests/test-hmac-md5.c: Refactor common code to a single function.
397         * tests/test-hmac-sha1.c: Likewise.
398         * tests/test-hmac-sha256.c: Likewise.
399         * tests/test-hmac-sha512.c: Likewise.
401 2018-09-30  Zhang Qing  <zhangqingl@126.com>
403         hmac-sha512: fix hash for keys > blocksize (128 bytes)
404         * lib/hmac-sha512.c (hmac_sha512): Set the computed/shortened
405         key length to that output by sha512, not the blocksize.
406         Otherwise uninitialized data from the stack
407         is used when computing the hash.
408         * tests/test-hmac-sha512.c: Add a shortened key test case.
409         Reported at https://github.com/coreutils/gnulib/pull/5
411 2018-09-30  Bruno Haible  <bruno@clisp.org>
413         vasnprintf: Avoid warnings from GCC's -Wsign-compare.
414         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is> in
415         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00105.html>.
416         * lib/vasnprintf.c (VASNPRINTF): Cast 'count' from 'int' to
417         'unsigned int' before comparison with an unsigned value.
419 2018-09-30  Bruno Haible  <bruno@clisp.org>
421         grantpt: Remove unnecessary dependency.
422         * modules/grantpt (Depends-on): Remove 'builtin-expect'.
424 2018-09-30  Bruno Haible  <bruno@clisp.org>
426         timevar: Small tweaks.
427         * lib/timevar.h: Fix comments. Add parameter names to function
428         declarations.
429         * lib/timevar.c: Include timevar.h immediately after config.h.
430         * lib/timevar.def: Fix comments.
431         * modules/timevar (Maintainer): List Akim Demaille.
433 2018-09-30  Bruno Haible  <bruno@clisp.org>
435         timevar: Include documentation in gnulib manual.
436         * doc/timevar.texi: Change node and section name to 'Profiling of
437         program phases'.
438         In the code snippets, tweak the #includes and use GNU coding style.
439         * doc/gnulib.texi: Include timevar.texi.
441 2018-09-27  Akim Demaille  <akim@lrde.epita.fr>
443         timevar: import from Bison.
444         * m4/timevar.m4, modules/timevar, lib/timevar.h, lib/timevar.c:
445         New files.
446         * lib/timevar.def: New file.
447         * doc/timevar.texi: New file.
449 2018-09-26  Bruno Haible  <bruno@clisp.org>
451         javacomp-script, javacomp: Add preliminary support for Java 12..17.
452         * m4/javacomp.m4 (gt_JAVACOMP): Treat Java versions 12..17 like 11.
453         * lib/javacomp.c (default_target_version): Likewise.
455 2018-09-26  Bruno Haible  <bruno@clisp.org>
457         javacomp-script, javacomp: Add support for Java 11.
458         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 11 and
459         target-version 11.
460         * lib/javaversion.h: Update comments.
461         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
462         source_version_index, get_goodcode_snippet, get_failcode_snippet,
463         TARGET_VERSION_BOUND, target_version_index,
464         corresponding_classfile_version): Accept source_version 11 and
465         target_version 11.
466         * lib/javacomp.h: Update comments accordingly.
468 2018-09-23  Bruno Haible  <bruno@clisp.org>
470         vasnprintf: Fix heap memory overrun bug.
471         Reported by Ben Pfaff <blp@cs.stanford.edu> in
472         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00107.html>.
473         * lib/vasnprintf.c (convert_to_decimal): Allocate one more byte of
474         memory.
475         * tests/test-vasnprintf.c (test_function): Add another test.
477 2018-09-19  Paul Eggert  <eggert@cs.ucla.edu>
479         maint: mktime.c now shared with glibc
480         * config/srclist.txt: intprops.h, timegm.c and mktime.c
481         are now the same in Gnulib and glibc.
483         mktime: fix _LIBC typo
484         * lib/mktime.c (mktime): Fix typo (misspelled "_LIBC").
486 2018-09-19  Norihiro Tanaka  <noritnk@kcn.ne.jp>
488         dfa: optimization for state merge
489         * lib/dfa.c (merge2): New function.
490         (merge_nfa_state): Use it.
492 2018-09-18  Jim Meyering  <meyering@fb.com>
494         dfa: trivial comment fix: s/is/if/
495         * lib/dfa.c (maybe_disable_superset_dfa): Fix comment typo.
497 2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>
499         dfa: use more-informative function name
500         * lib/dfa.c (maybe_disable_superset_dfa):
501         Rename from dfautf8noss.  Use change.
503         dfa: tweak allocation performance
504         * lib/dfa.c (merge_nfa_state, dfaoptimize):
505         Prefer ptrdiff_t for indexes some more.
506         Use char for flags, as it’s wide enough.
507         Allocate queue and flags together, with one malloc call.
508         No need to use xnmalloc since the multiplication and
509         addition cannot overflow (it’s already been checked by
510         earlier allocation).  Prefer memset to open-coding.
512         dfa: prune states as we go
513         * lib/dfa.c (prune): Remove.
514         dfa: reorder enum for efficiency
515         (merge_nfa_state): Prune as we go instead of at the end.
516         Prefer ptrdiff_t for indexes, as this helps the compiler a bit.
518         * lib/dfa.c (END): Now -1 again.  Reorder other elements
519         of the enumeration to make it easier for GCC to generate
520         efficient code by using fewer comparisons to check for
521         ranges of values.
522         (atom): Take advantage of the reordering.
524 2018-09-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
526         dfa: optimize alternation in NFA
527         Even when similar states exist in alternation, the DFA treats them
528         as separate items, which may complicate the transition in NFA and
529         cause slowdown.  This change assembles the states into one.  For
530         example, ab|ac is changed into a(b|c).  This change speeds-up
531         matching for many branched patterns.  For example, grep speeds up
532         more than 30× in:
534           seq 10000 | sed 's/$/ abcdefghijklmnopqrstuvwxyz/; s/$/./' >in
535           time -p env LC_ALL=C grep -vf in in
537         * lib/dfa.c (prune): New function.
538         (merge_nfa_state): New function.  It merges similar NFA states.
539         (dfaoptimize): New function.  It seeks merged and removed nodes.
540         (dfaanalyze): Call new function.
541         (dfautf8noss): Change name from dfaoptimize because of addition of new
542         function.
543         (dfacomp): Update caller.
545         dfa: simplify initial state
546         Simplifying the initial state enables easier optimization of the NFA.
547         * lib/dfa.c (enum token): Add new element BEG.
548         (prtok): Adjust due to adding element BEG.
549         (dfaparse): Put BEG at a head of tokens.
550         (state_index): Adjust due to adding element BEG.
551         (dfaanalyze): Concatenate BEG to other tokens, and simplify to
552         build initial state.
553         (dfamust): Adjust due to adding element BEG.  DFAMUST ignores it.
555 2018-09-18  Bruno Haible  <bruno@clisp.org>
557         file-has-acl: Fix test failure on Cygwin 2.9.
558         * m4/acl.m4 (gl_FUNC_ACL): Update comments regarding Cygwin.
559         * lib/acl-internal.h: Likewise.
560         (HAVE_ACL_EXTENDED_FILE): Undefine on Cygwin.
561         * lib/acl-internal.c: Update comments regarding Cygwin.
562         * lib/acl_entries.c: Likewise.
563         * lib/file-has-acl.c: Likewise.
564         (file_has_acl): For Cygwin, use a different way to determine whether
565         the "default" ACL of a directory is nontrivial.
566         * lib/get-permissions.c: Update comments regarding Cygwin.
567         * lib/set-permissions.c: Likewise.
569 2018-09-18  Bruno Haible  <bruno@clisp.org>
571         stat-time tests: Fix test failure on Cygwin.
572         * tests/nap.h (nap_get_stat): Treat Cygwin like native Windows.
574 2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>
576         doc: OS X 10.11 lacked ns time functions
577         According to <https://github.com/zeromq/libzmq/issues/2175>,
578         nanosecond-resolution timestamp functions were introduced
579         in macOS 10.12, so document the last version (OS X 10.11)
580         where they were absent.
582         gettime: nanotime never existed
583         Problem reported by Bruno Haible in:
584         https://lists.gnu.org/r/bug-gnulib/2018-09/msg00082.html
585         * lib/gettime.c (gettime) [HAVE_NANOTIME]: Remove unused code.
586         * m4/gettime.m4 (gl_GETTIME): Don’t check for nanotime.
588 2018-09-18  Bruno Haible  <bruno@clisp.org>
590         doc: Update statement about target platforms.
591         Reported by Simon Sobisch.
592         * doc/gnulib-intro.texi (Target Platforms): Update. Mention
593         restrictions on MSVC versions.
595 2018-09-18  Bruno Haible  <bruno@clisp.org>
597         posix_spawn tests: Fix link error on 64-bit Cygwin.
598         * tests/test-posix_spawn1.c (environ): Remove declaration.
599         * tests/test-posix_spawn2.c (environ): Likewise.
600         * tests/test-posix_spawn3.c (environ): Likewise.
601         * tests/test-posix_spawn4.c (environ): Likewise.
602         * modules/posix_spawn-tests (Depends-on): Add 'environ'.
603         * modules/posix_spawnp-tests (Depends-on): Likewise.
605 2018-09-16  Paul Eggert  <eggert@cs.ucla.edu>
607         timespec: new function current_timespec
608         * lib/gettime.c (gettime): Prefer clock_gettime to nanotime,
609         and don’t worry about it failing on a CLOCK_REALTIME arg.
610         POSIX requires it to succeed and I don’t know of any
611         counterexamples where the fallbacks would work.
612         (current_timespec): New function, taken from Emacs.  It is more
613         convenient than gettime, and can help register allocation.
614         * lib/timespec.h: Include arg-nonnull.h.
615         (current_timespec): New declaration.
616         (gettime, settime): Declare args to be nonnull.
617         * modules/timespec (Depends-on): Add snippet/arg-nonnull.
619 2018-09-16  Bruno Haible  <bruno@clisp.org>
621         setlocale: Improve locale handling on macOS 10.12 or newer.
622         * lib/setlocale.c: Include header files for CoreFoundation. Declare
623         gl_locale_name_canonicalize.
624         (libintl_setlocale): Try harder to set a locale for categories LC_CTYPE
625         and LC_MESSAGES.
626         * m4/setlocale.m4 (gl_PREREQ_SETLOCALE): Add comment.
628 2018-09-16  Bruno Haible  <bruno@clisp.org>
630         Update list of locale names with scripts on macOS.
631         * lib/localename.c (gl_locale_name_canonicalize): Update tables to
632         match Mac OS X 10.13 and recent glibc.
634 2018-09-16  Bruno Haible  <bruno@clisp.org>
636         gettext: Use newer macOS APIs when possible.
637         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Check for
638         CFLocaleCopyPreferredLanguages.
640 2018-09-16  Bruno Haible  <bruno@clisp.org>
642         localename: Revisit macOS specific code.
643         * lib/localename.c (gl_locale_name_default): Reduce code duplication.
644         Fix comments about Mac OS X versions.
646 2018-09-15  Bruno Haible  <bruno@clisp.org>
648         setlocale: Improve support for locales not supported by libc.
649         Reported by Dapeng Gao <peter@dpgao.cc> at
650         <https://savannah.gnu.org/bugs/?54479>.
651         * gettext-runtime/intl/setlocale.c: Include <stdio.h>.
652         (libintl_setlocale): Use a more error-tolerant strategy when the locale
653         to be set is not supported by libc: Emit warnings instead of failing.
655 2018-09-15  Bruno Haible  <bruno@clisp.org>
657         strstr, strcasestr: Add workaround against glibc-2.28 bug.
658         Reported by Michael Brunnbauer via Siddhesh Poyarekar and Eric Blake.
659         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Set
660         gl_cv_func_strstr_works_always to 'no' on glibc 2.28.
661         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Set
662         gl_cv_func_strcasestr_works_always to 'no' on glibc 2.28.
663         * doc/posix-functions/strstr.texi: Document the glibc 2.28 bug.
664         * doc/glibc-functions/strcasestr.texi: Likewise.
666 2018-09-14  Bruno Haible  <bruno@clisp.org>
668         doc: Fix bottom of top-level page.
669         Reported by Akim Demaille <akim.demaille@gmail.com> in
670         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00072.html>.
671         * doc/pastposix-functions/index.texi: Rename node to '_index' in HTML
672         mode.
673         * doc/gnulib.texi (Legacy Function Substitutes): Update menu
674         accordingly.
676 2018-09-12  Bruno Haible  <bruno@clisp.org>
678         Add test case from a recent glibc bug.
679         * tests/test-strstr.c (main): Add test of long needle.
680         * tests/test-strcasestr.c (main): Likewise.
681         * tests/test-c-strstr.c (main): Likewise.
682         * tests/test-c-strcasestr.c (main): Likewise.
683         * tests/test-memmem.c (main): Likewise.
685 2018-09-12  Bruno Haible  <bruno@clisp.org>
687         Apply Eric Blake's improvements from 2011-02-25 to more tests.
688         * tests/test-c-strstr.c (main): Add the same tests here as well.
690 2018-09-12  Bruno Haible  <bruno@clisp.org>
692         Apply Jim Meyering's fix from 2015-01-11 to more tests.
693         * tests/test-memmem.c (main): Free haystack.
694         * tests/test-strcasestr.c (main): Likewise.
695         * tests/test-c-strcasestr.c (main): Likewise.
697 2018-09-11  Paul Eggert  <eggert@cs.ucla.edu>
699         xstrtol: fix missing-TYPE_SIGNED typo
700         * lib/xstrtol.c (TYPE_SIGNED): New macro, duplicating intprops.h.
702 2018-09-10  Paul Eggert  <eggert@cs.ucla.edu>
704         timespec: fix resolution confusion
705         In normal usage, clock resolution is given in seconds, but the
706         code was mistakenly using inverse seconds and calling it
707         “resolution”.  Fix this, partly by renaming two identifiers.
708         The old names will be kept for a bit, to ease transition.
709         * lib/timespec.h (TIMESPEC_HZ, LOG10_TIMESPEC_HZ):
710         New constants, replacing TIMESPEC_RESOLUTION and
711         LOG10_TIMESPEC_RESOLUTION, which are now obsolescent.
712         All uses changed.
714 2018-09-09  Paul Eggert  <eggert@cs.ucla.edu>
716         mktime: simplify in prep for glibc merge
717         * lib/mktime.c, lib/timegm.c [_LIBC]:
718         Include mktime-internal.h (a small file just for glibc)
719         instead of using a typedef.
721 2018-09-07  Paul Eggert  <eggert@cs.ucla.edu>
723         intprops: minor clarification of code
724         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW):
725         Use _GL_INT_CONVERT rather than reinventing it.
727 2018-09-07  Bruno Haible  <bruno@clisp.org>
729         Fix a comment.
730         * tests/test-posix_spawn3.c (parent_main): Fix typo in comment.
732 2018-09-07  Bruno Haible  <bruno@clisp.org>
734         posix_spawn_file_actions_addchdir: Add tests.
735         * tests/test-posix_spawn_file_actions_addchdir.c: New file.
736         * tests/test-posix_spawn4.c: New file.
737         * modules/posix_spawn_file_actions_addchdir-tests: New file.
739 2018-09-07  Bruno Haible  <bruno@clisp.org>
741         posix_spawn_file_actions_addchdir: New module.
742         Suggested by Eric Blake in
743         <https://lists.gnu.org/archive/html/bug-findutils/2018-09/msg00007.html>.
744         * lib/spawn.in.h (posix_spawn_file_actions_addchdir): New declaration.
745         * lib/spawn_int.h (struct __spawn_action): Add tag 'spawn_do_chdir' and
746         union member 'chdir_action'.
747         * lib/spawn_faction_addchdir.c: New file.
748         * lib/spawni.c (__spawni): Implement the spawn_do_chdir action.
749         * lib/spawn_faction_addclose.c: Test REPLACE_POSIX_SPAWN instead of
750         HAVE_WORKING_POSIX_SPAWN.
751         * lib/spawn_faction_adddup2.c: Likewise.
752         * lib/spawn_faction_addopen.c: Likewise.
753         * m4/posix_spawn_faction_addchdir.m4: New file.
754         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether module
755         'posix_spawn_file_actions_addchdir' is present and whether
756         posix_spawn_file_actions_addchdir_np exists. Define REPLACE_POSIX_SPAWN
757         instead of HAVE_WORKING_POSIX_SPAWN.
758         * m4/spawn_h.m4 (gl_SPAWN_H): Test whether
759         posix_spawn_file_actions_addchdir is declared.
760         (gl_SPAWN_H_DEFAULTS): Initialize
761         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
762         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
763         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
764         * modules/spawn (Makefile.am): Substitute
765         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
766         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
767         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
768         * modules/posix_spawn_file_actions_addchdir: New file.
769         * modules/posix_spawn_file_actions_addclose (Depends-on,
770         configure.ac): Test also REPLACE_POSIX_SPAWN.
771         * modules/posix_spawn_file_actions_adddup2 (Depends-on,
772         configure.ac): Likewise.
773         * modules/posix_spawn_file_actions_addopen (Depends-on,
774         configure.ac): Likewise.
775         * tests/test-spawn-c++.cc (posix_spawn_file_actions_addchdir): Check
776         signature.
777         * doc/posix-functions/posix_spawn.texi: Mention the new module.
778         * doc/posix-functions/posix_spawnp.texi: Likewise.
780 2018-09-06  Bruno Haible  <bruno@clisp.org>
782         stddef: Override max_align_t on NetBSD 8.0/x86.
783         * m4/stddef_h.m4 (gl_STDDEF_H): When testing for max_align_t, test also
784         the value of __alignof__ (max_align_t).
785         * doc/posix-headers/stddef.texi: Mention the issue.
787 2018-09-06  Bruno Haible  <bruno@clisp.org>
789         fcntl: Fix F_DUPFD_CLOEXEC behaviour on Haiku.
790         * lib/fcntl.c (rpl_fcntl): For F_DUPFD_CLOEXEC, don't even try the
791         system fcntl.
792         * doc/posix-functions/fcntl.texi: Document the issue.
794 2018-09-06  Bruno Haible  <bruno@clisp.org>
796         count-trailing-zeros tests: Rely on limits-h module.
797         * tests/test-count-trailing-zeros.c (ULLONG_MAX): Remove fallback
798         definition.
799         * modules/count-trailing-zeros-tests (Depends-on): Add 'limits-h'.
801 2018-09-06  Bruno Haible  <bruno@clisp.org>
803         count-leading-zeros tests: Rely on limits-h module.
804         * tests/test-count-leading-zeros.c (ULLONG_MAX): Remove fallback
805         definition.
806         * modules/count-leading-zeros-tests (Depends-on): Add 'limits-h'.
808 2018-09-06  Bruno Haible  <bruno@clisp.org>
810         count-one-bits tests: Rely on limits-h module.
811         * tests/test-count-one-bits.c (ULLONG_MAX): Remove fallback definition.
812         * modules/count-one-bits-tests (Depends-on): Add 'limits-h'.
814 2018-09-06  Bruno Haible  <bruno@clisp.org>
816         xstrtoll: Rely on limits-h module.
817         * lib/xstrtol.c: Don't include intprops.h.
818         (ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
819         * modules/xstrtol (Depends-on): Remove 'intprops'.
820         * modules/xstrtoll (Depends-on): Add 'limits-h'.
822 2018-09-06  Bruno Haible  <bruno@clisp.org>
824         strtoll, strtoull: Rely on limits-h module.
825         * lib/strtol.c (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove macros.
826         (ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
827         * modules/strtoll (Depends-on): Add limits-h.
828         * modules/strtoull (Depends-on): Likewise.
830 2018-09-06  Bruno Haible  <bruno@clisp.org>
832         intprops tests: Fix compilation error with pre-C99 compiler.
833         * tests/test-intprops.c (verify_stmt): New macro.
834         (VERIFY, main): Use it.
836 2018-09-06  Bruno Haible  <bruno@clisp.org>
838         limits-h: Provide numerical limits macros.
839         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define also for
840         IRIX and for GCC.
841         (WORD_BIT, LONG_BIT): Define.
842         * m4/limits-h.m4 (gl_LIMITS_H): Set LIMITS_H to non-empty also when
843         <limits.h> does not define LLONG_MAX or WORD_BIT.
844         * tests/test-limits-h.c (TYPE_SIGNED, TYPE_WIDTH, TYPE_MINIMUM,
845         TYPE_MAXIMUM): New macros, from intprops.h.
846         Add tests for CHAR_BIT, WORD_BIT, LONG_BIT, <type>_MIN, and <type>_MAX.
847         * doc/posix-headers/limits.texi: Document what the 'limits-h' module
848         provides.
850 2018-09-05  Bruno Haible  <bruno@clisp.org>
852         fcntl: Don't access nonexistent optional argument.
853         Reported by Frank Busse <f.busse@imperial.ac.uk> in
854         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00018.html>.
855         * lib/fcntl.c (rpl_fcntl): For actions that don't take an argument,
856         don't consume an argument. For actions that take an 'int' argument,
857         consume an 'int' argument.
859 2018-09-05  Eric Blake  <eblake@redhat.com>
861         doc: mention environ pitfall
862         * doc/posix-functions/environ.texi (environ): Assigning NULL to
863         environ is a glibc extension.
865 2018-09-03  Bruno Haible  <bruno@clisp.org>
867         gnulib-tool: Fix build order when $testsbase is a subdir of $sourcebase.
868         Reported by Antoine Luong <antoine.luong@c-s.fr> in
869         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00008.html>.
870         * gnulib-tool (func_import): For the tests, set a dotfirst flag.
871         (func_emit_lib_Makefile_am): Consider the dotfirst flag.
872         (func_emit_tests_Makefile_am): Don't consider the dotfirst flag.
874 2018-09-02  Paul Eggert  <eggert@cs.ucla.edu>
876         mktime: fix unlikely race+overflow bug
877         Problem reported by Alexandre Oliva in:
878         https://sourceware.org/bugzilla/show_bug.cgi?id=16346
879         * lib/mktime.c (__mktime_internal): Access *OFFSET only once,
880         to avoid an unlikely race if the compiler delays a load and
881         if this cascades into a signed integer overflow.
883 2018-08-31  Paul Eggert  <eggert@cs.ucla.edu>
885         mktime, timegm: simplify glibc time64_t
886         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]:
887         Now long int, not time_t, since long int is the longstanding type
888         for this in glibc and there is no need to change it even if time_t
889         becomes 64 bits - even int would do, though this would be a change
890         to the glibc generated code.  When this change is merged into
891         glibc, it should simplify the time_t vs time64_t situation.
893         mktime, timegm: simplify merge to glibc
894         Move code around to make a merge to glibc easier to audit.
895         This should not change behavior.
896         * lib/mktime.c (NEED_MKTIME_INTERNAL, NEED_MKTIME_WINDOWS)
897         (NEED_MKTIME_WORKING): Give default values to pacify -Wundef,
898         which glibc uses.  Default NEED_MKTIME_WORKING to DEBUG_MKTIME, to
899         simplify later conditionals; default the others to zero.  In uses
900         of these conditionals, explicitly spell out how _LIBC affects
901         things, so it’s easier to review from a glibc viewpoint.
902         (my_tzset, __tzset) [!_LIBC]: New function and macro, to better
903         compartmentalize tzset issues.  Move system-dependent tzsettish
904         code here from mktime.
905         (mktime): Move tzsettish code to my_tzset, and move
906         localtime_offset to within mktime so that it doesn’t
907         need a separate ifdef.
909 2018-08-27  Paul Eggert  <eggert@cs.ucla.edu>
911         intprops: avoid evaluation of some expressions
912         This makes EXPR_SIGNED (e) easier to use, as it no longer
913         evaluates the expression E.  Formerly, E was required to be free
914         of side effects.
915         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT)
916         (EXPR_SIGNED, TYPE_WIDTH, _GL_INT_MINIMUM, _GL_INT_MAXIMUM)
917         (_GL_SIGNED_INT_MAXIMUM): Do not evaluate the expression arg.
919 2018-08-23  Bruno Haible  <bruno@clisp.org>
921         getcwd: Add cross-compilation guesses.
922         Reported by Sergio Durigan Junior <sergiodj@redhat.com> in
923         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00130.html>.
924         Based on a patch by Paul Eggert.
925         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Add cross-compilation
926         guesses for all GNU systems.
928 2018-08-19  Bruno Haible  <bruno@clisp.org>
930         glob-h: Formalize side effects from other modules.
931         * m4/glob_h.m4 (gl_REPLACE_GLOB_H): New macro.
932         * m4/glob.m4 (gl_GLOB): Invoke it.
934         fnmatch-h: Formalize side effects from other modules.
935         * m4/fnmatch_h.m4 (gl_REPLACE_FNMATCH_H): New macro.
936         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Invoke it.
938         limits-h: Formalize side effects from other modules.
939         * m4/limits-h.m4 (gl_REPLACE_LIMITS_H): New macro.
940         * m4/stdint.m4 (gl_STDINT_H): Invoke it.
942 2018-08-19  Bruno Haible  <bruno@clisp.org>
944         getpass: Move declaration to <unistd.h>.
945         * lib/unistd.in.h (getpass): New declaration.
946         * lib/getpass.h: Replace with a stub that just includes <unistd.h>.
947         * m4/getpass.m4 (gl_FUNC_GETPASS): Declare through AC_DEFUN_ONCE.
948         Require gl_UNISTD_H_DEFAULTS. Don't test whether getpass is declared.
949         (gl_FUNC_GETPASS_GNU): Require gl_UNISTD_H_DEFAULTS and gl_FUNC_GETPASS.
950         On glibc systems, don't set REPLACE_GETPASS to 1.
951         * modules/getpass (Depends-on): Add 'unistd'.
952         (configure.ac): Test also REPLACE_GETPASS. Define a module indicator.
953         (Include): Specify <unistd.h> instead of "getpass.h".
954         * modules/getpass-gnu (Depends-on): Merely depend on 'getpass'.
955         (configure.ac): Sync with the configure.ac section of modules/getpass.
956         (Include): Specify <unistd.h> instead of "getpass.h".
957         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether getpass is declared.
958         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPASS, HAVE_GETPASS,
959         REPLACE_GETPASS.
960         * modules/unistd (Makefile.am): Substitute GNULIB_GETPASS, HAVE_GETPASS,
961         REPLACE_GETPASS.
962         * tests/test-unistd-c++.cc: Test also the declaration of 'getpass'.
963         * doc/glibc-functions/getpass.texi: A length limit exists also on uClibc
964         and musl.
965         * NEWS: Mention the change.
967 2018-08-19  Bruno Haible  <bruno@clisp.org>
969         glob: Fix over-optimization due to attribute __nonnull__.
970         * lib/glob.c (_GL_ARG_NONNULL): Define to empty.
972 2018-08-19  Bruno Haible  <bruno@clisp.org>
974         glob: Fix another compilation error when glob.h is not replaced.
975         Reported by Reuben Thomas <rrt@sc3d.org> in
976         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00112.html>.
977         * m4/glob.m4 (gl_GLOB): Set GLOB_H to non-empty when needed.
978         * m4/glob_h.m4 (gl_GLOB_H): Define through AC_DEFUN_ONCE.
980 2018-08-18  Bruno Haible  <bruno@clisp.org>
982         fnmatch: Avoid conflicting macro definitions of 'fnmatch'.
983         Reported by Reuben Thomas <rrt@sc3d.org> in
984         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00108.html>.
985         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Don't define 'fnmatch' as a macro
986         in config.h.
988 2018-08-18  Bruno Haible  <bruno@clisp.org>
990         Avoid -Wcast-function-type warnings from casts after GetProcAddress.
991         Reported by Andy Moreton <andrewjmoreton@gmail.com> in
992         <https://lists.gnu.org/archive/html/emacs-devel/2018-08/msg00468.html>.
993         Solution proposed by Eli Zaretskii.
994         * lib/getaddrinfo.c (GetProcAddress): Cast result to 'void *' first.
995         * lib/gettimeofday.c (GetProcAddress): Likewise.
996         * lib/link.c (GetProcAddress): Likewise.
997         * lib/physmem.c (GetProcAddress): Likewise.
998         * lib/poll.c (GetProcAddress): Likewise.
999         * lib/select.c (GetProcAddress): Likewise.
1000         * lib/stat-w32.c (GetProcAddress): Likewise.
1002 2018-08-18  Bruno Haible  <bruno@clisp.org>
1004         glob: Fix another compilation error when glob.h is not replaced.
1005         Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> again.
1006         * lib/globfree.c: Include <libc-config.h>.
1008 2018-08-18  Bruno Haible  <bruno@clisp.org>
1010         glob: Fix compilation error when glob.h is not replaced.
1011         Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> in
1012         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00096.html>.
1013         * lib/glob_pattern_p.c: Include <libc-config.h>.
1014         * modules/glob (Depends-on): Add libc-config.
1016 2018-08-18  Bruno Haible  <bruno@clisp.org>
1018         scratch_buffer: Add tests.
1019         * tests/test-scratch-buffer.c: New file.
1020         * modules/scratch_buffer-tests: New file.
1022 2018-08-18  Bruno Haible  <bruno@clisp.org>
1024         scratch_buffer: Fix include file.
1025         Reported by Reuben Thomas <rrt@sc3d.org> in
1026         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00082.html>.
1027         * lib/scratch_buffer.h: Include <libc-config.h> first. Add
1028         double-inclusion guard.
1030 2018-08-18  Bruno Haible  <bruno@clisp.org>
1032         glob-h: Revert Paul Eggert's revert.
1033         * m4/glob_h.m4: Revert to previous state.
1034         * modules/glob-h: Likewise.
1036 2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>
1038         glob-h: always build glob.h
1039         This works around a problem reported by Reuben Thomas in:
1040         http://lists.gnu.org/r/bug-gnulib/2018-08/msg00079.html
1041         This workaround always builds glob.h, even on platforms that
1042         do not need it; perhaps this could be improved someday.
1043         * m4/glob_h.m4 (gl_GLOB_H): Do not set or use GLOB_H, since glob.h
1044         is always created now.
1045         * modules/glob-h (BUILT_SOURCES, glob.h): Always build glob.h.
1047 2018-08-13  Bruno Haible  <bruno@clisp.org>
1049         monetary: Simplify m4 code.
1050         * m4/monetary_h.m4 (gl_MONETARY_H): Define through AC_DEFUN_ONCE.
1051         (gl_MONETARY_H_BODY): Inline into gl_MONETARY_H. Remove macro.
1053 2018-08-13  Bruno Haible  <bruno@clisp.org>
1055         fnmatch, fnmatch-gnu: Fix compilation error on Mac OS X.
1056         Reported by Jeroen Meijer <jjgmeijer@gmail.com> in
1057         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00046.html>
1058         and by Paul J. Lucas <paul@lucasmail.org> in
1059         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00069.html>.
1060         * m4/fnmatch_h.m4 (gl_FNMATCH_H): Define through AC_DEFUN_ONCE.
1062 2018-08-11  Bruno Haible  <bruno@clisp.org>
1064         setlocale: Trivial simplification.
1065         * lib/setlocale.c (setlocale_unixlike): Remove redundant #if.
1067 2018-08-11  Paul Eggert  <eggert@cs.ucla.edu>
1069         verify: port 'assume' to traditional tools
1070         * lib/verify.h (assume): Port better to Oracle Studio 12.6
1071         and other tools that use /*NOTREACHED*/ comments.
1073 2018-08-10  Bruno Haible  <bruno@clisp.org>
1075         fnmatch-gnu: Fix compilation error in C++ namespace mode on Mac OS X.
1076         * modules/fnmatch-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
1077         * lib/fnmatch.in.h (fnmatch): Skip _GL_CXXALIASWARN if module
1078         'fnmatch-gnu' is in use.
1080 2018-08-07  Bruno Haible  <bruno@clisp.org>
1082         glob-h: Add tests.
1083         * tests/test-glob-h.c: New file, partially based on tests/test-glob.c.
1084         * tests/test-glob.c: Reorder #includes. Remove tests that are moved to
1085         tests/test-glob-h.c.
1086         * modules/glob-h-tests: New file.
1087         * tests/test-glob-h-c++.cc: Renamed from tests/test-glob-c++.cc. Add
1088         conditions.
1089         * modules/glob-h-c++-tests: Renamed from modules/glob-c++-tests.
1090         * modules/glob-tests (Depends-on): Remove glob-c++-tests.
1092 2018-08-07  Bruno Haible  <bruno@clisp.org>
1094         glob-h: New module.
1095         * lib/glob.in.h: Use nearly the usual gnulib idioms for header file
1096         replacements.
1097         * lib/glob.c: Include <config.h>.
1098         * m4/glob_h.m4: New file.
1099         * m4/glob.m4 (gl_GLOB): Require gl_GLOB_H. Remove code that is moved to
1100         glob_h.m4. Set HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
1101         REPLACE_GLOB_PATTERN_P as appropriate.
1102         (gl_PREREQ_GLOB): Don't require AC_C_RESTRICT and
1103         AC_USE_SYSTEM_EXTENSIONS, now done through module 'glob-h'.
1104         * modules/glob-h: New file.
1105         * modules/glob (Files): Remove lib/glob.in.h, lib/glob-libc.h.
1106         (Dependencies): Add glob-h. Remove extensions, snippet/*, libc-config,
1107         lstat, sys_stat. Change conditions.
1108         (configure.ac): Test HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
1109         REPLACE_GLOB_PATTERN_P. Set module indicator.
1110         (Makefile.am): Remove code that is moved to glob-h.
1111         * doc/posix-headers/glob.texi: Mention the 'glob-h' module.
1112         * modules/posixcheck (Depends-on): Add glob-h.
1114 2018-08-06  Bruno Haible  <bruno@clisp.org>
1116         Force generation of substitute .h file when C++ support is enabled.
1117         * m4/ansi-c++.m4 (gl_ANSI_CXX): New macro.
1118         * modules/ansi-c++-opt (configure.ac): Just require gl_ANSI_CXX.
1119         * m4/fnmatch_h.m4 (gl_FNMATCH_H): If C++ support is enabled, set
1120         FNMATCH_H to non-empty.
1121         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If C++ support is enabled, set
1122         ICONV_H to non-empty.
1123         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If C++ support is enabled, set
1124         MONETARY_H to non-empty.
1125         * m4/utime_h.m4 (gl_UTIME_H): If C++ support is enabled, set UTIME_H to
1126         non-empty.
1128 2018-08-06  Bruno Haible  <bruno@clisp.org>
1130         fnmatch-h: Fix test compilation error on mingw (regression from today).
1131         * lib/fnmatch.in.h: Fix conditions.
1133 2018-08-06  Bruno Haible  <bruno@clisp.org>
1135         sys_resource: Relicense under LGPLv2+.
1136         John Malmberg's approval is in
1137         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00031.html>.
1138         * modules/sys_resource (License): Change to LGPLv2+.
1140 2018-08-06  Bruno Haible  <bruno@clisp.org>
1142         fnmatch-h: Add tests.
1143         * tests/test-fnmatch-h.c: New file.
1144         * modules/fnmatch-h-tests: New file.
1145         * tests/test-fnmatch-h-c++.cc: New file.
1146         * modules/fnmatch-h-c++-tests: New file.
1148 2018-08-06  Bruno Haible  <bruno@clisp.org>
1150         fnmatch-h: New module.
1151         * lib/fnmatch.in.h: Use the usual gnulib idioms for header file
1152         replacements.
1153         (FNM_*): Don't redefine if fnmatch exists and we are not overriding it.
1154         (fnmatch): Use the usual gnulib idiom for function declarations. Enable
1155         'posixcheck' warning.
1156         * m4/fnmatch_h.m4: New file.
1157         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Require gl_FNMATCH_H. Remove
1158         code that is moved to fnmatch_h.m4. When fnmatch does not exist, don't
1159         bother testing whether it is working. Set HAVE_FNMATCH, REPLACE_FNMATCH
1160         as appropriate.
1161         * modules/fnmatch-h: New file.
1162         * modules/fnmatch (Files): Remove lib/fnmatch.in.h.
1163         (Dependencies): Add fnmatch-h. Remove extensions, snippet/*. Change
1164         conditions.
1165         (configure.ac): Test HAVE_FNMATCH and REPLACE_FNMATCH. Set module
1166         indicator.
1167         (Makefile.am): Remove code that is moved to fnmatch-h.
1168         * modules/fnmatch-gnu (configure.ac): Test HAVE_FNMATCH and
1169         REPLACE_FNMATCH.
1170         * doc/posix-headers/fnmatch.texi: Mention the 'fnmatch-h' module.
1171         * modules/posixcheck (Depends-on): Add fnmatch-h.
1173 2018-08-06  Bruno Haible  <bruno@clisp.org>
1175         Enable more C++ tests.
1176         * modules/inttypes-tests (Depends-on): Add inttypes-c++-tests.
1177         * modules/monetary-tests (Depends-on): Add monetary-c++-tests.
1178         * modules/strings-tests (Depends-on): Add strings-c++-tests.
1179         * modules/sys_resource-tests (Depends-on): Add sys_resource-c++-tests.
1180         * modules/utime-h-tests (Depends-on): Add utime-h-c++-tests.
1182 2018-08-06  Bruno Haible  <bruno@clisp.org>
1184         getopt-posix, utime-h: Ensure the .h file gets regenerated when needed.
1185         * modules/getopt-posix (Makefile.am): Add Makefile dependency for
1186         getopt.h.
1187         * modules/utime-h (Makefile.am): Add Makefile dependency for utime.h.
1189 2018-08-05  Bruno Haible  <bruno@clisp.org>
1191         utime-h: Generate header file when module 'posixcheck' is in use.
1192         * m4/utime_h.m4 (gl_UTIME_H): If module 'posixcheck' is in use, set
1193         UTIME_H to non-empty.
1195 2018-08-05  Bruno Haible  <bruno@clisp.org>
1197         monetary: Generate header file when module 'posixcheck' is in use.
1198         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If module 'posixcheck' is in
1199         use, set MONETARY_H to non-empty.
1201 2018-08-05  Bruno Haible  <bruno@clisp.org>
1203         iconv-h: Generate header file when module 'posixcheck' is in use.
1204         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If module 'posixcheck' is in use,
1205         set ICONV_H to non-empty.
1207 2018-08-05  Bruno Haible  <bruno@clisp.org>
1209         Optimize the "checking whether ... is declared without a macro" checks.
1210         Suggested by Paul Eggert in
1211         <https://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00339.html>.
1212         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Expand to nothing if the
1213         Gnulib module 'posixcheck' is not in use.
1215 2018-08-05  Bruno Haible  <bruno@clisp.org>
1217         iconv-h: Enable 'posixcheck' warnings.
1218         * m4/iconv_h.m4 (gl_ICONV_H): Check for declarations of iconv and
1219         iconv_open.
1220         * lib/iconv.in.h (iconv_open, iconv): Use _GL_WARN_ON_USE.
1222 2018-08-05  Bruno Haible  <bruno@clisp.org>
1224         Fix link error regarding 'rpl_environ' (regression from 2012-11-21).
1225         * m4/extern-inline.m4: Add more comments.
1226         * lib/warn-on-use.h (_GL_WARN_ON_USE_ATTRIBUTE): New macro.
1227         * lib/unistd.in.h (rpl_environ): Use it instead of _GL_WARN_ON_USE.
1228         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL): Likewise.
1230 2018-08-04  Bruno Haible  <bruno@clisp.org>
1232         New module 'posixcheck'.
1233         * modules/posixcheck: New file.
1234         * m4/posixcheck.m4: New file.
1235         * doc/gnulib-tool.texi (Finding POSIX substitutes): New section.
1236         (Which modules?): Reference it.
1238 2018-08-01  Assaf Gordon <assafgordon@gmail.com>
1240         dfa: fix memory leak
1241         * lib/dfa.c (dfafree): Add missing free() on dfa->superset.
1243 2018-08-01  Paul Eggert  <eggert@cs.ucla.edu>
1245         ieee754-h: new module
1246         It looks like Emacs can use this for some NaN processing.
1247         Emacs uses it only on double NaNs so it should be safe.
1248         * MODULES.html.sh (func_all_modules): Add ieee754-h.
1249         * config/srclist.txt: Mention ieee754.h in a comment.
1250         * doc/glibc-headers/ieee754.texi (ieee754.h):
1251         Gnulib now has a substitute that should work
1252         except for long double and for non-IEEE platforms.
1253         * lib/ieee754.in.h, m4/ieee754-h.m4, modules/ieee754-h:
1254         * modules/ieee754-h-tests, tests/test-ieee754-h.c: New files.
1256 2018-07-27  Bruno Haible  <bruno@clisp.org>
1258         iswcntrl: Mention minor problem on macOS.
1259         * doc/posix-functions/iswcntrl.texi: Mention oddity on macOS.
1261 2018-07-26  Colin Watson  <cjwatson@debian.org>
1263         bootstrap, gnulib-tool: fix translations rsync
1264         Previously, we created files such as $pobase/Makefile.in.in and then the
1265         subsequent rsync would immediately delete them.
1266         * build-aux/bootstrap (po_download_command_format): Avoid deleting
1267         non-.po files in target directory when rsyncing translations.
1268         * gnulib-tool (func_import): Likewise.
1269         * pygnulib/GLImport.py (GLImport.execute): Likewise.
1271 2018-07-25  Jim Meyering  <meyering@fb.com>
1273         bootstrap: reinstate definition fo gnulib_mk.
1274         That variable is used at least by cppi.
1275         * build-aux/bootstrap (gnulib_mk): Restore definition.
1276         This reverts the deletion from v0.1-1844-gc66dba9ba.
1278 2018-07-23  Bruno Haible  <bruno@clisp.org>
1280         doc: For module names, use texinfo markup @code{} or @samp{}.
1281         * doc/alloca.texi: Mark gnulib module names with @code.
1282         * doc/alloca-opt.texi: Likewise.
1283         * doc/quote.texi: Likewise.
1284         * doc/posix-functions/freopen.texi: Likewise.
1285         * doc/posix-functions/open.texi: Likewise.
1286         * doc/posix-functions/readlink.texi: Likewise.
1287         * doc/posix-functions/readlinkat.texi: Likewise.
1288         * doc/posix-functions/stdout.texi: Likewise.
1289         * doc/posix-functions/stderr.texi: Likewise.
1290         * doc/posix-functions/unlink.texi: Likewise.
1291         * doc/posix-functions/unlinkat.texi: Likewise.
1292         * doc/posix-functions/utime.texi: Likewise.
1293         * doc/posix-functions/utimensat.texi: Likewise.
1294         * doc/posix-functions/utimes.texi: Likewise.
1295         * doc/posix-headers/stdint.texi: Likewise.
1296         * doc/glibc-functions/futimesat.texi: Likewise.
1297         * doc/glibc-functions/lutimes.texi: Likewise.
1298         * doc/glibc-functions/memmem.texi: Likewise.
1300 2018-07-23  Werner LEMBERG  <wl@gnu.org>
1302         doc: Avoid some overfull lines in the TeX output.
1303         * doc/glibc-functions/futimesat.texi: Replace a long @code with a
1304         @example.
1305         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Insert a
1306         newline before the long URL.
1307         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Likewise.
1308         * doc/relocatable-maint.texi: Use @smallexample instead of @example.
1309         Add line breaks in code snippets.
1311 2018-07-17  Paul Eggert  <eggert@cs.ucla.edu>
1313         hard-locale: simplify by removing hard-locale.m4
1314         * m4/hard-locale.m4: Remove.
1315         * modules/hard-locale (Files): Remove m4/hard-locale.m4.
1316         (configure.ac): Do not call gl_HARD_LOCALE.
1318         gnulib-tool: limit line length for git send-email
1319         * gnulib-tool (func_import): Break actioncmd log line
1320         into multiple lines.
1322 2018-07-16  Bruno Haible  <bruno@clisp.org>
1324         ffs: Ensure declaration on mingw.
1325         Reported by Daniel P. Berrangé <berrange@redhat.com>
1326         in https://lists.gnu.org/archive/html/bug-gnulib/2018-07/msg00061.html.
1327         * m4/ffs.m4 (gl_FUNC_FFS): Check whether ffs() not only exists but is
1328         also declared.
1330 2018-07-13  Paul Eggert  <eggert@cs.ucla.edu>
1332         regex-tests: add dependency
1333         * modules/regex-tests (Depends-on): Add gettext-h.
1334         This is needed given the recent changes to regex,
1335         which no longer depends on gettext-h.
1337 2018-07-06  Paul Eggert  <eggert@cs.ucla.edu>
1339         regex: now in sync with glibc
1340         * config/srclist.txt: Gnulib and glibc regex code
1341         are synchronized again.
1343 2018-07-05  Paul Eggert  <eggert@cs.ucla.edu>
1345         renameatu: rename from renameat2
1346         It's looking like Glibc will add a renameat2 function
1347         that is incompatible with Gnulib renameat2; see:
1348         https://sourceware.org/ml/libc-alpha/2018-07/msg00064.html
1349         To help avoid future confusion, rename renameat2 to something else.
1350         Use the name 'renameatu', as the Gnulib function is close to the
1351         Glibc function.  Perhaps someday there will also be a renameat2
1352         Gnulib module, which mimicks the future glibc renameat2, but that
1353         can wait as nobody seems to need such a module now.
1354         * NEWS: Mention this.
1355         * lib/renameatu.c: Rename from lib/renameat2.c.
1356         * lib/renameatu.h: Rename from lib/renameat2.h.
1357         * modules/renameatu: Rename from modules/renameat2.
1358         * modules/renameatu-tests: Rename from modules/renameat2-tests.
1359         All uses of "renameat2" in identifiers or file name
1360         changed to "renameatu", except for two instances in
1361         lib/renameatu.c that deal with the Linux kernel's
1362         renameat2 syscall.
1364 2018-07-04  Paul Eggert  <eggert@cs.ucla.edu>
1366         gnulib-tool: minor tweaks for --gnu-make
1367         * gnulib-tool: Do not allow --gnu-make in test modes,
1368         since they all require automake.
1369         (func_emit_lib_Makefile_am): Don’t emit automake comment
1370         if --gnu-make.
1372         regex: work around conditional-dependencies glitch
1373         * modules/regex (Depends-on): Add langinfo.
1374         Without this change, I had problems building an experimental
1375         version of GNU Emacs.  The symptom of the bug was a message
1376         ‘./configure: line 12726: test: =: unary operator expected’.
1377         This was due to a line in gl_FUNC_NL_LANGINFO that invokes
1378         ‘test $HAVE_LANGINFO_CODESET = 1’ even though HAVE_LANGINFO_CODESET
1379         was unset.  Although gl_FUNC_NL_LANGINFO has
1380         ‘AC_REQUIRE([gl_LANGINFO_H])’ and gl_LANGINFO_H always sets
1381         HAVE_LANGINFO_CODESET to 0 or 1, gnulib-tool with
1382         --conditional-dependencies sometimes arranges for the
1383         gl_FUNC_NL_LANGINFO code to be executed before the gl_LANGINFO_H
1384         code.  Since the regex code includes <langinfo.h> it should be
1385         depending on the langinfo module anyway, and this happens to work
1386         around the bug, so install that as a workaround for now.  To
1387         reproduce the original problem, run the following shell script on
1388         the version of Gnulib just before this patch was installed.
1389                 rm -fr foo
1390                 mkdir foo
1391                 cat >foo/configure.ac <<'EOF'
1392                 AC_INIT(GNU Emacs, 27.0.50, bug-gnu-emacs@gnu.org, , https://www.gnu.org/software/emacs/)
1393                 gl_EARLY
1394                 gl_INIT
1395                 AC_OUTPUT
1396                 EOF
1397                 ./gnulib-tool --import --conditional-dependencies --gnu-make --dir foo regex
1398                 ./gnulib-tool --copy build-aux/install-sh foo/install-sh
1399                 ./gnulib-tool --copy build-aux/config.sub foo/config.sub
1400                 ./gnulib-tool --copy build-aux/config.guess foo/config.guess
1401                 cd foo
1402                 aclocal -I m4
1403                 autoconf
1404                 ./configure --with-included-regex
1406 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
1408         wchar: fix bug when checking for ‘inline’
1409         I discovered this when looking into using the regex module
1410         with Emacs.
1411         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Fix bug introduced in
1412         2016-08-17T23:09:38Z!skunk@iSKUNK.ORG; the code compiled
1413         conftest1.c and conftest2.c but these files were not created.
1414         As far as I can see, this check never worked and nobody reported
1415         it until now, which is a bit worrisome.
1417 2018-06-30  Jim Meyering  <meyering@fb.com>
1419         bootstrap: s/--option val/--option=val/
1420         * build-aux/bootstrap (gnulib_tool_options): Change the
1421         spelling of "--option val" pairs to "--option=val", for
1422         aesthetics, and also so that this file no longer triggers
1423         a common help2man syntax-check warning when copied into
1424         projects like grep, gzip, etc.
1426 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
1428         manywarnings: omit -Wswitch-default
1429         This should make things more consistent, as we already ignore
1430         -Wswitch-enum.  Problem reported by Reuben Thomas; see:
1431         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00179.html
1432         * build-aux/g++-warning.spec, build-aux/gcc-warning.spec:
1433         Add -Wswitch-default.
1434         * m4/manywarnings-c++.m4 (gl_MANYWARN_ALL_GCC_CXX_IMPL):
1435         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
1436         Remove -Wswitch-default.
1438         regex: revert most trimming
1439         Problems reported by Bruno Haible in:
1440         https://lists.gnu.org/r/bug-gnulib/2018-07/msg00001.html
1441         * modules/regex (Depends-on): Add lock, memcmp, memmove,
1442         and wctype back in.  lock because regex users shouldn’t
1443         need to know that regex needs locking, and the rest because
1444         gnulib-tool should ordinarily ignore them anyway.
1446 2018-06-30  Paul Eggert  <eggert@cs.ucla.edu>
1448         regex: trim module dependencies
1449         * modules/regex (Depends-on): Remove gettext-h and lock,
1450         since the regex code should work OK without these modules,
1451         and Emacs uses it that way.  Also remove memcmp, memmove,
1452         and wctype, as these modules are obsolete and should not be
1453         needed any more.
1455 2018-06-29  Paul Eggert  <eggert@cs.ucla.edu>
1457         regex: glibc does not use intprops.h
1458         Maybe we can talk glibc into using intprops.h someday, but
1459         now doesn’t seem to be a good time.
1460         * lib/regcomp.c (TYPE_SIGNED): Remove; regex_internal.h now defines.
1461         * lib/regex_internal.h [_LIBC]: Do not include intprops.h.
1462         (TYPE_SIGNED, INT_ADD_WRAPV): New macros.
1464 2018-06-28  Paul Eggert  <eggert@cs.ucla.edu>
1466         regex: port to recently proposed glibc regex merge
1467         This patch is inspired by Adhemerval Zanella's recent proposal
1468         https://www.sourceware.org/ml/libc-alpha/2018-06/msg00905.html
1469         to merge glibc and Gnulib regex.  It aims to simplify the merge on
1470         the glibc side, without keeping Gnulib portable.
1471         * lib/regex.h: Fix a problem with glibc installed-header checking,
1472         as follows:
1473         (_Restrict_): Prefer __restrict if defined or if GCC 2.95 or later.
1474         (_Restrict_arr_): Prefer __restrict_arr if defined,
1475         otherwise prefer _Restrict_ if C99 or GCC 3.1 or later (but not C++).
1476         * lib/regex_internal.c (re_string_realloc_buffers, build_wcs_buffer)
1477         (build_wcs_upper_buffer, build_upper_buffer)
1478         (re_string_translate_buffer, re_string_context_at):
1479         Move decls here from lib/regex_internal.h, for glibc internal tests.
1480         (build_wcs_upper_buffer): Use __wcrtomb, not wcrtomb, fixing
1481         glibc BZ #18496.
1482         * lib/regex_internal.h (lock_fini) [_LIBC]: Cast to 0 to pacify
1483         -Wunused-value.
1484         (bitset_set, bitset_clear, bitset_contain, bitset_empty)
1485         (bitset_set_all, bitset_copy, bitset_not, bitset_merge)
1486         (bitset_mask): Now static inline, and without any __attribute__
1487         ((unused)) decoration, for glibc internal tests.
1489 2018-06-25  Bruno Haible  <bruno@clisp.org>
1491         threadlib: Fix LIBMULTITHREAD on platforms where --as-needed is enabled.
1492         Reported by Erik Auerswald <auerswal@unix-ag.uni-kl.de>
1493         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00063.html>.
1494         * m4/threadlib.m4 (gl_THREADLIB_BODY): Check whether the linker supports
1495         --as-needed/--no-as-needed and --push-state/--pop-state. When defining
1496         USE_POSIX_THREADS_WEAK or USE_SOLARIS_THREADS_WEAK or
1497         USE_PTH_THREADS_WEAK, define LIBMULTITHREAD in such a way that -lpthread
1498         / -lthread / -lpth does not get optimized away by a preceding
1499         --as-needed option.
1501 2018-06-25  Bruno Haible  <bruno@clisp.org>
1503         Continue to use spaces for indentation, not tabs.
1504         * MODULES.html.sh: Untabify.
1505         * doc/regex.texi: Likewise.
1506         * lib/acl-internal.c: Likewise.
1507         * lib/dfa.c: Likewise.
1508         * lib/exclude.c: Likewise.
1509         * lib/exclude.h: Likewise.
1510         * lib/get-permissions.c: Likewise.
1511         * lib/gettimeofday.c: Likewise.
1512         * lib/parse-datetime.y: Likewise.
1513         * lib/pselect.c: Likewise.
1514         * lib/set-permissions.c: Likewise.
1515         * lib/time.in.h: Likewise.
1516         * m4/canonicalize.m4: Likewise.
1517         * m4/gc.m4: Likewise.
1518         * m4/gnulib-common.m4: Likewise.
1519         * m4/pthread_sigmask.m4: Likewise.
1520         * m4/vararrays.m4: Likewise.
1521         * tests/test-digest.h: Likewise.
1522         * tests/test-fcntl-h.c: Likewise.
1523         * tests/test-timespec.c: Likewise.
1524         * tests/uniwbrk/test-uc-wordbreaks.c: Likewise.
1526 2018-06-25  Bruno Haible  <bruno@clisp.org>
1528         manywarnings: Don't enable -Wjump-misses-init warnings by default.
1529         * build-aux/gcc-warning.spec: Add -Wjump-misses-init.
1530         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): Remove
1531         -Wjump-misses-init.
1533 2018-06-25  Jim Meyering  <meyering@fb.com>
1535         acl-internal.h: remove _GL_ATTRIBUTE_CONST on void function
1536         * lib/acl-internal.h (free_permission_context): Remove that
1537         attribute directive.  Otherwise, it would provoke this from GCC 9:
1538         lib/acl-internal.h:300:3: error: 'const' attribute on function \
1539           returning 'void' [-Werror=attributes]
1541 2018-06-24  Jim Meyering  <meyering@fb.com>
1543         parse-datetime: accommodate gcc-4.8.5
1544         Bruno Haible reported the build failure in
1545         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00066.html
1546         * lib/parse-datetime.y (parse_datetime2): Remove leading "static"
1547         on declaration of new local.
1549 2018-06-24  Bruno Haible  <bruno@clisp.org>
1551         af_alg: Fail in continuable manner on Linux/powerpc64le.
1552         Reported by Assaf Gordon <assafgordon@gmail.com>
1553         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00034.html>.
1554         * lib/af_alg.c (afalg_stream): On non-seekable streams, try a single-
1555         byte send() as the first round.
1557 2018-06-24  Bruno Haible  <bruno@clisp.org>
1559         af_alg: Fix state of stream after sendfile() succeeds.
1560         * lib/af_alg.c (afalg_stream): Invoke fflush and lseek, to ensure that
1561         the stream is correctly positioned afterwards.
1562         * modules/crypto/af_alg (Depends-on): Add fflush.
1563         * tests/test-digest.h (test_digest_on_files): Verify that after the
1564         operation the stream is positioned at end of file.
1566 2018-06-24  Jim Meyering  <meyering@fb.com>
1568         canon-host: take GCC9's advice rather than ignoring warning
1569         Pádraig Brady suggested not to ignore this GCC9 advice.
1570         * lib/canon-host.c: Undo preceding change.
1571         * lib/canon-host.h: Instead, declare with _GL_ATTRIBUTE_MALLOC.
1573         parse-datetime.y: avoid spurious GCC 9 warning
1574         * lib/parse-datetime.y (parse_datetime2): Save RELATIVE_TIME_0 into
1575         a function local prior to the first "goto fail".  The prior use would
1576         evoke this:
1577         parse-datetime.y: In function 'parse_datetime2':
1578         parse-datetime.y:1791:19: error: jump skips variable initialization \
1579           [-Werror=jump-misses-init]
1580         parse-datetime.y:2385:2: note: label 'fail' defined here
1581         parse-datetime.y:188:43: note: '({anonymous})' declared here
1582         parse-datetime.y:1841:12: note: in expansion of macro 'RELATIVE_TIME_0'
1584         canon-host.c: avoid spurious GCC 9 warning
1585         * lib/canon-host.c: Suppress GCC9's -Wsuggest-attribute=malloc.
1587         manywarnings: accommodate GCC 9.0-pre: remove -Wchkp and -Wabi
1588         * build-aux/gcc-warning.spec: Add them here, each with an explanation.
1589         * m4/manywarnings.m4: Remove them.
1590         Otherwise, building coreutils, I would see this:
1591         cc1: error: deprecated command line option '-Wchkp' [-Werror]
1592         cc1: error: -Wabi won't warn about anything [-Werror=abi]
1593         cc1: note: -Wabi warns about differences from the most up-to-date ABI,\
1594           which is also used by default
1595         cc1: note: use e.g. -Wabi=11 to warn about changes from GCC 7
1597 2018-06-24  Bruno Haible  <bruno@clisp.org>
1599         af_alg tests: Add another test.
1600         * tests/test-digest.h (test_digest_on_files): Also check a large file
1601         with a skipped header.
1602         * tests/test-md5.c: Include macros.h.
1603         * tests/test-sha1.c: Likewise.
1604         * tests/test-sha256.c: Likewise.
1605         * tests/test-sha512.c: Likewise.
1606         * modules/crypto/md5-tests (Files): Add tests/macros.h.
1607         * modules/crypto/sha1-tests (Files): Likewise.
1608         * modules/crypto/sha256-tests (Files): Likewise.
1609         * modules/crypto/sha512-tests (Files): Likewise.
1611 2018-06-24  Pádraig Brady  <P@draigBrady.com>
1613         maint: clarify comments about sticky EOF
1614         * lib/af_alg.c: Be more direct that we can't
1615         assume stickiness of EOF for portability reasons.
1616         * lib/md5.c: Clarify that this isn't just a glibc issue.
1617         * lib/sha1.c: Likewise.
1618         * lib/sha256.c: Likewise.
1619         * lib/sha512.c: Likewise.
1621 2018-06-24  Bruno Haible  <bruno@clisp.org>
1623         af_alg: Comment and style improvements.
1624         * lib/af_alg.c (alg_socket): Use 'size_t' as index into a string.
1625         (afalg_buffer, afalg_stream): Improve comments.
1627 2018-06-24  Pádraig Brady  <P@draigBrady.com>
1629         af_alg: disable kernel hash functions by default
1630         All the kernel routines were seen to be significantly slower
1631         with these relatively recent components on an i3-2310M system:
1632           kernel-4.10.6-200.fc25.x86_64
1633           openssl-1.0.2m-1.fc25.x86_64
1634         sha1 was nearly twice as slow in the kernel for example.
1635         Further considerations why this should not be the default, at:
1636         https://lists.gnu.org/r/coreutils/2018-06/msg00034.html
1638         * m4/af_alg.m4: Require --with-linux-crypto to enable.
1639         * m4/gl-openssl.m4: Tweak accordingly.
1641 2018-06-24  Pádraig Brady  <P@draigBrady.com>
1643         af_alg: avoid hangs when reading from streams
1644         * lib/af_alg.c (afalg_stream): Don't assume EOF is sticky,
1645         and thus avoid doing a fread() when feof() is set.
1646         * lib/md5.c: Ensure feof() is called before fread().
1647         * lib/sha1.c: Likewise.
1648         * lib/sha256.c: Likewise.
1649         * lib/sha512.c: Likewise.
1651 2018-06-24  Pádraig Brady  <P@draigBrady.com>
1653         af_alg: fix error handling when hash not returned
1654         * lib/af_alg.c (afalg_stream): Handle the case where we've
1655         successfully written data to the kernel in the read/write loop,
1656         but the kernel doesn't respond with the hash.
1658 2018-06-24  Paul Eggert  <eggert@cs.ucla.edu>
1660         libc-config: merge from glibc
1661         * lib/cdefs.h (__inline, __restrict):
1662         Copy from current glibc.  This fixes glibc bug 17721,
1663         which Gnulib had already fixed in a different way.
1664         (__nonnull): Lessen the distance from glibc by using the
1665         glibc definition inside an ‘#ifndef __nonnull’.
1666         (__attribute_nonstring__): New macro, copied from
1667         current glibc.
1668         * lib/libc-config.h (__attribute_nonstring__): New undef.
1669         (__restrict): Remove; workaround no longer needed.
1670         Keep the __inline workaround, though, as it uses HAVE___INLINE to
1671         support more compilers than the glibc __inline can.
1673 2018-06-24  Bruno Haible  <bruno@clisp.org>
1675         mbrtowc, wcwidth: Fix MT-safety bug (regression from 2018-06-23).
1676         * lib/mbrtowc.c (enc_t): New enum type.
1677         (locale_enc, locale_enc_cached): New functions.
1678         (mbrtowc): Eliminate static variables. Use locale_enc_cached instead.
1679         * lib/wcwidth.c (is_locale_utf8, is_locale_utf8_cached): New functions.
1680         (wcwidth): Eliminate static variables. Use is_locale_utf8_cached
1681         instead.
1682         * m4/mbrtowc.m4 (gl_PREREQ_MBRTOWC): Require AC_C_INLINE.
1683         * m4/wcwidth.m4 (gl_PREREQ_WCWIDTH): New macro.
1684         * modules/wcwidth (configure.ac): Invoke it.
1686 2018-06-24  Bruno Haible  <bruno@clisp.org>
1688         wchar-single: Fix test failure in wcwidth tests.
1689         * tests/test-wcwidth.c (main): If the wchar-single module is present,
1690         skip the tests in the C locale.
1692 2018-06-23  Pádraig Brady  <P@draigBrady.com>
1694         crypto: mention --without-linux-crypto in --with-openssl --help
1695         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Mention that linux crypto
1696         routines take precedence in --with-openssl help output.
1698 2018-06-23  Pádraig Brady  <P@draigBrady.com>
1700         wchar-single: a new module to enable optimizations in wchar replacements
1701         * lib/mbrtowc.c (mbrtowc): Only check locale_charset() once if
1702         GNULIB_WCHAR_SINGLE is enabled.
1703         * lib/wcwidth.c (wcwidth): Likewise.
1705 2018-06-23  Bruno Haible  <bruno@clisp.org>
1707         libc-config: Fix conflict with FreeBSD include files.
1708         * lib/cdefs.h (__nonnull): Remove definition.
1709         * lib/libc-config.h (__nonnull): Remove undefinition.
1711 2018-06-21  Paul Eggert  <eggert@cs.ucla.edu>
1713         random_r: do not crash if state is unaligned
1714         Problem reported by Bruce Korb in:
1715         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00030.html
1716         I reproduced the crash on 32-bit sparc with Oracle Studio 12.6
1717         with 'cc -O2 -xmemalign=8s'.
1718         * lib/random_r.c: Include string.h, for memcpy.
1719         (get_int32, set_int32): New functions.
1720         (__srandom_r, __initstate_r, __setstate_r, __random_r):
1721         Use them to avoid assumption that state pointer is aligned.
1722         (__random_r): Avoid integer overflow if INT_MAX == UINT32_MAX.
1723         * tests/test-random_r.c (test_failed): New function.
1724         (main): Use it, to test for alignment bugs.
1726         random_r: omit unnecessary include
1727         * lib/random_r.c: Do not include limits.h.
1729         random, random_r: merge from glibc
1730         * lib/random.c, lib/random_r.c:
1731         Include libc-config.h if !_LIBC, not config.h unilaterally.
1732         * lib/random.c:
1733         Do not include stdint.h or time.h; not needed.
1734         Include libc-lock.h if _LIBC, and define substitute macros otherwise.
1735         (unsafe_state): Rename from generator.  All uses changed.
1736         Use C99-style initializers.
1737         (__random, __srandom, __initstate, __setstate): Rename from
1738         non-underscored version, but define it to non-underscored version
1739         on Gnulib.  Add a lock.
1740         * lib/random_r.c (__srandom_r, __initstate_r, __setstate_r, __random_r):
1741         Likewise.
1742         Do not include <stdint.h>; not needed since stdlib.h defines int32_t.
1743         (weak_alias, __set_errno) [!_LIBC]: Remove; now done by libc-config.
1744         (__srandom_r): Use int32_t instead of long int where int32_t will do.
1745         (__random_r): Use uint32 to fix glibc bug 17343.
1746         * modules/random, modules/random_r (Depends-on): Add libc-config.
1747         Depend on stdint only if $HAVE_RANDOM = 0.
1749 2018-06-19  Jim Meyering  <meyering@fb.com>
1751         README-release: also run any check-very-expensive tests
1752         * top/README-release: Adjust instructions so they run the
1753         check-very-expensive tests when there is such a target.
1755 2018-06-18  Bruno Haible  <bruno@clisp.org>
1757         pthread_rwlock_rdlock: Add comments regarding glibc behaviour.
1758         * m4/pthread_rwlock_rdlock.m4: Add comment.
1759         * doc/posix-functions/pthread_rwlock_rdlock.texi: Mention that rwlocks
1760         are reader-preferring in glibc.
1761         * doc/posix-functions/pthread_rwlock_tryrdlock.texi: Likwise.
1762         * doc/posix-functions/pthread_rwlock_timedrdlock.texi: Likewise.
1764 2018-06-17  Paul Eggert  <eggert@cs.ucla.edu>
1766         crypto: use byteswap
1767         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
1768         * lib/sm3.c: Include <byteswap.h>.
1769         (SWAP): Use its macros rather than reinventing the wheel.
1770         * modules/crypto/md4, modules/crypto/md5-buffer:
1771         * modules/crypto/sha1-buffer, modules/crypto/sha256-buffer:
1772         * modules/crypto/sha512-buffer, modules/crypto/sm3:
1773         (Depends-on): Add byteswap.
1775 2018-06-17  Pádraig Brady  <P@draigBrady.com>
1777         gendocs.sh: fix support for legacy --texi2html
1778         * build-aux/gendocs.sh: Restrict use of TOP_NODE_UP_URL
1779         to the default makeinfo invocation.
1780         Reported by Bruce Korb
1782 2018-06-17  Bruno Haible  <bruno@clisp.org>
1784         gettext po infrastructure: Update from current gettext git.
1785         Reported by Akim Demaille <akim@lrde.epita.fr>.
1786         * build-aux/po/Makefile.in.in: Update from current gettext git.
1787         * build-aux/po/remove-potcdate.sin: Likewise.
1788         * config/srclist.txt: Temporarily disable sync for these files.
1790 2018-06-17  Bruno Haible  <bruno@clisp.org>
1792         getloadavg: Return 0 on Windows without Cygwin.
1793         * lib/getloadavg.c: Don't assume that the symbol WINDOWS32 is defined.
1795 2018-06-17  Paul Smith  <psmith@gnu.org>
1797         getloadavg: Allow building on Windows without Cygwin
1798         * lib/getloadavg.c: Reinstate ifdef for HAVE_UNISTD_H.
1799         * m4/getloadavg.m4: Check for unistd.h.
1801 2018-06-03  Paul Eggert  <eggert@cs.ucla.edu>
1803         Port crypto/af_alg to GCC 4.8.4
1804         Problem reported by Peter Simons in:
1805         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00002.html
1806         * modules/crypto/af_alg (Depends-on): Add c99 if USE_AF_ALG.
1808 2018-05-27  Colin Watson  <cjwatson@debian.org>
1810         bootstrap: document source fetching in --help
1811         * build-aux/bootstrap (usage): Document how Gnulib sources are fetched.
1813 2018-04-09  Colin Watson  <cjwatson@debian.org>
1815         bootstrap: allow non-submodule control of gnulib
1816         * build-aux/bootstrap: Honour GNULIB_URL and GNULIB_REVISION in
1817         bootstrap.conf when fetching gnulib using "git clone" or via
1818         GNULIB_SRCDIR.
1820 2018-05-21  Paul Eggert  <eggert@cs.ucla.edu>
1822         crypto: omit stream ops Emacs doesn’t need
1823         * lib/md5.c (md5_stream):
1824         * lib/sha1.c (sha1_stream):
1825         * lib/sha256.c (shaxxx_stream, sha256_stream, sha224_stream):
1826         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
1827         Compile stream functions only if GL_COMPILE_CRYPTO_STREAM is
1828         defined.  Emacs needs this, as it does not use the stream
1829         operations and doesn’t need all the af_alg stuff we’ve recently
1830         added.  Perhaps a similar change is needed to the other crypto
1831         modules, but this patch changes only those needed for Emacs.
1832         * modules/crypto/md5-buffer, modules/crypto/sha1-buffer:
1833         * modules/crypto/sha256-buffer, modules/crypto/sha512-buffer:
1834         New modules, used by Emacs.
1835         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
1836         * modules/crypto/sha512: Rewrite to depend on the new modules.
1838 2018-05-20  Pádraig Brady  <P@draigBrady.com>
1840         fts: avoid a memory leak edge case
1841         * lib/fts.c (fts_open): Set an appropriate fts_level
1842         so that an immediate fts_close() will free the allocation.
1843         * tests/test-fts.c (fts_dealloc): Add a test case which
1844         will trigger under valgrind or address sanitizer.
1845         Fixes https://bugs.gnu.org/31439
1847 2018-05-20  Bruno Haible  <bruno@clisp.org>
1849         wcwidth tests: Fix link error.
1850         * modules/wcwidth-tests (Makefile.am): Link test-wcwidth against
1851         $(LIBUNISTRING).
1853 2018-05-20  Bruno Haible  <bruno@clisp.org>
1855         regex: Fix "error: possibly undefined macro: gl_GLIBC21".
1856         * modules/regex (Files): Add m4/glibc21.m4.
1858 2018-05-20  Bruno Haible  <bruno@clisp.org>
1860         localcharset: Optimize.
1861         * lib/localcharset.c (alias_table): Comment out no-op mappings for
1862         platforms where these don't matter. This reduces the table size,
1863         which in turn reduces the lookup time.
1865 2018-05-19  Bruno Haible  <bruno@clisp.org>
1867         localcharset: Map the locale encodings found in newer OSes.
1868         * lib/localcharset.c (alias_table): Add mapping for locale encodings
1869         found in FreeBSD 11, NetBSD 7, Solaris 10, Openindiana, HP-UX 11.31,
1870         IRIX 6.5, Minix 3.3.
1871         * lib/localcharset.h: Update comments accordingly. Also for Cygwin 2.9.
1873 2018-05-19  Bruno Haible  <bruno@clisp.org>
1875         localcharset: Move mapping tables into the code. Use a binary search.
1876         * lib/localcharset.h: Document the GNU canonical names for character
1877         encodings here.
1878         * lib/localcharset.c: Don't include <fcntl.h>, <unistd.h>,
1879         relocatable.h, configmake.h.
1880         (O_NOFOLLOW, ISSLASH, DIRECTORY_SEPARATOR, getc, volatile): Remove
1881         macros.
1882         (charset_aliases): Remove variable.
1883         (get_charset_aliases): Remove function.
1884         (struct table_entry): New type.
1885         (alias_table, locale_table): New constants.
1886         (locale_charset): Use the alias_table or locale_table to get the
1887         canonicalized encoding name.
1888         * lib/config.charset: Remove file.
1889         * lib/ref-add.sin: Remove file.
1890         * lib/ref-del.sin: Remove file.
1891         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't require gl_FCNTL_O_FLAGS,
1892         AC_CANONICAL_HOST, gl_GLIBC21. Don't check for getc_unlocked.
1893         * modules/localcharset (Notice): Remove.
1894         (Files): Remove config.charset, ref-add.sin, ref-del.sin, fcntl-o.m4,
1895         glibc21.m4.
1896         (Depends-on): Remove configmake.
1897         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT to empty.
1898         (Makefile.am): Simplify.
1899         * build-aux/prefix-gnulib-mk: Remove special code for the removed files.
1901 2018-05-19  Bruno Haible  <bruno@clisp.org>
1903         localcharset: Add a manual test.
1904         * tests/test-localcharset.c: New file.
1905         * modules/localcharset-tests: New file.
1907 2018-05-19  Bruno Haible  <bruno@clisp.org>
1909         localcharset: Remove support for obsolete platforms.
1910         * lib/config.charset: Remove support for Linux/libc5, glibc-2.0.x, and
1911         Mac OS X 10.2. Comment out dubious entry for Solaris.
1913 2018-05-19  Jim Meyering  <meyering@fb.com>
1915         gnupload: adjust comment
1916         * build-aux/gnupload: Add FIXME-2020 comment, to make it slightly
1917         more likely we'll remove the just-added code in a year or two.
1919 2018-05-19  Bruno Haible  <bruno@clisp.org>
1921         gnupload: Fix "gpg-agent is not available in this session" error.
1922         * build-aux/gnupload (GPG): Pick the right GNUPG executable to use.
1924 2018-05-16  Paul Eggert  <eggert@cs.ucla.edu>
1926         crypto/af_alg: fix --help
1927         * m4/af_alg.m4: Avoid spurious newline in --help output.
1929 2018-05-13  Bruno Haible  <bruno@clisp.org>
1931         nl_langinfo: Fix compilation error on Android.
1932         * lib/nl_langinfo.c (nl_langinfo): Define values for the items GROUPING,
1933         INT_CURR_SYMBOL, etc. only if these items are defined.
1935 2018-05-13  Bruno Haible  <bruno@clisp.org>
1937         truncate: Fix compilation error on Android.
1938         * m4/truncate.m4 (gl_FUNC_TRUNCATE): Test also whether 'truncate' is
1939         declared. Set HAVE_DECL_TRUNCATE, not HAVE_TRUNCATE.
1940         * lib/unistd.in.h (truncate): Test HAVE_DECL_TRUNCATE, not
1941         HAVE_TRUNCATE.
1942         * modules/truncate: Likewise.
1943         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_TRUNCATE,
1944         not HAVE_TRUNCATE.
1945         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TRUNCATE, not
1946         HAVE_TRUNCATE.
1947         * doc/posix-functions/truncate.texi: Mention the issue.
1949 2018-05-13  Bruno Haible  <bruno@clisp.org>
1951         pthread: Fix compilation error on Android.
1952         * lib/pthread.in.h: Use _GL_ALREADY_INCLUDING_PTHREAD_H to shortcut
1953         recursive inclusion of this file.
1955 2018-05-13  Bruno Haible  <bruno@clisp.org>
1957         posix_spawn: Fix compilation error on Android.
1958         * lib/spawn.in.h (posix_spawnattr_t): Consider also the case
1959         HAVE_POSIX_SPAWNATTR_T = 1 && HAVE_POSIX_SPAWN = 0.
1960         (posix_spawn_file_actions_t): Consider also the case
1961         HAVE_POSIX_SPAWN_FILE_ACTIONS_T = 1 && HAVE_POSIX_SPAWN = 0.
1963 2018-05-13  Bruno Haible  <bruno@clisp.org>
1965         tsearch: Move from K&R C to ANSI C.
1966         * lib/tsearch.c (tfind): Convert definition to ANSI C.
1968 2018-05-13  Bruno Haible  <bruno@clisp.org>
1970         tsearch: Fix compilation error on Android.
1971         * lib/search.in.h (twalk): Declare when HAVE_TWALK, not HAVE_TSEARCH,
1972         is 0.
1973         (GNULIB_defined_tsearch, GNULIB_defined_twalk): New macros.
1974         * lib/tsearch.c (tsearch, tfind, tdelete): Define only if
1975         GNULIB_defined_tsearch is true.
1976         (twalk): Define only if GNULIB_defined_twalk is true.
1977         * modules/tsearch (configure.ac): Compile tsearch.c also if HAVE_TWALK
1978         is 0.
1979         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Set HAVE_TWALK.
1980         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize HAVE_TWALK.
1981         * modules/search (Makefile.am): Substitute HAVE_TWALK.
1983 2018-05-13  Bruno Haible  <bruno@clisp.org>
1985         imaxdiv: Fix compilation error on Android.
1986         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Set HAVE_IMAXDIV_T to 0 if imaxdiv_t
1987         is not defined.
1988         * lib/inttypes.in.h (imaxdiv_t): Define if HAVE_IMAXDIV_T, not
1989         HAVE_DECL_IMAXDIV, is 0.
1990         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize HAVE_IMAXDIV_T.
1991         * modules/inttypes-incomplete (Makefile.am): Substitute HAVE_IMAXDIV_T.
1993 2018-05-13  Bruno Haible  <bruno@clisp.org>
1995         Support selective inclusion mechanism of recent mingw.org header files.
1996         Reported by Eli Zaretskii <eliz@gnu.org>.
1997         * lib/sys_types.in.h: On mingw, when __need_off_t, __need___off64_t,
1998         __need_ssize_t, or __need_time_t is defined, just include the system's
1999         <sys/types.h>.
2000         * lib/locale.in.h: On mingw, when __need_locale_t is defined, just
2001         include the system's <locale.h>.
2003 2018-05-13  Bruno Haible  <bruno@clisp.org>
2005         Avoid compilation error due to 'mmap' on Android.
2006         * lib/vma-iter.c (_FILE_OFFSET_BITS): Undefine on Android.
2007         * lib/get-rusage-as.c (_FILE_OFFSET_BITS): Likewise.
2008         * tests/zerosize-ptr.h (_FILE_OFFSET_BITS, __USE_FILE_OFFSET64):
2009         Undefine on Android.
2011 2018-05-13  Bruno Haible  <bruno@clisp.org>
2013         Add cross-compilation guesses for Linux systems without glibc.
2014         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for Linux.
2015         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
2016         * m4/link.m4 (gl_FUNC_LINK): Likewise.
2017         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
2018         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
2019         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
2020         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
2021         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
2022         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
2023         * m4/readlink.m4 (gl_FUNC_READLINK): Likewise.
2024         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
2025         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
2026         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
2027         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
2028         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
2029         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
2030         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
2031         * m4/utimens.m4 (gl_UTIMENS): Likewise.
2033 2018-05-13  Bruno Haible  <bruno@clisp.org>
2035         getpagesize: Fix compilation error on Android.
2036         * m4/getpagesize.m4 (gl_CHECK_FUNC_GETPAGESIZE): New macro.
2037         (gl_FUNC_GETPAGESIZE): Invoke it instead of AC_CHECK_FUNC.
2038         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Don't invoke
2039         AC_CHECK_FUNC. Instead, invoke gl_CHECK_FUNC_GETPAGESIZE and define
2040         HAVE_GETPAGESIZE accordingly.
2041         * modules/getcwd (Files): Add m4/getpagesize.m4.
2043 2018-05-13  Bruno Haible  <bruno@clisp.org>
2045         tcgetsid: Fix compilation error on Android.
2046         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use AC_LINK_IFELSE instead of
2047         AC_CHECK_FUNC.
2049 2018-05-13  Bruno Haible  <bruno@clisp.org>
2051         getpass: Fix configure test for Android.
2052         * m4/getpass.m4 (gl_PREREQ_GETPASS): Use AC_LINK_IFELSE instead of
2053         AC_CHECK_FUNC.
2055 2018-05-13  Bruno Haible  <bruno@clisp.org>
2057         ffs: Fix compilation error on Android.
2058         * m4/ffs.m4 (gl_FUNC_FFS): Use AC_LINK_IFELSE instead of AC_CHECK_FUNC.
2060 2018-05-13  Bruno Haible  <bruno@clisp.org>
2062         mkfifo: Fix compilation error on Android.
2063         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Use AC_LINK_IFELSE instead of
2064         AC_CHECK_FUNC.
2066 2018-05-13  Bruno Haible  <bruno@clisp.org>
2068         c-strtod: Fix configure test for Android.
2069         * m4/c-strtod.m4 (gl_C_STRTOD): Use AC_LINK_IFELSE instead of
2070         AC_CHECK_FUNC.
2072 2018-05-13  Bruno Haible  <bruno@clisp.org>
2074         random: Fix compilation error on Android.
2075         * m4/random.m4 (gl_FUNC_RANDOM): Use AC_LINK_IFELSE instead of
2076         AC_CHECK_FUNC.
2078 2018-05-13  Bruno Haible  <bruno@clisp.org>
2080         grantpt: Fix compilation error on Android.
2081         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Use AC_LINK_IFELSE instead of
2082         AC_CHECK_FUNC.
2084 2018-05-13  Bruno Haible  <bruno@clisp.org>
2086         stdioext: Fix compilation errors with newer Android headers.
2087         * lib/stdio-impl.h (fp_, fp_ub): Define differently for Android.
2088         (__SLBF, __SNBF, __SRD, __SWR, __SRW, __SEOF, __SERR, __SOFF): Define
2089         fallbacks for Android.
2090         * lib/fpending.c: Update comments.
2091         * lib/fpurge.c: Likewise.
2092         * lib/freadable.h: Likewise.
2093         * lib/freadable.c: Likewise.
2094         * lib/freadahead.c: Likewise.
2095         * lib/freading.h: Likewise.
2096         * lib/freadptr.c: Likewise.
2097         * lib/fseterr.c: Likewise.
2098         * lib/fwritable.h: Likewise.
2099         * lib/fwritable.c: Likewise.
2100         * lib/fwriting.h: Likewise.
2101         * lib/fwriting.c: Likewise.
2103 2018-05-13  Bruno Haible  <bruno@clisp.org>
2105         doc: Add info about Android versions 2.0 to 8.1.
2106         * doc/**/*.texi: Add info about functions in all released versions of
2107         Bionic.
2109 2018-05-12  Bruno Haible  <bruno@clisp.org>
2111         fseeko: On mingw, don't use the hidden function _fseeki64.
2112         Reported by Eli Zaretskii <eliz@gnu.org>.
2113         * m4/fseeko.m4 (gl_PREREQ_FSEEKO): Test whether _fseeki64 is declared.
2114         * lib/fseeko.c (fseeko): Use _fseeki64 only if it is declared.
2116 2018-05-12  Bruno Haible  <bruno@clisp.org>
2118         glob: Choose 'dirent_type' in a way that works better on mingw.
2119         Reported and suggested by Eli Zaretskii <eliz@gnu.org>.
2120         * lib/glob.c (dirent_type): Define as uint_fast32_t.
2122 2018-05-12  Bruno Haible  <bruno@clisp.org>
2124         execute, spawn-pipe: Avoid warning about redefining 'close'.
2125         Reported by Eli Zaretskii <eliz@gnu.org>.
2126         * lib/execute.c: Undefine 'close' before redefining it.
2127         * lib/spawn-pipe.c: Likewise.
2129 2018-05-12  Bruno Haible  <bruno@clisp.org>
2131         nanosleep: Avoid test failure on mingw when it has nanosleep.
2132         Reported by Eli Zaretskii <eliz@gnu.org>.
2133         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check whether alarm() exists.
2134         If it does not exist, use a simpler test program that does not call
2135         alarm().
2137 2018-05-10  Bruno Haible  <bruno@clisp.org>
2139         lock, cond, thread, tls: Use a different symbol as libpthread witness.
2140         Reported by Devin Hussey <husseydevin@gmail.com>.
2141         Based on a patch by Paul Eggert.
2142         * lib/glthread/lock.h (pthread_in_use): Use 'pthread_mutexattr_gettype'
2143         as witness of libpthread.
2144         * lib/glthread/cond.h (pthread_in_use): Likewise.
2145         * lib/glthread/thread.h (pthread_in_use): Likewise.
2146         * lib/glthread/tls.h (pthread_in_use): Likewise.
2148 2018-05-10  Bruno Haible  <bruno@clisp.org>
2150         cond tests: Fix compilation error on Solaris.
2151         * tests/test-cond.c: Include <unistd.h> before defining 'yield' as a
2152         macro.
2154 2018-05-10  Bruno Haible  <bruno@clisp.org>
2156         doc: Add partial info about Android 4.3.
2157         * doc/*-functions/*.texi: Add info about functions that were added
2158         to Bionic between Android 4.3 and Android 9.0.
2160 2018-05-10  Bruno Haible  <bruno@clisp.org>
2162         doc: Add info about Android 9.0.
2163         * doc/**/*.texi: Add info about functions and headers in Bionic from
2164         Android 9.0.
2166 2018-05-09  Paul Eggert  <eggert@cs.ucla.edu>
2168         af_alg: fix my typo in afalg_buffer
2169         * lib/af_alg.c (afalg_buffer): Fix typo I recently introduced.
2170         (afalg_stream): Simplify and avoid the need for a runtime test
2171         at the end.
2173         af_alg: recover better from crypto failures
2174         * lib/af_alg.c (afalg_stream): Recover from crypto failures if the
2175         input stream is seekable, by repositioning the stream back to
2176         where it was, possibly by just calling sendfile with an offset
2177         arg.  This lets us return -EAFNOSUPPORT instead of -EIO in some
2178         cases, which lets our callers try again with user-mode code.
2179         * modules/crypto/af_alg (Depends-on): Depend on fseeko and ftello
2180         instead of on fflush and lseek.
2182         af_alg: distiguish I/O errors better
2183         * lib/af_alg.c (afalg_buffer, afalg_stream): Return -EAFNOSUPPORT,
2184         not -EIO, if it’s OK for the caller to try again with user-mode code.
2185         (afalg_stream) [!_WIN32 || __CYGWIN__]: Return -EIO (not possibly
2186         some other error number) if fflush fails, as the caller should not
2187         try again that case.
2189         af_alg: avoid gotos
2190         * lib/af_alg.c (afalg_buffer, afalg_stream): Rewrite to avoid
2191         gotos, as they were a source of unreliability and made the code a
2192         bit harder to follow.
2194         af_alg: don’t leak file descriptors into children
2195         * lib/af_alg.c (alg_socket): Use SOCK_CLOEXEC when creating sockets.
2196         This code should be compiled only on recent GNU/Linux platforms
2197         so we shouldn’t have to also depend on the accept4 module.
2199         af_alg: coalesce socket creation
2200         * lib/af_alg.c (alg_socket): New function.
2201         (afalg_buffer, afalg_stream): Use it.  This avoids some
2202         code duplication and gotos.
2204         af_alg: fix file descriptor leak
2205         * lib/af_alg.c (afalg_stream): Close leak.
2207         af_alg: Pacify --enable-gcc-warnings on GCC 8
2208         * lib/af_alg.c (afalg_buffer, afalg_stream): Reorder local decls
2209         and checking to pacify gcc -Wjump-misses-init on GCC 8.
2211 2018-05-07  Paul Eggert  <eggert@cs.ucla.edu>
2213         af_alg: Pacify --enable-gcc-warnings
2214         Problem reported by Assaf Gordon in:
2215         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00041.html
2216         * lib/af_alg.c (afalg_buffer): Move local decls to pacify
2217         gcc -Wjump-misses-init.
2218         * lib/sha512.c (shaxxx_stream): Now static.
2220 2018-05-06  Bruno Haible  <bruno@clisp.org>
2222         af_alg: Add ability to use Linux kernel crypto API on data in memory.
2223         * lib/af_alg.h (afalg_buffer): New declaration.
2224         * lib/af_alg.c (afalg_buffer): New function.
2226 2018-05-06  Bruno Haible  <bruno@clisp.org>
2228         af_alg: Avoid warnings.
2229         * lib/af_alg.h (afalg_stream): Mark fallback declaration as inline.
2230         * m4/af_alg.m4 (gl_AF_ALG): Require AC_C_INLINE.
2232 2018-05-06  Bruno Haible  <bruno@clisp.org>
2234         crypto/{md5,sha1,sha256,sha512} tests: Add benchmarks.
2235         * tests/bench-digest.h: New file.
2236         * tests/bench-md5.c: New file.
2237         * tests/bench-sha1.c: New file.
2238         * tests/bench-sha224.c: New file.
2239         * tests/bench-sha256.c: New file.
2240         * tests/bench-sha384.c: New file.
2241         * tests/bench-sha512.c: New file.
2242         * modules/crypto/md5-tests (Files): Add tests/bench-md5.c,
2243         tests/bench-digest.h.
2244         (Depends-on): Add getrusage, gettimeofday.
2245         (Makefile.am): Add variables to build bench-md5.
2246         * modules/crypto/sha1-tests (Files): Add tests/bench-sha1.c,
2247         tests/bench-digest.h.
2248         (Depends-on): Add getrusage, gettimeofday.
2249         (Makefile.am): Add variables to build bench-sha1.
2250         * modules/crypto/sha256-tests (Files): Add tests/bench-sha224.c,
2251         tests/bench-sha256.c, tests/bench-digest.h.
2252         (Depends-on): Add getrusage, gettimeofday.
2253         (Makefile.am): Add variables to build bench-sha224, bench-sha256.
2254         * modules/crypto/sha512-tests (Files): Add tests/bench-sha384.c,
2255         tests/bench-sha512.c, tests/bench-digest.h.
2256         (Depends-on): Add getrusage, gettimeofday.
2257         (Makefile.am): Add variables to build bench-sha384, bench-sha512.
2259 2018-05-06  Bruno Haible  <bruno@clisp.org>
2261         af_alg: Fix a resource leak.
2262         * lib/af_alg.c (afalg_stream): Close socket before returning -EINVAL.
2263         New local variable 'result'.
2265 2018-05-06  Bruno Haible  <bruno@clisp.org>
2267         af_alg: Fix bug with streams that are not at position 0.
2268         * lib/af_alg.c (afalg_stream): Before sendfile, invoke fflush. Don't
2269         assume that the stream is positioned at position 0.
2270         * lib/af_alg.h (afalg_stream): Mention restriction regarding the state
2271         of the stream.
2272         * lib/md5.h (md5_stream): Likewise.
2273         * lib/sha1.h (sha1_stream): Likewise.
2274         * lib/sha256.h (sha256_stream, sha224_stream): Likewise.
2275         * lib/sha512.h (sha512_stream, sha384_stream): Likewise.
2276         * modules/crypto/af_alg (Depends-on): Add fflush, lseek.
2278         crypto/{md5,sha1,sha256,sha512} tests: Enhance test.
2279         * tests/test-digest.h (test_digest_on_files): Add a test with a FILE
2280         stream that is not positioned at the beginning.
2282 2018-05-06  Bruno Haible  <bruno@clisp.org>
2284         af_alg: Add configure option to enable/disable use of Linux crypto API.
2285         Suggested by Assaf Gordon <assafgordon@gmail.com>.
2286         * m4/af_alg.m4 (gl_AF_ALG): Add AC_ARG_WITH invocation. Define C macro
2287         USE_LINUX_CRYPTO_API.
2288         * lib/af_alg.h: Test USE_LINUX_CRYPTO_API, not HAVE_LINUX_IF_ALG_H.
2289         * lib/af_alg.c: Likewise.
2291 2018-05-06  Bruno Haible  <bruno@clisp.org>
2293         Followup to 'af_alg: New module.'.
2294         * modules/crypto/md5 (Depends-on): Remove sys_socket, sys_stat.
2295         * modules/crypto/sha1 (Depends-on): Likewise.
2296         * modules/crypto/sha256 (Depends-on): Likewise.
2297         * modules/crypto/sha512 (Depends-on): Likewise.
2299 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
2301         crypto/{md5,sha1,sha256,sha512}: simplify
2302         * lib/md5.c (md5_stream):
2303         * lib/sha1.c (sha1_stream):
2304         * lib/sha256.c (shaxxx_stream):
2305         Simplify, partly by assuming C99.
2306         * lib/sha256.c (shaxxx_stream):
2307         New function, which implements both sha256 and sha224.
2308         Simplify, partly by assuming C99.
2309         (sha256_stream, sha224_stream):
2310         Use it to avoid code duplication, removing a FIXME.
2311         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
2312         Likewise.
2314         af_alg: Improve comments.
2315         * lib/af_alg.h: Use imperatives and tighten up wording.
2317 2018-05-05  Bruno Haible  <bruno@clisp.org>
2319         af_alg: Improve comments.
2320         * lib/af_alg.c (afalg_stream): Improve comment about kernel bug.
2322 2018-05-05  Bruno Haible  <bruno@clisp.org>
2324         af_alg: New module.
2325         * lib/af_alg.h: Test HAVE_* macro through '#if', not '#ifdef'.
2326         * lib/af_alg.c: Include "af_alg.h" before the other header files.
2327         * lib/md5.c: Include "af_alg.h" unconditionally.
2328         (md5_stream): Invoke afalg_stream unconditionally.
2329         * lib/sha1.c: Include "af_alg.h" unconditionally.
2330         (sha1_stream): Invoke afalg_stream unconditionally.
2331         * lib/sha256.c: Include "af_alg.h" unconditionally.
2332         (sha256_stream, sha224_stream): Invoke afalg_stream unconditionally.
2333         * lib/sha512.c: Include "af_alg.h" unconditionally.
2334         (sha512_stream, sha384_stream): Invoke afalg_stream unconditionally.
2335         * m4/af_alg.m4: Renamed from m4/linux-if-alg.m4.
2336         (gl_AF_ALG): Renamed from gl_LINUX_IF_ALG_H.
2337         * modules/crypto/af_alg: New file.
2338         * modules/crypto/md5 (Files): Remove files that are now in the
2339         'crypto/af_alg' module.
2340         (Depends-on): Add crypto/af_alg.
2341         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
2342         (Makefile.am): Don't mention af_alg.c here.
2343         * modules/crypto/sha1 (Files): Remove files that are now in the
2344         'crypto/af_alg' module.
2345         (Depends-on): Add crypto/af_alg.
2346         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
2347         (Makefile.am): Don't mention af_alg.c here.
2348         * modules/crypto/sha256 (Files): Remove files that are now in the
2349         'crypto/af_alg' module.
2350         (Depends-on): Add crypto/af_alg.
2351         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
2352         (Makefile.am): Don't mention af_alg.c here.
2353         * modules/crypto/sha512 (Files): Remove files that are now in the
2354         'crypto/af_alg' module.
2355         (Depends-on): Add crypto/af_alg.
2356         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
2357         (Makefile.am): Don't mention af_alg.c here.
2359 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
2361         crypto tests: pacify GCC
2362         * tests/test-digest.h (test_digest_on_files):
2363         Don’t assume digest size fits in int (!).
2365         af_alg: minor style improvements
2366         * lib/af_alg.c (afalg_stream): Prefer C99 style
2367         decl-after-statement, since we’re already assuming C99.  Clarify
2368         by strengthening the bind test and omit unnecessary assignment.
2370 2018-05-05  Bruno Haible  <bruno@clisp.org>
2372         af_alg: Fix bug on empty files.
2373         * lib/af_alg.c (afalg_stream): Ignore the kernel's result if the input
2374         stream is empty.
2376 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
2378         sys-limits.h: new file for crypto and safe I/O
2379         * lib/af_alg.c: Include sys-limits.h.
2380         (MAX_RW_COUNT): Remove.  Use replaced by SYS_BUFSIZE_MAX.
2381         (afalg_stream): Also reject negative sizes for sendfile; they
2382         should not happen and the code is a bit cleaner and faster this way.
2383         * lib/safe-read.c: Include sys-limits.h.
2384         (BUGGY_READ_MAXIMUM): Remove.  All uses replaced by SYS_BUFSIZE_MAX.
2385         * lib/sys-limits.h: New file, with values and commentary derived
2386         from the old safe-read.c and from GNU Emacs sysdep.c.
2387         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
2388         * modules/crypto/sha512, modules/safe-read, modules/safe-write:
2389         Add lib/sys-limits.h to Files section.
2391 2018-05-05  Bruno Haible  <bruno@clisp.org>
2393         af_alg: Improve function signature.
2394         * lib/af_alg.h (afalg_stream): Swap second and third argument.
2395         * lib/af_alg.c (afalg_stream): Likewise.
2396         * lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c: Callers changed.
2398 2018-05-05  Bruno Haible  <bruno@clisp.org>
2400         crypto/{md5,sha1,sha256,sha512}: Fix compilation error (S_TYPEISTMO).
2401         * modules/crypto/md5 (Depends-on): Add 'sys_stat'.
2402         * modules/crypto/sha1 (Depends-on): Likewise.
2403         * modules/crypto/sha256 (Depends-on): Likewise.
2404         * modules/crypto/sha512 (Depends-on): Likewise.
2406 2018-05-05  Bruno Haible  <bruno@clisp.org>
2408         crypto/{md5,sha1,sha256,sha512}: Fix module description.
2409         * modules/crypto/md5 (Depends-on): Add 'sys_socket'.
2410         * modules/crypto/sha1 (Depends-on): Likewise.
2411         * modules/crypto/sha256 (Depends-on): Likewise.
2412         * modules/crypto/sha512 (Depends-on): Likewise.
2414 2018-05-05  Bruno Haible  <bruno@clisp.org>
2416         af_alg: Add documentation.
2417         * lib/af_alg.h: Add comments.
2419 2018-05-05  Bruno Haible  <bruno@clisp.org>
2421         sha512: Add tests.
2422         * tests/test-sha512.c: New file.
2423         * modules/crypto/sha512-tests: New file.
2425 2018-05-05  Bruno Haible  <bruno@clisp.org>
2427         sha256: Add tests.
2428         * tests/test-sha256.c: New file.
2429         * modules/crypto/sha256-tests: New file.
2431 2018-05-05  Bruno Haible  <bruno@clisp.org>
2433         sha1 tests: Add test for sha1_stream.
2434         * tests/test-sha1.c: Include test-digest.h.
2435         (main): Invoke test_digest_on_files on 'sha1_stream'.
2436         * modules/crypto/sha1-tests (Files): Add tests/test-digest.h.
2438 2018-05-05  Bruno Haible  <bruno@clisp.org>
2440         md5 tests: Add test for md5_stream.
2441         * tests/test-digest.h: New file.
2442         * tests/test-md5.c: Include test-digest.h.
2443         (main): Invoke test_digest_on_files on 'md5_stream'.
2444         * modules/crypto/md5-tests (Files): Add tests/test-digest.h.
2446 2018-04-28  Matteo Croce  <mcroce@redhat.com>
2448         md5sum: Use AF_ALG when available.
2449         * lib/md5.c: Include af_alg.h.
2450         (md5_stream): Use afalg_stream when available.
2451         * modules/crypto/md5 (Files): Add the af_alg files.
2452         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
2453         (Makefile.am): Add af_alg.c.
2455 2018-04-28  Matteo Croce  <mcroce@redhat.com>
2457         sha512sum: Use AF_ALG when available.
2458         * lib/sha512.c: Include af_alg.h.
2459         (sha512_stream, sha384_stream): Use afalg_stream when available.
2460         * modules/crypto/sha512 (Files): Add the af_alg files.
2461         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
2462         (Makefile.am): Add af_alg.c.
2464 2018-04-28  Matteo Croce  <mcroce@redhat.com>
2466         sha256sum: Use AF_ALG when available.
2467         * lib/sha256.c: Include af_alg.h.
2468         (sha256_stream, sha224_stream): Use afalg_stream when available.
2469         * modules/crypto/sha256 (Files): Add the af_alg files.
2470         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
2471         (Makefile.am): Add af_alg.c.
2473 2018-04-28  Matteo Croce  <mcroce@redhat.com>
2475         sha1sum: Use AF_ALG when available.
2476         * lib/af_alg.h: New file.
2477         * lib/af_alg.c: New file.
2478         * lib/sha1.c: Include af_alg.h.
2479         (sha1_stream): Use afalg_stream when available.
2480         * m4/linux-if-alg.m4: New file.
2481         * modules/crypto/sha1 (Files): Add the new files.
2482         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
2483         (Makefile.am): Add af_alg.c.
2485 2018-05-05  Bruno Haible  <bruno@clisp.org>
2487         all: Replace more http URLs by https URLs.
2488         * lib/localename.c: Use https: URL.
2489         * lib/timespec.h: Likewise.
2491 2018-05-03  Paul Eggert  <eggert@cs.ucla.edu>
2493         maint: port more modules to GCC 8
2494         * lib/dirname.h (base_name):
2495         * lib/exclude.h (new_exclude):
2496         * lib/xstrndup.h (xstrndup):
2497         Add malloc attribute.
2498         * lib/readutmp.c: Pacify GCC 8 about safe use of strncpy.
2499         * lib/sig-handler.h (get_handler) [SA_SIGINFO]: Simplify.
2500         This pacifies GCC 8.
2501         * m4/gnulib-common.m4 (gl_COMMON_BODY):
2502         Define _GL_ATTRIBUTE_MALLOC here.  All other definitions removed.
2504 2018-05-03  Bruno Haible  <bruno@clisp.org>
2506         Simplify code. Drop support for Borland C++ on Windows.
2507         Reported by Gisle Vanem <gisle.vanem@gmail.com>.
2508         * lib/accept4.c: Simplify 'defined _WIN32 || defined __WIN32__' to just
2509         'defined _WIN32'.
2510         * lib/canonicalize-lgpl.c: Likewise.
2511         * lib/classpath.c: Likewise.
2512         * lib/clean-temp.c: Likewise.
2513         * lib/csharpexec.c: Likewise.
2514         * lib/ctime.c: Likewise.
2515         * lib/dosname.h: Likewise.
2516         * lib/dup2.c: Likewise.
2517         * lib/errno.in.h: Likewise.
2518         * lib/error.c: Likewise.
2519         * lib/euidaccess.c: Likewise.
2520         * lib/execute.c: Likewise.
2521         * lib/fcntl.in.h: Likewise.
2522         * lib/fcntl.c: Likewise.
2523         * lib/filename.h: Likewise.
2524         * lib/findprog.c: Likewise.
2525         * lib/flock.c: Likewise.
2526         * lib/fopen.c: Likewise.
2527         * lib/freopen.c: Likewise.
2528         * lib/fstat.c: Likewise.
2529         * lib/fsync.c: Likewise.
2530         * lib/gc-gnulib.c: Likewise.
2531         * lib/get-rusage-data.c: Likewise.
2532         * lib/getaddrinfo.c: Likewise.
2533         * lib/getdelim.c: Likewise.
2534         * lib/getdtablesize.c: Likewise.
2535         * lib/gethostname.c: Likewise.
2536         * lib/getlogin.c: Likewise.
2537         * lib/getlogin_r.c: Likewise.
2538         * lib/getopt.c: Likewise.
2539         * lib/getpagesize.c: Likewise.
2540         * lib/getpass.c: Likewise.
2541         * lib/getrusage.c: Likewise.
2542         * lib/gettimeofday.c: Likewise.
2543         * lib/glob.c: Likewise.
2544         * lib/inttypes.in.h: Likewise.
2545         * lib/isapipe.c: Likewise.
2546         * lib/javaexec.c: Likewise.
2547         * lib/link.c: Likewise.
2548         * lib/localcharset.c: Likewise.
2549         * lib/localename.h: Likewise.
2550         * lib/localename.c: Likewise.
2551         * lib/localtime.c: Likewise.
2552         * lib/lseek.c: Likewise.
2553         * lib/mbsinit.c: Likewise.
2554         * lib/mkdir.c: Likewise.
2555         * lib/msvc-nothrow.h: Likewise.
2556         * lib/nanosleep.c: Likewise.
2557         * lib/nl_langinfo.c: Likewise.
2558         * lib/nonblocking.c: Likewise.
2559         * lib/nproc.c: Likewise.
2560         * lib/open.c: Likewise.
2561         * lib/openpty.c: Likewise.
2562         * lib/pathmax.h: Likewise.
2563         * lib/pipe-filter-aux.c: Likewise.
2564         * lib/pipe-filter-gi.c: Likewise.
2565         * lib/pipe-filter-ii.c: Likewise.
2566         * lib/pipe.c: Likewise.
2567         * lib/pipe2.c: Likewise.
2568         * lib/poll.c: Likewise.
2569         * lib/popen.c: Likewise.
2570         * lib/posix_openpt.c: Likewise.
2571         * lib/printf-parse.c: Likewise.
2572         * lib/progreloc.c: Likewise.
2573         * lib/putenv.c: Likewise.
2574         * lib/read.c: Likewise.
2575         * lib/relocatable.c: Likewise.
2576         * lib/rename.c: Likewise.
2577         * lib/same-inode.h: Likewise.
2578         * lib/secure_getenv.c: Likewise.
2579         * lib/select.c: Likewise.
2580         * lib/sethostname.c: Likewise.
2581         * lib/setlocale.c: Likewise.
2582         * lib/sigaction.c: Likewise.
2583         * lib/sigprocmask.c: Likewise.
2584         * lib/sleep.c: Likewise.
2585         * lib/spawn-pipe.h: Likewise.
2586         * lib/spawn-pipe.c: Likewise.
2587         * lib/spawni.c: Likewise.
2588         * lib/stat-time.h: Likewise.
2589         * lib/stat-w32.c: Likewise.
2590         * lib/stat.c: Likewise.
2591         * lib/stdio.in.h: Likewise.
2592         * lib/stdio-impl.h: Likewise.
2593         * lib/stdio-read.c: Likewise.
2594         * lib/stdio-write.c: Likewise.
2595         * lib/stdlib.in.h: Likewise.
2596         * lib/strerror_r.c: Likewise.
2597         * lib/strftime-fixes.c: Likewise.
2598         * lib/sys_stat.in.h: Likewise.
2599         * lib/sys_types.in.h: Likewise.
2600         * lib/sys_wait.in.h : Likewise.
2601         * lib/system-quote.h: Likewise.
2602         * lib/system-quote.c: Likewise.
2603         * lib/tmpdir.c: Likewise.
2604         * lib/tzset.c: Likewise.
2605         * lib/uname.c: Likewise.
2606         * lib/unistd.in.h: Likewise.
2607         * lib/utime.in.h: Likewise.
2608         * lib/utime.c: Likewise.
2609         * lib/utimecmp.c: Likewise.
2610         * lib/utimens.c: Likewise.
2611         * lib/vasnprintf.c: Likewise.
2612         * lib/vma-iter.h: Likewise.
2613         * lib/vma-iter.c: Likewise.
2614         * lib/wait-process.c: Likewise.
2615         * lib/wcsftime.c: Likewise.
2616         * lib/wctype.in.h: Likewise.
2617         * lib/write.c: Likewise.
2618         * tests/nap.h: Likewise.
2619         * tests/test-cloexec.c: Likewise.
2620         * tests/test-dup-safer.c: Likewise.
2621         * tests/test-dup2.c: Likewise.
2622         * tests/test-dup3.c: Likewise.
2623         * tests/test-fcntl.c: Likewise.
2624         * tests/test-get-rusage-data.c: Likewise.
2625         * tests/test-getaddrinfo.c: Likewise.
2626         * tests/test-getlogin.h: Likewise.
2627         * tests/test-isatty.c: Likewise.
2628         * tests/test-localename.c: Likewise.
2629         * tests/test-mbrtowc-w32.c: Likewise.
2630         * tests/test-nonblocking.c: Likewise.
2631         * tests/test-nonblocking-pipe-main.c: Likewise.
2632         * tests/test-nonblocking-socket-main.c: Likewise.
2633         * tests/test-nonblocking-socket.h: Likewise.
2634         * tests/test-pipe.c: Likewise.
2635         * tests/test-pipe2.c: Likewise.
2636         * tests/test-poll.c: Likewise.
2637         * tests/test-pthread_sigmask1.c: Likewise.
2638         * tests/test-select.h: Likewise.
2639         * tests/test-sethostname2.c: Likewise.
2640         * tests/test-sigprocmask.c: Likewise.
2641         * tests/test-spawn-pipe-child.c: Likewise.
2642         * tests/test-stat-time.c: Likewise.
2643         * tests/test-system-quote-main.c: Likewise.
2644         * tests/test-utimens-common.h: Likewise.
2645         * tests/test-wcrtomb-w32.c: Likewise.
2646         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
2647         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
2648         * m4/javacomp.m4 (gt_JAVACOMP): Likewise.
2649         * m4/javaexec.m4 (gt_JAVAEXEC): Likewise.
2650         * m4/locale-ar.m4 (gt_LOCALE_AR): Likewise.
2651         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
2652         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
2653         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
2654         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
2655         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
2656         * m4/nocrash.m4 (GL_NOCRASH): Likewise.
2657         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET): Likewise.
2658         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
2659         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
2660         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Likewise.
2661         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
2663 2018-05-02  Bruno Haible  <bruno@clisp.org>
2665         localename: Fix test failures on mingw.
2666         * lib/localename.c (gl_locale_name_thread): Remove code specific to
2667         native Windows.
2668         (gl_locale_name_posix): Move code specific to native Windows here.
2669         * tests/test-localename.c (test_locale_name, test_locale_name_posix):
2670         Accept result without charset suffix, as it appears on mingw.
2672 2018-04-28  Paul Smith  <psmith@gnu.org>
2674         bootstrap: Avoid gnulib operations if not needed
2675         * build-aux/bootstrap: Remove unused variable gnulib_mk.
2676         Set $gnulib_extra_files early so it can be overridden in .conf.
2677         Remove redundant --import flag from $gnulib_tool_options.
2678         Set $use_gnulib to false if no gnulib modules or files are needed.
2679         If $use_gnulib is false, don't do anything related to gnulib.
2680         A lot of this is just whitespace (indentation) changes.
2682 2018-04-27  Paul Eggert  <eggert@cs.ucla.edu>
2684         manywarnings: port to GCC 8.0
2685         * build-aux/gcc-warning.spec: Add -Wcatch-value,
2686         -Wclass-memaccess, -Wdo-subscript, -Wextra-semi.  Adjust to the
2687         fact that the GCC help message now mentions operands for
2688         -Warray-bounds, -Wformat, -Wformat-overflow, -Wformat-truncation,
2689         -Wimplicit-fallthrough, -Wplacement-new, -Wshift-overflow,
2690         -Wstrict-aliasing, -Wstrict-overflow, -Wstringop-overflow,
2691         and -Wunused-const-variable.
2692         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wattribute-alias,
2693         -Wcast-align=strict, -Wcast-function-type, -Wif-not-aligned,
2694         -Wmissing-attributes, -Wmultistatement-macros,
2695         -Wpacked-not-aligned, -Wsizeof-pointer-div, -Wstringop-truncation,
2696         -Wsuggest-attribute=cold, -Wsuggest-attribute=malloc.
2698 2018-04-24  Bruno Haible  <bruno@clisp.org>
2700         sys_socket: Make SO_REUSEPORT available across platforms.
2701         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2702         * lib/sys_socket.in.h (SO_REUSEPORT): New macro.
2703         * doc/posix-headers/sys_socket.texi: Mention the issue.
2704         * tests/test-poll.c (SO_REUSEPORT): Remove.
2705         * tests/test-select.h: Include <sys/socket.h>.
2706         (SO_REUSEPORT): Remove.
2707         * modules/select-tests (Depends-on): Add 'sys_socket'.
2709 2018-04-21  Benno Schulenberg  <bensberg@telfort.nl>  (tiny change)
2711         localcharset: short-circuit the search for an alias on a Mac
2712         * lib/localcharset.c (get_charset_aliases): Add a tautological
2713         UTF-8 entry to speed up the search for this case.
2714         Most machines default to a UTF-8 locale nowadays, so begin the
2715         list of aliases with a dummy UTF-8 entry so it will be found
2716         immediately and a time-consuming search through the rest of
2717         the list is avoided.
2719 2018-04-11  Paul Eggert  <eggert@cs.ucla.edu>
2721         fts: add comment
2722         * lib/fts.c (fts_build): Explain why ==, not >.
2723         See remark by Bernhard Voelker in:
2724         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00041.html
2726         fts: fix bug in find across filesystems
2727         This fixes a bug I introduced last summer.
2728         Problem reported by Kamil Dudka in:
2729         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00033.html
2730         * lib/fts.c (filesystem_type, dirent_inode_sort_may_be_useful)
2731         (leaf_optimization):
2732         New arg for file descriptor.  All callers changed.
2733         (fts_build): Check for whether inodes should be sorted
2734         before closing the directory.
2736 2018-04-07  Bruno Haible  <bruno@clisp.org>
2738         unicase/u*-context: Fix link errors with libunistring <= 0.9.9.
2739         Reported by Genki Sky <sky@genki.is>.
2740         * modules/unicase/u8-prefix-context (configure.ac): Require libunistring
2741         version 0.9.10 or newer.
2742         * modules/unicase/u8-suffix-context (configure.ac): Likewise.
2743         * modules/unicase/u16-prefix-context (configure.ac): Likewise.
2744         * modules/unicase/u16-suffix-context (configure.ac): Likewise.
2745         * modules/unicase/u32-prefix-context (configure.ac): Likewise.
2746         * modules/unicase/u32-suffix-context (configure.ac): Likewise.
2748 2018-04-07  Bruno Haible  <bruno@clisp.org>
2750         execute: Update comment.
2751         * lib/execute.h (execute): Refer to spawn-pipe.h, not pipe.h.
2753 2018-04-05  Paul Eggert  <eggert@cs.ucla.edu>
2755         fts: treat CIFS like NFS
2756         Problem reported by Kamil Dudka in:
2757         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00015.html
2758         * lib/fts.c (S_MAGIC_CIFS): New macro.
2759         (dirent_inode_sort_may_be_useful, leaf_optimization):
2760         Treat CIFS like NFS.
2762 2018-03-28  Bruno Haible  <bruno@clisp.org>
2764         c-stack: Fix possible build failure on some platforms.
2765         * lib/c-stack.c (die): Define whenever this function is referenced.
2767 2018-03-28  Paul Eggert  <eggert@cs.ucla.edu>
2769         time_rz: fix workaround for Mac OS X 10.6 infloop
2770         Problems reported by Charles A. Roelli (Bug#27736#117).
2771         * m4/time_rz.m4 (gl_TIME_RZ): Use a slightly different timestamp.
2772         Also, discard output, which clutters the 'configure' log.
2774 2018-03-27  Paul Eggert  <eggert@cs.ucla.edu>
2776         havelib: port to Solaris 10 /bin/sh
2777         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Use 'test ! EXPR'
2778         instead of '! test EXPR'.
2780 2018-03-26  Paul Eggert  <eggert@cs.ucla.edu>
2782         time_rz: work around Mac OS X 10.6 infloop
2783         * doc/posix-functions/localtime.texi:
2784         * doc/posix-functions/localtime_r.texi: Mention the bug.
2785         * lib/time_rz.c (localtime_rz): Work around the bug.  It’d be
2786         better to fix localtime and localtime_r instead, but that would be
2787         more work and is not needed to fix the Emacs problem.
2788         * m4/time_rz.m4 (gl_TIME_RZ): Detect the bug.
2790 2018-03-24  Jim Meyering  <meyering@fb.com>
2792         test-version-etc.sh: don't use diff directly: use init.sh's compare
2793         We'd rather not sacrifice readable "diff -u" output even for
2794         "diff -c" output (not supported by busybox) or for even less
2795         readable ed-style "diff" output.  So use init.sh's compare function
2796         * tests/test-version-etc.sh: Source init.sh and add "." to path.
2797         Remove "./" from invocation of test-version-etc, so we use path.
2798         And s/diff/compare/.
2799         * modules/version-etc-tests (Depends-on): Add test-framework-sh,
2800         to get init.sh.
2801         Prompted by Eric Blake's comments in
2802         https://lists.gnu.org/r/sed-devel/2018-03/msg00015.html
2804 2018-03-24  Bruno Haible  <bruno@clisp.org>
2806         javacomp-script, javacomp: Add support for Java 10.
2807         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 10 and
2808         target-version 10.
2809         * lib/javaversion.h: Update comments.
2810         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
2811         source_version_index, get_goodcode_snippet, get_failcode_snippet,
2812         TARGET_VERSION_BOUND, target_version_index,
2813         corresponding_classfile_version): Accept source_version 10 and
2814         target_version 10.
2815         * lib/javacomp.h: Update comments accordingly.
2817 2018-03-24  Bruno Haible  <bruno@clisp.org>
2819         javacomp-script, javacomp: Update comments.
2820         * m4/javacomp.m4: Update comments regarding gcj.
2821         * lib/javacomp.h: Likewise.
2823 2018-03-24  Bruno Haible  <bruno@clisp.org>
2825         javacomp-script, javacomp: Fix support for Java 7, 8, 9.
2826         * lib/javaversion.h: Update comments.
2827         * lib/javacomp.h: Likewise.
2828         * lib/javacomp.c (default_target_version, source_version_index,
2829         get_goodcode_snippet, get_failcode_snippet): Recognize "9" instead of
2830         "1.9".
2831         (TARGET_VERSION_BOUND): Bump to 9.
2832         (target_version_index, corresponding_classfile_version): Recognize "9"
2833         instead of "1.9".
2834         (get_source_version_for_javac): New function.
2835         (is_envjavac_nongcj_usable, is_javac_usable): Add
2836         source_version_for_javac argument.
2837         (compile_java_class): Determine and pass source_version_for_javac.
2838         * m4/javacomp.m4: Recognize version '9' instead of '1.9'. When invoking
2839         $JAVAC or javac, pass '-source 1.6' instead of '-source 1.5' when
2840         appropriate.
2842 2018-03-23  Jim Meyering  <meyering@fb.com>
2844         test-version-etc.sh: port to diff without -c
2845         * tests/test-version-etc.sh: Don't use diff's -c option.
2846         This caused spurious test failure on Alpine Linux, which
2847         uses busybox's diff. Reported by Assaf Gordon in
2848         https://lists.gnu.org/r/sed-devel/2018-03/msg00013.html
2850 2018-03-23  Paul Eggert  <eggert@cs.ucla.edu>
2852         c-stack: port to recent GCC build
2853         Problem reported by The Fireplace (Bug#30913).
2854         * lib/c-stack.c (die): Define only if used.
2856 2018-03-20  Bruno Haible  <bruno@clisp.org>
2858         euidaccess: Port to native Windows.
2859         * lib/euidaccess.c (euidaccess): On native Windows, just use _access().
2860         * posix-modules (exclude_for_mingw): Remove 'euidaccess'.
2862 2018-03-19  Bruno Haible  <bruno@clisp.org>
2864         javacomp: Add support for Java 7, 8, 9.
2865         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
2866         source_version_index, get_goodcode_snippet, get_failcode_snippet,
2867         corresponding_classfile_version): Accept source_version 1,7, 1.8, 1.9
2868         and target_version 1,7, 1.8, 1.9.
2869         * lib/javacomp.h: Update comments accordingly.
2871 2018-03-19  Bruno Haible  <bruno@clisp.org>
2873         javacomp-script: Add support for Java 9.
2874         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.9 and
2875         target-version 1.9.
2877 2018-03-16  Bruno Haible  <bruno@clisp.org>
2879         glob: Don't compile replacements on recent glibc systems.
2880         * lib/glob.in.h: Use the usual idiom for the double-inclusion guard. If
2881         REPLACE_GLOB is 0, include the system's <glob.h> and use
2882         _GL_CXXALIAS_SYS.
2883         * m4/glob.m4 (gl_GLOB): Set REPLACE_GLOB instead of GLOB_H. Accept
2884         _GNU_GLOB_INTERFACE_VERSION 2 as well. Delete the file conf$$-globtest
2885         inside the AC_RUN_IFELSE block. Remove GL_GENERATE_GLOB_H conditional.
2886         * modules/glob (Dependencies): Test REPLACE_GLOB instead of GLOB_H.
2887         Remove snippet/warn-on-use.
2888         (configure.ac): Test REPLACE_GLOB instead of GLOB_H.
2889         (Makefile.am): Create glob.h always. Update list of substitutions in
2890         glob.h. Don't depend on $(WARN_ON_USE_H).
2892 2018-03-16  Bruno Haible  <bruno@clisp.org>
2894         glob: Fix link error on native Windows.
2895         * modules/glob (Depends-on): Add 'lstat'.
2897 2018-03-15  Bruno Haible  <bruno@clisp.org>
2899         glob: Fix compilation error in C++ mode.
2900         * lib/glob.in.h (_Restrict_): Define, like in regex.h and spawn.in.h.
2902 2018-03-15  Bruno Haible  <bruno@clisp.org>
2904         host-cpu-c-abi: Support for RISC-V CPU.
2905         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the various
2906         riscv32 and riscv64 ABIs.
2907         References:
2908         https://github.com/riscv/riscv-toolchain-conventions
2909         https://gcc.gnu.org/onlinedocs/gcc-7.3.0/gcc/RISC-V-Options.html
2910         https://gnu-mcu-eclipse.github.io/toolchain/riscv/
2912 2018-03-08  Paul Eggert  <eggert@cs.ucla.edu>
2914         fflush: be more paranoid about libio.h change
2915         Suggested by Eli Zaretskii in:
2916         https://lists.gnu.org/r/emacs-devel/2018-03/msg00270.html
2917         * lib/fbufmode.c (fbufmode):
2918         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
2919         (disable_seek_optimization, rpl_fflush):
2920         * lib/fpending.c (__fpending):
2921         * lib/fpurge.c (fpurge):
2922         * lib/freadable.c (freadable):
2923         * lib/freadahead.c (freadahead):
2924         * lib/freading.c (freading):
2925         * lib/freadptr.c (freadptr):
2926         * lib/freadseek.c (freadptrinc):
2927         * lib/fseeko.c (fseeko):
2928         * lib/fseterr.c (fseterr):
2929         * lib/fwritable.c (fwritable):
2930         * lib/fwriting.c (fwriting):
2931         Look at _IO_ftrylockfile as well as at _IO_EOF_SEEN.
2933 2018-03-07  Paul Eggert  <eggert@cs.ucla.edu>
2935         maint: write-file-hooks -> before-save-hook
2936         write-file-hooks is obsolete since Emacs 22.1 (released June 2007) and
2937         it's time to use the recommended replacement.
2938         Problem reported by Glenn Morris in:
2939         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00008.html
2940         * build-aux/announce-gen, build-aux/bootstrap:
2941         * build-aux/do-release-commit-and-tag, build-aux/gendocs.sh:
2942         * build-aux/git-version-gen, build-aux/gitlog-to-changelog:
2943         * build-aux/gnu-web-doc-update, build-aux/gnupload:
2944         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
2945         * build-aux/update-copyright, build-aux/useless-if-before-free:
2946         * build-aux/vc-list-files:
2947         Update hook usage for files where Gnulib is the canonical source.
2949 2018-03-05  Paul Eggert  <eggert@cs.ucla.edu>
2951         binary-io: pacify gcc -Wunused-parameter
2952         Problem reported by Reuben Thomas in:
2953         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00005.html
2954         * lib/binary-io.h (__gl_setmode, __gl_setmode_check):
2955         Use _GL_UNUSED where appropriate.
2957         fflush: adjust to glibc 2.28 libio.h removal
2958         Problem reported by Daniel P. Berrangé in:
2959         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html
2960         * lib/fbufmode.c (fbufmode):
2961         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
2962         (disable_seek_optimization, rpl_fflush):
2963         * lib/fpending.c (__fpending):
2964         * lib/fpurge.c (fpurge):
2965         * lib/freadable.c (freadable):
2966         * lib/freadahead.c (freadahead):
2967         * lib/freading.c (freading):
2968         * lib/freadptr.c (freadptr):
2969         * lib/freadseek.c (freadptrinc):
2970         * lib/fseeko.c (fseeko):
2971         * lib/fseterr.c (fseterr):
2972         * lib/fwritable.c (fwritable):
2973         * lib/fwriting.c (fwriting):
2974         Check _IO_EOF_SEEN instead of _IO_ftrylockfile.
2975         * lib/stdio-impl.h (_IO_IN_BACKUP) [_IO_EOF_SEEN]:
2976         Define if not already defined.
2978 2018-02-27  Paul Eggert  <eggert@cs.ucla.edu>
2980         environ: fix link error on 32-bit Cygwin
2981         Problem reported for GNU Emacs by Ken Brown in:
2982         https://lists.gnu.org/r/emacs-devel/2018-02/msg00765.html
2983         * lib/unistd.in.h (environ) [__i386__]: Do not redeclare.
2985 2018-02-24  Bruno Haible  <bruno@clisp.org>
2987         mbrtowc tests: Fix regression on glibc.
2988         Reported by Bernhard Voelker.
2989         * tests/test-mbrtowc.c (main): Fix expected value of wc.
2991 2018-02-24  Bruno Haible  <bruno@clisp.org>
2993         striconveha, uniconv/*: Avoid test failures on musl libc.
2994         * tests/iconvsupport.c: New file.
2995         * tests/test-striconveha.c (main): Skip autodetect_jp tests if iconv()
2996         does not support the ISO-2022-JP-2 encoding.
2997         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
2998         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
2999         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
3000         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
3001         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
3002         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
3003         * modules/striconveha-tests (Files): Add tests/iconvsupport.c.
3004         (Makefile.am): Link test-striconveha with iconvsupport.o.
3005         * modules/uniconv/u8-conv-from-enc-tests (Files): Add
3006         tests/iconvsupport.c.
3007         (Makefile.am): Link test-u8-conv-from-enc with iconvsupport.o.
3008         * modules/uniconv/u8-strconv-from-enc-tests (Files): Add
3009         tests/iconvsupport.c.
3010         (Makefile.am): Link test-u8-strconv-from-enc with iconvsupport.o.
3011         * modules/uniconv/u16-conv-from-enc-tests (Files): Add
3012         tests/iconvsupport.c.
3013         (Makefile.am): Link test-u16-conv-from-enc with iconvsupport.o.
3014         * modules/uniconv/u16-strconv-from-enc-tests (Files): Add
3015         tests/iconvsupport.c.
3016         (Makefile.am): Link test-u16-strconv-from-enc with iconvsupport.o.
3017         * modules/uniconv/u32-conv-from-enc-tests (Files): Add
3018         tests/iconvsupport.c.
3019         (Makefile.am): Link test-u32-conv-from-enc with iconvsupport.o.
3020         * modules/uniconv/u32-strconv-from-enc-tests (Files): Add
3021         tests/iconvsupport.c.
3022         (Makefile.am): Link test-u32-strconv-from-enc with iconvsupport.o.
3024 2018-02-24  Bruno Haible  <bruno@clisp.org>
3026         localename: Add support for musl libc.
3027         * m4/localename.m4 (gl_LOCALENAME): Check for <langinfo.h>.
3028         * lib/localename.c (gl_locale_name_thread_unsafe): Use NL_LOCALE_NAME
3029         on Linux platforms which define NL_LOCALE_NAME.
3031 2018-02-24  Bruno Haible  <bruno@clisp.org>
3033         mbrtowc tests: Don't make assumptions about the charset the C locale.
3034         * tests/test-mbrtowc.c (main): For bytes >= 0x80, don't assume a
3035         particular mapping in the C locale.
3037 2018-02-24  Bruno Haible  <bruno@clisp.org>
3039         ptsname_r: Don't expect that this function sets errno.
3040         * tests/test-ptsname_r.c (test_errors): Don't test errno after return
3041         from ptsname_r().
3042         * doc/glibc-functions/ptsname_r.texi: Mention the issue.
3044 2018-02-23  Bruno Haible  <bruno@clisp.org>
3046         xmalloca: pacify gcc -Wbad-function-cast
3047         * lib/xmalloca.h (xmalloca): Insert intermediate cast here as well.
3049 2018-02-23  Paul Eggert  <eggert@cs.ucla.edu>
3051         nl_langinfo: pacify gcc -Wunused-function
3052         * lib/nl_langinfo.c (ctype_codeset): Do not define if
3053         REPLACE_NL_LANGINFO && !GNULIB_defined_CODESET, as it is unused in
3054         this case.  Without this change, I got a diagnostic when building
3055         coreutils on Fedora 27 with gcc 7.3.1 20180130.
3057         same: pacify gcc -Wunused-variable
3058         * lib/same.c (same_nameat) [!CHECK_TRUNCATION]:
3059         Omit unused variable.
3061         malloca: pacify gcc -Wbad-function-cast
3062         * lib/malloca.h (malloca): Pacify gcc -Wbad-function-cast
3063         diagnostic that I got on Fedora 27 with gcc 7.3.1 20180130.
3064         To pacify GCC, I had to cast alloca’s result to some type other
3065         than void * before casting that to uintptr_t.
3067 2018-02-20  Paul Eggert  <eggert@cs.ucla.edu>
3069         utimecmp: new function utimecmpat
3070         * lib/utimecmp.c: Include fcntl.h, sys/stat.h and dirname.h.
3071         Do not include utimens.h.
3072         (utimecmpat): New function, generalizing utimecmp.
3073         (utimecmp): Now a thin layer around utimecmpat.
3074         * modules/utimecmp (Depends-on): Depend on dirname-lgpl, fstatat,
3075         utimensat instead of on lstat and utimens.
3077         same: new function same_nameat
3078         * lib/same.c: Include fcntl.h.
3079         * lib/same.c (same_nameat): New function, generalizing same_name.
3080         (same_name): Now a thin layer around same_nameat.
3081         * m4/same.m4 (gl_SAME): Check for fpathconf, not pathconf.
3082         * modules/same (Depends-on): Depend on fstatat, openat.
3084 2018-02-18  Eric Gallager  <egall@gwmail.gwu.edu>  (tiny change)
3086         warnings: Add support for Objective C.
3087         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(Objective C)): New
3088         macro.
3090 2018-02-17  Bruno Haible  <bruno@clisp.org>
3092         lock: Fix test-once1 crash on FreeBSD11.
3093         * lib/glthread/lock.h: On FreeBSD, test the weak value of the symbol
3094         'pthread_create', not 'pthread_cancel'.
3096 2018-02-17  Bruno Haible  <bruno@clisp.org>
3098         lock: Add test of gl_once.
3099         * tests/test-once.c: New file.
3100         * modules/lock-tests (Files): Add it.
3101         (Makefile.am): Build and test programs 'test-once1' and 'test-once2'.
3103 2018-02-17  Bruno Haible  <bruno@clisp.org>
3105         thread: Fix compilation error on IRIX.
3106         * lib/glthread/thread.h: Include <unistd.h>. Include <signal.h> when
3107         needed; include it outside the C++ extern "C" {} block.
3108         * doc/posix-headers/pthread.texi: Mention the problem with
3109         pthread_atfork on IRIX.
3111 2018-02-04  Bruno Haible  <bruno@clisp.org>
3113         nl_langinfo: Override the system's nl_langinfo() when needed.
3114         Reported by Jim Meyering.
3115         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Set REPLACE_NL_LANGINFO=1
3116         also when HAVE_LANGINFO_T_FMT_AMPM or HAVE_LANGINFO_ALTMON is 0.
3118 2018-02-04  Bruno Haible  <bruno@clisp.org>
3120         signal-h, monetary, strings: Fix build failure in some cases.
3121         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
3122         * modules/signal-h (Makefile.am): In the GNULIB_* substitutions, use '/'
3123         as delimiter in sed command, not '|'.
3124         * modules/monetary (Makefile.am): Likewise.
3125         * modules/strings (Makefile.am): Likewise.
3127 2018-02-03  Jim Meyering  <meyering@fb.com>
3129         maint.mk: exempt "/proc/filesystems" from "file system" syntax check
3130         * top/maint.mk (sc_file_system): Don't complain about
3131         "/proc/filesystems".
3133 2018-02-03  Bruno Haible  <bruno@clisp.org>
3135         stdlib: Fix compilation error on OpenIndiana.
3136         * lib/stdlib.in.h: Before including <sys/loadavg.h>, include
3137         <sys/time.h>.
3138         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
3139         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
3141 2018-02-03  Bruno Haible  <bruno@clisp.org>
3143         host-cpu-c-abi: Avoid use of 'grep -E' on OpenIndiana.
3144         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX): Require AC_PROG_EGREP,
3145         and use $EGREP instead of 'grep -E'.
3146         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Use 'grep' instead of
3147         'grep -E'.
3149 2018-02-02  Paul Eggert  <eggert@cs.ucla.edu>
3151         malloca: Add a compile-time verification.
3152         * lib/malloca.c (small_t): Verify that it is wide enough.
3153         * modules/malloca (Depends-on): Add verify.
3155 2018-02-02  Bruno Haible  <bruno@clisp.org>
3157         malloca: Add an argument check.
3158         Suggested by Paul Eggert.
3159         * lib/malloca.c (freea): Check against an invalid argument.
3161 2018-02-02  Bruno Haible  <bruno@clisp.org>
3163         localename: Add support for OpenIndiana.
3164         * lib/localename.c (gl_locale_name_thread_unsafe): Add code for
3165         Solaris 11 variants with uselocale() but without getlocalename_l().
3167 2018-02-02  Bruno Haible  <bruno@clisp.org>
3169         malloca, xmalloca: Make multithread-safe.
3170         Reported by Florian Weimer <fweimer@redhat.com>.
3171         Implements an idea by Ondřej Bílka <neleai@seznam.cz>.
3172         * lib/malloca.h (malloca): In the stack allocation case, return a
3173         pointer that is a multiple of 2 * sa_alignment_max.
3174         (sa_increment): Remove enum item.
3175         * lib/xmalloca.h (xmalloca): In the stack allocation case, return
3176         a pointer that is a multiple of 2 * sa_alignment_max.
3177         * lib/malloca.c (NO_SANITIZE_MEMORY): Remove macro.
3178         (MAGIC_NUMBER, MAGIC_SIZE, preliminary_header, HEADER_SIZE, header,
3179         HASH_TABLE_SIZE, mmalloca_results): Remove.
3180         (small_t): New type.
3181         (mmalloca, free): Rewritten.
3182         * lib/malloca.valgrind: Remove file.
3183         * modules/malloca (Files): Remove it.
3184         (Depends-on): Remove verify.
3186 2018-01-31  Bruno Haible  <bruno@clisp.org>
3188         environ: Fix link error on 64-bit Cygwin.
3189         * lib/unistd.in.h (environ): On Cygwin, redeclare with the
3190         __declspec(dllimport) attribute.
3191         * doc/posix-functions/environ.texi: Mention the Cygwin problem.
3193 2018-01-30  Bruno Haible  <bruno@clisp.org>
3195         get-rusage-data: Add support for Minix 3.
3196         * lib/get-rusage-data.c (get_rusage_data): Return 0 on Minix.
3198 2018-01-30  Bruno Haible  <bruno@clisp.org>
3200         vma-iter: Add support for Minix 3.
3201         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Minix.
3202         * lib/vma-iter.c: On Minix, read /proc/<pid>/map.
3204 2018-01-27  Bruno Haible  <bruno@clisp.org>
3206         Fix malfunction of socket functions on HP-UX in 64-bit mode.
3207         * m4/socketlib.m4 (gl_SOCKETLIB): Add comment.
3208         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define
3209         _HPUX_ALT_XOPEN_SOCKET_API.
3210         * modules/accept (Depends-on): Add 'extensions'.
3211         * modules/getpeername (Depends-on): Likewise.
3212         * modules/getsockname (Depends-on): Likewise.
3213         * modules/getsockopt (Depends-on): Likewise.
3214         * modules/recvfrom (Depends-on): Likewise.
3215         * doc/posix-functions/accept.texi: Mention the HP-UX socklen_t problem.
3216         * doc/posix-functions/getpeername.texi: Likewise.
3217         * doc/posix-functions/getsockname.texi: Likewise.
3218         * doc/posix-functions/getsockopt.texi: Likewise.
3219         * doc/posix-functions/recvfrom.texi: Likewise.
3221 2018-01-27  Bruno Haible  <bruno@clisp.org>
3223         getsockname tests: More tests.
3224         * tests/test-getsockname.c (open_server_socket): New function, mostly
3225         copied from test-poll.c.
3226         (main): Check that getsockname fills in addr.
3227         * modules/getsockname-tests (Depends-on): Add the necessary
3228         dependencies.
3229         (test_getsockname_LDADD): Link with $(INET_PTON_LIB).
3231 2018-01-26  Paul Eggert  <eggert@cs.ucla.edu>
3233         manywarnings: fix maintainer comment
3234         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Fix comment so that
3235         it does not mistakenly think that ‘-1)’ is an option.
3237 2018-01-26  Bruno Haible  <bruno@clisp.org>
3239         langinfo: Fix last commit.
3240         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
3241         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_ALTMON.
3243 2018-01-24  Bruno Haible  <bruno@clisp.org>
3245         langinfo, nl_langinfo: Add support for alternative month names.
3246         * m4/langinfo_h.m4 (gl_LANGINFO_H): Define HAVE_LANGINFO_ALTMON.
3247         * lib/langinfo.in.h (ALTMON_1...ALTMON_12): New macros.
3248         * lib/nl_langinfo.c (rpl_nl_langinfo): Treat ALTMON_i like MON_i.
3249         * tests/test-nl_langinfo.c (main): Test ALTMON_*.
3250         * doc/posix-headers/langinfo.texi: Document support of ALTMON_*.
3251         * doc/posix-functions/nl_langinfo.texi: Likewise.
3253 2018-01-23  Paul Eggert  <eggert@cs.ucla.edu>
3255         Merge strftime.c changes from glibc
3256         This incorporates:
3257         2017-11-14 [BZ #10871] Implement alternative month names
3258         2017-11-14 [BZ #10871] Abbreviated alternative month names (%Ob)
3259         2017-06-20 Use locale_t, not __locale_t, throughout glibc
3260         * lib/nstrftime.c (ABALTMON_1) [!COMPILE_WIDE]: New macro.
3261         (LOCALE_PARAM) [_LIBC && USE_IN_EXTENDED_LOCALE_MODEL]:
3262         Use locale_t, not __locale_t.
3263         (a_altmonth, f_altmonth, aam_len) [_NL_CURRENT]: New macros.
3264         (__strftime_internal): Add support for alternate months.
3266 2018-01-23  Bruno Haible  <bruno@clisp.org>
3268         doc: Mention another prerequisite for using Gnulib.
3269         Reported at <https://stackoverflow.com/questions/48378214/>.
3270         * doc/gnulib-tool.texi (Initial import): Mention requirement to use
3271         AC_CONFIG_HEADERS.
3273 2018-01-22  Mathieu Lirzin  <mthl@gnu.org>
3275         build: GuixSD doesn't have /bin/bash
3276         * Makefile (SHELL): Search 'bash' in the PATH environment variable.
3278 2018-01-21  Bruno Haible  <bruno@clisp.org>
3280         Avoid test failures on Microsoft Windows Subsystem for Linux.
3281         * tests/test-fcntl.c (main): Allow a different errno.
3282         * tests/test-rename.h (test_rename): Likewise.
3283         * tests/test-renameat.c (main): Likewise.
3284         * tests/test-renameat2.c (main): Likewise.
3286 2018-01-14  Paul Eggert  <eggert@cs.ucla.edu>
3288         filenamecat: make base a suffix of result
3289         * lib/filenamecat-lgpl.c (longest_relative_suffix): Remove.
3290         (mfile_name_concat): Always make BASE a suffix of the result, as
3291         cp expects this.  To implement this, separate with '.' instead of
3292         '/' in some rare cases.  Clarify spec to say ./BASE not BASE.
3293         * tests/test-filenamecat.c (main): Adjust tests to match
3294         current behavior.  Check that BASE_IN_RESULT points to
3295         a copy of BASE and is a suffix of the resultk, and that DIR
3296         is a prefix of the result that is no longer than the prefix
3297         indicated by BASE_IN_RESULT.
3299 2018-01-04  Mathieu Lirzin  <mthl@gnu.org>
3301         update-copyright: Handle use of ©
3302         * build-aux/update-copyright ($circle_c_re): Update regex to
3303         handle use of © in headers.
3305 2018-01-04  Tim Rühsen  <tim.ruehsen@gmx.de>
3307         Fix -Wundef warning in user-included header lib/cdefs.h.
3308         * lib/cdefs.h: Check if defined before using __USE_FORTIFY_LEVEL.
3310 2018-01-04  Bruno Haible  <bruno@clisp.org>
3312         pthread_sigmask: Avoid compilation error on mingw.
3313         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
3314         * lib/signal.in.h (pthread_sigmask): Don't declare it it's defined as a
3315         macro.
3317 2018-01-03  Paul Eggert  <eggert@cs.ucla.edu>
3319         test-framework-sh: ‘ps -ef’, not ‘ps ef’
3320         * tests/init.sh (rand_bytes_): Put ‘-’ before new-style ps options.
3321         Suggested by Bob Proulx (Bug#29968).
3322         * build-aux/mktempd (rand_bytes): Make it like tests/init.sh.
3324 2018-01-02  Eric Blake  <eblake@redhat.com>
3326         stat-time: silence -Wunused-parameter regression
3327         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
3328         Prefer attribute over cast-to-void.
3329         (stat_time_normalize): Mark st as potentially unused.
3331 2018-01-02  Paul Eggert  <eggert@cs.ucla.edu>
3333         test-framework-sh: avoid netstat
3334         Problem reported by Kristýna Streitová (Bug#29947).
3335         * tests/init.sh (rand_bytes_): Stop using netstat, as it's
3336         deprecated on SuSE and it's not that important anyway.
3338 2018-01-01  Jim Meyering  <meyering@fb.com>
3340         update-copyright: add code to handle more special cases
3341         After running "make update-copyright" this year, five files
3342         required additional manual changes.  Automate those adjustments
3343         for next year.
3344         * Makefile (_year_and_prev): Define.
3345         (update-copyright): Add perl commands to induce this year's post-
3346         update-copyright adjustments.
3348 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
3350         version-etc: new year
3351         * build-aux/gendocs.sh (version):
3352         * doc/gendocs_template:
3353         * doc/gendocs_template_min:
3354         * doc/gnulib.texi:
3355         * lib/version-etc.c (COPYRIGHT_YEAR):
3356         Update copyright dates by hand in templates and the like.
3358         maint: fix 'make update-copyright'
3359         * Makefile (update-copyright): Adjust to 2016-11-23 change
3360         to config/srclist-update, which changed the format of srclist.txt.
3362 2017-12-30  Paul Eggert  <eggert@cs.ucla.edu>
3364         chdir-safer: remove this module
3365         * MODULES.html.sh (func_all_modules): Remove chdir-safer.
3366         * NEWS: Document removal.
3367         * lib/chdir-safer.c, lib/chdir-safer.h, m4/afs.m4, m4/chdir-safer.m4:
3368         * modules/chdir-safer: Remove these files.
3370 2017-12-29  Samuel Thibault  <samuel.thibault@gnu.org>
3372         Add cross-compilation results for GNU/Hurd.
3373         * m4/calloc.m4: Add GNU/Hurd guess.
3374         * m4/cbrtl.m4: Likewise.
3375         * m4/ceil.m4: Likewise.
3376         * m4/ceilf.m4: Likewise.
3377         * m4/ceill.m4: Likewise.
3378         * m4/chown.m4: Likewise.
3379         * m4/duplocale.m4: Likewise.
3380         * m4/exp2l.m4: Likewise.
3381         * m4/expm1.m4: Likewise.
3382         * m4/fchdir.m4: Likewise.
3383         * m4/floor.m4: Likewise.
3384         * m4/floorf.m4: Likewise.
3385         * m4/fmod.m4: Likewise.
3386         * m4/fmodf.m4: Likewise.
3387         * m4/fmodl.m4: Likewise.
3388         * m4/getcwd.m4: Likewise.
3389         * m4/getgroups.m4: Likewise.
3390         * m4/gettimeofday.m4: Likewise.
3391         * m4/hypot.m4: Likewise.
3392         * m4/hypotf.m4: Likewise.
3393         * m4/hypotl.m4: Likewise.
3394         * m4/link-follow.m4: Likewise.
3395         * m4/link.m4: Likewise.
3396         * m4/linkat.m4: Likewise.
3397         * m4/log.m4: Likewise.
3398         * m4/log10.m4: Likewise.
3399         * m4/log10f.m4: Likewise.
3400         * m4/log1p.m4: Likewise.
3401         * m4/log1pf.m4: Likewise.
3402         * m4/log1pl.m4: Likewise.
3403         * m4/log2.m4: Likewise.
3404         * m4/log2f.m4: Likewise.
3405         * m4/logf.m4: Likewise.
3406         * m4/lstat.m4: Likewise.
3407         * m4/malloc.m4: Likewise.
3408         * m4/mbrlen.m4: Likewise.
3409         * m4/mbrtowc.m4: Likewise.
3410         * m4/mkdir.m4: Likewise.
3411         * m4/mkfifo.m4: Likewise.
3412         * m4/mknod.m4: Likewise.
3413         * m4/mkstemp.m4: Likewise.
3414         * m4/modf.m4: Likewise.
3415         * m4/modff.m4: Likewise.
3416         * m4/modfl.m4: Likewise.
3417         * m4/printf.m4: Likewise.
3418         * m4/pselect.m4: Likewise.
3419         * m4/ptsname.m4: Likewise.
3420         * m4/putenv.m4: Likewise.
3421         * m4/readlink.m4: Likewise.
3422         * m4/realloc.m4: Likewise.
3423         * m4/remainder.m4: Likewise.
3424         * m4/remainderf.m4: Likewise.
3425         * m4/remainderl.m4: Likewise.
3426         * m4/rmdir.m4: Likewise.
3427         * m4/round.m4: Likewise.
3428         * m4/roundf.m4: Likewise.
3429         * m4/roundl.m4: Likewise.
3430         * m4/select.m4: Likewise.
3431         * m4/setenv.m4: Likewise.
3432         * m4/signbit.m4: Likewise.
3433         * m4/sleep.m4: Likewise.
3434         * m4/stat.m4: Likewise.
3435         * m4/strerror.m4: Likewise.
3436         * m4/strtok_r.m4: Likewise.
3437         * m4/symlink.m4: Likewise.
3438         * m4/symlinkat.m4: Likewise.
3439         * m4/trunc.m4: Likewise.
3440         * m4/truncf.m4: Likewise.
3441         * m4/truncl.m4: Likewise.
3442         * m4/tzset.m4: Likewise.
3443         * m4/ungetc.m4: Likewise.
3444         * m4/usleep.m4: Likewise.
3445         * m4/wcwidth.m4: Likewise.
3447 2017-12-28  Bruno Haible  <bruno@clisp.org>
3449         gnulib-tool: Make --conditional-dependencies work better.
3450         Reported by Dmitry Selyutin <ghostman.sd@gmail.com>.
3451         * gnulib-tool (Options): Don't reject the combination of
3452         --conditional-dependencies with --with-tests.
3453         (func_emit_autoconf_snippets): Add argument referenceable_modules.
3454         Don't reference $modules.
3455         (func_import, func_create_testdir): Pass it.
3457 2017-12-19  Paul Eggert  <eggert@cs.ucla.edu>
3459         regex: use re_malloc etc. consistently
3460         Problem and original patch reported by Arnold Robbins in:
3461         https://sourceware.org/ml/libc-alpha/2017-12/msg00241.html
3462         * lib/regcomp.c (re_comp):
3463         * lib/regexec.c (push_fail_stack, build_trtable, match_ctx_clean):
3464         Use re_malloc/re_realloc/re_free instead of malloc/realloc/free.
3466 2017-12-15  Tim Rühsen  <tim.ruehsen@gmx.de>
3467             Paul Eggert  <eggert@cs.ucla.edu>
3469         glob: Silence warning about void pointer arithmetic.
3470         * lib/glob.c (glob): Use a 'char *', not a 'void *', in pointer
3471         arithmetic.
3473 2017-12-15  Bruno Haible  <bruno@clisp.org>
3475         spawn-pipe: Silence a clang warning.
3476         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
3477         * lib/spawn-pipe.c: Disable clang -Wconditional-uninitialized warnings
3478         in this file.
3480 2017-12-12  Paul Eggert  <eggert@cs.ucla.edu>
3482         explicit_bzero: port to macOS + Clang 9.0.0
3483         Problem reported by Marcus Johnson (Bug#29658).
3484         * lib/explicit_bzero.c (explicit_bzero) [__clang__]:
3485         Don’t use asm.
3487 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
3489         doc: Improve explanation of supporting relocatable libraries.
3490         * doc/relocatable-maint.texi (Supporting Relocation): Explain
3491         properly how to build the relocatable module for
3492         libraries. (Method and example code from Bruno Haible.)
3494 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
3496         doc: Use better texinfo tags in a few cases.
3497         * doc/gnulib.texi (Extending Gnulib): Use @option or @command
3498         instead of @samp in a few places.
3500 2017-12-11  Bruno Haible  <bruno@clisp.org>
3502         unistr/base: Update comment.
3503         * lib/unistr.in.h: Update comment about u*_mbtouc_unsafe functions.
3505 2017-12-10  Pádraig Brady  <P@draigBrady.com>
3507         test-faccessat.c: unlink temp file to avoid subsequent test failure
3508         * tests/test-faccessat.c: Remove the file to avoid failure
3509         to open the file on subsequent runs due to being created
3510         with no permissions.
3512 2017-12-10  Bruno Haible  <bruno@clisp.org>
3514         doc: New sect. "Modifying the build rules of a Gnulib import directory".
3515         * doc/gnulib-tool.texi (Modified build rules): New node.
3517 2017-12-10  Bruno Haible  <bruno@clisp.org>
3519         doc: Tweak wording.
3520         * doc/gnulib-tool.texi (Multiple instances): Talk about "programs", not
3521         "binaries".
3523 2017-12-05  Sam Steingold  <sds@gnu.org>
3524             Bruno Haible  <bruno@clisp.org>
3526         no-c++: Avoid "egrep: repetition-operator operand invalid" error.
3527         * m4/no-c++.m4 (gt_NO_CXX): Don't use '+' characters nor spaces in the
3528         AC_EGREP_CPP pattern.
3530 2017-12-03  Bruno Haible  <bruno@clisp.org>
3532         all: Replace more http URLs by https URLs.
3533         * lib/sm3.h, lib/sm3.c, tests/test-sm3.c: Use https: URL.
3534         * lib/unigbrk/u-grapheme-breaks.h: Likewise.
3535         * lib/unigbrk/uc-grapheme-breaks.c: Likewise.
3536         * tests/unigbrk/test-uc-grapheme-breaks.c: Likewise.
3538 2017-11-28  Paul Eggert  <eggert@cs.ucla.edu>
3540         Port better to CentOS 5
3541         Problems reported by Tom G. Christensen in:
3542         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00053.html
3543         * doc/glibc-functions/strverscmp.texi (strverscmp):
3544         Document strverscmp bug with glibc 2.9 and earlier.
3545         * doc/posix-functions/tzset.texi (tzset):
3546         Document that TZ with angle brackets is POSIX-2001 and later.
3547         * tests/test-nstrftime.c: Include unistd.h.
3548         (TZ_ANGLE_BRACKETS_SHOULD_WORK): New macro.
3549         (TZ): Use it to skip tests with angle brackets in TZ,
3550         for older systems.
3552         stat: add missing module dependencies
3553         * modules/lstat, modules/stat, modules/utimensat (Depends-on):
3554         Add stat-time.
3556 2017-11-28  Benno Schulenberg  <bensberg@telfort.nl>
3558         stat: fix compilation failure on macOS Sierra
3559         Reported by Marius Schamschula <mschamschula@gmail.com> in:
3560         https://savannah.gnu.org/bugs/?52546
3561         * lib/stat.c: Add missing include of stat-time.h.
3563 2017-11-28  Jim Meyering  <meyering@fb.com>
3565         test-faccessat.c: correct BASE definition to avoid parallel test failure
3566         * tests/test-faccessat.c (BASE): Define using this file's name, not
3567         that of test-lstat.c.  Using the latter caused this test to fail
3568         sometimes when run concurrently with test-lstat.
3570 2017-11-27  Daiki Ueno  <ueno@gnu.org>
3572         unicase: fix VPATH build
3573         * modules/unicase/special-casing (Makefile.am): Ensure that the
3574         base directory is created when generating
3575         unicase/special-casing.h.
3577 2017-11-27  Daiki Ueno  <ueno@gnu.org>
3579         libunistring: update to Unicode 9.0.0
3580         * lib/gen-uni-tables.c (fill_properties): Recognize
3581         Sentence_Terminal and Prepended_Concatenation_Mark.
3582         (is_property_default_ignorable_code_point): Exclude U+08E2.
3583         (fill_arabicshaping): Allow missing whitespace when parsing;
3584         recognize "AFRICAN FEH", "AFRICAN QAF", and "AFRICAN MOON".
3585         (output_blocks): Increase the element size of the level1 table to
3586         accommodate more blocks.
3587         (get_lbp): Recognize ZWJ, E_Base, and E_Modifier characters;
3588         Update each class according to the standard.
3589         (get_wbp): Recognize ZWJ, E_Base, E_Modifier, Glue_After_Zwj, and
3590         E_Base_GAZ characters.
3591         (output_gbp_table): Recognize ZWJ, E_Base, E_Modifier,
3592         Glue_After_Zwj, and E_Base_GAZ characters.
3593         * lib/unictype.in.h (UC_JOINING_GROUP_AFRICAN_FEH)
3594         (UC_JOINING_GROUP_AFRICAN_QAF, UC_JOINING_GROUP_AFRICAN_MOON): New
3595         enum value.
3596         * lib/unilbrk/lbrktables.h (LBP_ZWJ, LBP_EB, LBP_EM): New enum
3597         value.
3598         * lib/unilbrk/lbrktables.c (unilbrk_table): Extend the table with
3599         LBP_ZWJ, LBP_EB, and LBP_EM.
3600         * lib/uniwbrk.in.h (WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, WBP_EBG): New
3601         enum value.
3602         * lib/uniwbrk/u-wordbreaks.h: Implement WB3c, WB15, and WB16.
3603         * lib/uniwbrk/wbrktable.h (uniwbrk_prop_index): New variable
3604         declaration.
3605         * lib/uniwbrk/wbrktable.c (uniwbrk_prop_index): New variable.
3606         (uniwbrk_table): Implement WB14.
3607         * tests/uniwbrk/test-uc-wordbreaks.c (wordbreakproperty_to_string):
3608         Check WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, and WBP_EBG.
3609         * modules/unigbrk/u{32,16,8}-grapheme-breaks: No longer depend on
3610         uc-is-grapheme-break.
3611         * modules/unigbrk/uc-grapheme-breaks: New module.
3612         * modules/unigbrk/uc-grapheme-breaks-tests: New module.
3613         * lib/unigbrk.in.h (GBP_ZWJ, GBP_EB, GBP_EM, GBP_GAZ, GBP_EBG): New
3614         enum value.
3615         (uc_grapheme_breaks): New function, replacing uc_is_grapheme_break.
3616         * lib/unigbrk/u-grapheme-breaks.h: New file.
3617         * lib/unigbrk/u{32,16,8}-grapheme-breaks.c: Rewrite using
3618         u-grapheme-breaks.h instead of uc_is_grapheme_break.
3619         * lib/unigbrk/uc-grapheme-breaks.c: New file.
3620         * lib/unigbrk/uc-is-grapheme-break.c: Partially update to TR29 rev
3621         29.
3622         * tests/unigbrk/test-uc-gbrk-prop.c
3623         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
3624         GBP_GAZ, and GBP_EBG.
3625         * tests/unigbrk/test-uc-grapheme-breaks.c: New test.
3626         * tests/unigbrk/test-uc-is-grapheme-break.c
3627         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
3628         GBP_GAZ, and GBP_EBG.
3629         (main): Skip unsupported rules involving 3 or more characters,
3630         namely GB10, GB12, and GB13.
3631         * lib/uniwidth/width.c (nonspacing_table_data): Update.
3632         * all generated files under lib/uni* and tests/uni*: Regenerate.
3633         * all the affected modules: Bump version.
3635 2017-11-26  Bruno Haible  <bruno@clisp.org>
3637         strfmon_l: Fix compilation error with glibc 2.5.
3638         Reported by Tom G. Christensen <tgc@jupiterrise.com>
3639         in <https://lists.gnu.org/r/bug-gnulib/2017-11/msg00051.html>.
3640         * lib/monetary.in.h: Include also <locale.h>.
3642 2017-11-24  Paul Eggert  <eggert@cs.ucla.edu>
3644         posixtm: remove PDS_LEADING_YEAR
3645         This changes the API slightly, in a hopefully-innocuous way.
3646         Without this change the code had undefined behavior when a
3647         caller specified neither PDS_LEADING_YEAR nor PDS_TRAILING_YEAR.
3648         Problem reported by Pádraig Brady in:
3649         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00048.html
3650         * NEWS: Mention this.
3651         * lib/posixtm.c (posix_time_parse): Treat the absence of
3652         PDS_TRAILING_YEAR as if PDS_LEADING_YEAR were present.
3653         * lib/posixtm.h (PDS_LEADING_YEAR): Remove (actually, leave it
3654         present, but define it as zero, for compatibility with existing
3655         source code).  All other PDS_* values moved up.
3656         * tests/test-posixtm.c (LY): New macro.
3657         (T): Use it.  Do not expect a particular numeric encoding
3658         for PDS_CENTURY etc.
3660 2017-11-23  Paul Eggert  <eggert@cs.ucla.edu>
3662         stat: work around Solaris bug with tv_nsec < 0
3663         * doc/posix-functions/fstat.texi (fstat):
3664         * doc/posix-functions/fstatat.texi (fstatat):
3665         * doc/posix-functions/lstat.texi (lstat):
3666         * doc/posix-functions/stat.texi (stat):
3667         Mention Solaris 11 bug.
3668         * lib/fstat.c, lib/fstatat.c, lib/lstat.c: Include stat-time.h.
3669         * lib/fstat.c (rpl_fstat) [!WINDOWS_NATIVE]:
3670         * lib/lstat.c (rpl_lstat):
3671         * lib/stat.c (rpl_stat):
3672         Normalize resulting timestamps.
3673         * lib/fstatat.c (normal_fstatat): New function.
3674         (rpl_fstatat): Use it.
3675         * lib/stat-time.h: Include intprops.h, errno.h, stddef.h.
3676         (stat_time_normalize): New function.
3677         * m4/fstat.m4 (gl_FUNC_FSTAT):
3678         * m4/fstatat.m4 (gl_FUNC_FSTATAT):
3679         * m4/lstat.m4 (gl_FUNC_LSTAT):
3680         * m4/stat.m4 (gl_FUNC_STAT):
3681         Replace on Solaris.
3682         * modules/fstat (Depends-on):
3683         * modules/fstatat (Depends-on):
3684         Add stat-time.
3685         * modules/stat-time (Depends-on): Add errno, intprops.
3687 2017-11-22  Paul Eggert  <eggert@cs.ucla.edu>
3689         regex: merge from glibc
3690         * lib/regcomp.c (init_word_char): Add comments.
3692 2017-11-20  Paul Eggert  <eggert@cs.ucla.edu>
3694         regex: merge from glibc
3695         * lib/regcomp.c (__regcomp, __regfree) [_LIBC]: Now hidden.
3696         * lib/regex_internal.h (internal_function): Remove.
3697         All uses removed.
3699 2017-11-20  Bruno Haible  <bruno@clisp.org>
3701         crypto/gc-sm3: Fix buffer overrun.
3702         * lib/gc-gnulib.c (MAX_DIGEST_SIZE): Bump to 32.
3703         Reported by Coverity.
3705 2017-11-12  Jim Meyering  <meyering@fb.com>
3707         maint: shorten https://lists.gnu.org/archive/html/... links
3708         Each /archive/html/ part can be replace with /r/.
3709         Run this to induce the change:
3710         git grep -l archive/html|xargs perl -pi -e 's,/archive/html/,/r/,g'
3711         * ChangeLog: Perform that substitution.
3712         * Makefile: Likewise.
3713         * STATUS-libposix: Likewise.
3714         * build-aux/bootstrap: Likewise.
3715         * doc/maintain.texi: Likewise.
3716         * gnulib-tool: Likewise.
3717         * lib/allocator.h: Likewise.
3718         * lib/argp-ba.c: Likewise.
3719         * lib/argp-pv.c: Likewise.
3720         * lib/canon-host.c: Likewise.
3721         * lib/canonicalize-lgpl.c: Likewise.
3722         * lib/float.in.h: Likewise.
3723         * lib/fstat.c: Likewise.
3724         * lib/getdelim.c: Likewise.
3725         * lib/getprogname.c: Likewise.
3726         * lib/glthread/thread.h: Likewise.
3727         * lib/intprops.h: Likewise.
3728         * lib/mbsrtowcs-state.c: Likewise.
3729         * lib/safe-read.c: Likewise.
3730         * lib/signal.in.h: Likewise.
3731         * lib/stat.c: Likewise.
3732         * lib/stdbool.in.h: Likewise.
3733         * lib/stdio-impl.h: Likewise.
3734         * lib/stdio.in.h: Likewise.
3735         * lib/sysexits.in.h: Likewise.
3736         * lib/timespec.h: Likewise.
3737         * lib/wcsrtombs-state.c: Likewise.
3738         * m4/alloca.m4: Likewise.
3739         * m4/extern-inline.m4: Likewise.
3740         * m4/fstatat.m4: Likewise.
3741         * m4/gnulib-common.m4: Likewise.
3742         * m4/lib-ignore.m4: Likewise.
3743         * m4/printf.m4: Likewise.
3744         * m4/regex.m4: Likewise.
3745         * m4/stat-size.m4: Likewise.
3746         * m4/std-gnu11.m4: Likewise.
3747         * m4/stdbool.m4: Likewise.
3748         * m4/sys_types_h.m4: Likewise.
3749         * m4/threadlib.m4: Likewise.
3750         * m4/vararrays.m4: Likewise.
3751         * pygnulib/GLImport.py: Likewise.
3752         * tests/test-exp.h: Likewise.
3753         * tests/test-exp2.h: Likewise.
3754         * tests/test-expm1.h: Likewise.
3755         * tests/test-fflush2.c: Likewise.
3756         * tests/test-getopt_long.h: Likewise.
3757         * tests/test-intprops.c: Likewise.
3758         * tests/test-log.h: Likewise.
3759         * tests/test-log10.h: Likewise.
3760         * tests/test-log1p.h: Likewise.
3761         * tests/test-log2.h: Likewise.
3762         * tests/test-printf-posix.h: Likewise.
3763         * tests/test-regex.c: Likewise.
3764         * tests/test-snprintf-posix.h: Likewise.
3765         * tests/test-sprintf-posix.h: Likewise.
3766         * tests/test-stdalign.c: Likewise.
3767         * tests/test-stdbool.c: Likewise.
3768         * tests/test-vasnprintf-posix.c: Likewise.
3769         * tests/test-vasprintf-posix.c: Likewise.
3770         * top/maint.mk: Likewise.
3772 2017-11-12  Bruno Haible  <bruno@clisp.org>
3774         faccessat: Make the last change more robust.
3775         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Require
3776         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Treat "guessing yes" like "yes".
3778 2017-11-11  Paul Eggert  <eggert@cs.ucla.edu>
3780         faccessat: port to macOS (Bug#29231)
3781         macOS faccessat has the same bug that lstat does: if the file
3782         name ends in '/' it ignores the trailing slash.
3783         Problem reported for Emacs by Vincent Zhang.
3784         * doc/posix-functions/faccessat.texi (faccessat): Document this.
3785         * lib/faccessat.c (_GL_INCLUDING_UNISTD_H): Define and undef
3786         around the initial includes.  Include errno.h, string.h, sys/stat.h.
3787         (orig_faccessat) [HAVE_FACCESSAT]: New function.
3788         Include "unistd.h" after defining it.
3789         (rpl_faccessat) [HAVE_FACCESSAT]: New implementation.
3790         * lib/unistd.in.h (faccessat) [REPLACE_FACCESSAT]:
3791         Handle in the usual way.
3792         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Replace faccessat if
3793         lstat dereferences symlinks, since faccessat is likely to
3794         have the same problem.
3795         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Default REPLACE_ACCESSAT.
3796         * modules/faccessat (Depends-on): Add fstatat.
3797         Depend if REPLACE_FACCESSAT is 1, too.
3798         (configure.ac): Link if REPLACE_FACCESSAT is 1.
3799         * modules/faccessat-tests (Depends-on): Add symlink.
3800         * modules/unistd (unistd.h): Substitute REPLACE_FACCESSAT.
3801         * tests/test-faccessat.c (main): Test for the bug.
3803 2017-11-11  Bruno Haible  <bruno@clisp.org>
3805         getprogname: Fix compilation error on IRIX.
3806         * lib/getprogname.c (getprogname) [__sgi]: Fix type of local variable
3807         'namesize'.
3809 2017-11-11  Bruno Haible  <bruno@clisp.org>
3811         year2038: Tweak last patch.
3812         * m4/year2038.m4 (gl_YEAR2038): Correct indentation.
3814 2017-11-06  Paul Eggert  <eggert@cs.ucla.edu>
3816         year2038: be more insistent about 64-bit time_t
3817         Applications requiring access to arbitrary files should not be
3818         built with 32-bit time_t on hosts that have 64-bit timestamps,
3819         as this can lead to real trouble at runtime.
3820         * m4/year2038.m4 (gl_YEAR2038): Do not require AC_CANONICAL_HOST.
3821         Check on all systems, not just MinGW.  Use a heuristic involving
3822         TIME_T_32_BIT_OK, cross_compiling, and the touch command to
3823         output a failure or just a warning, to make it more likely that
3824         builders will select 64-bit time_t.
3826 2017-11-05  Paul Eggert  <eggert@cs.ucla.edu>
3828         havelib: fix typo in previous change
3829         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Fix typo.
3831         Don’t use AC_EGREP_CPP if affected by CFLAGS
3832         * m4/float_h.m4 (gl_FLOAT_H):
3833         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI):
3834         * m4/lib-ld.m4 (AC_LIB_PROG_LD):
3835         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB):
3836         * m4/year2038.m4 (gl_YEAR2038):
3837         Prefer AC_COMPILE_IFELSE to AC_EGREP_CPP when testing conditions
3838         likely to be affected by the choice of CFLAGS, since CFLAGS are
3839         not used by AC_EGREP_CPP.  Without this patch, ‘./configure
3840         CFLAGS="-m32"’ fails on gzip with GNU/Linux x86-64.
3842         fstatat: pacify GCC on unusual platform
3843         * lib/fstatat.c (orig_fstatat) [!HAVE_WORKING_FSTATAT_ZERO_FLAG]:
3844         Omit, as it’s unused in this case.
3846 2017-10-29  Paul Eggert  <eggert@cs.ucla.edu>
3848         timespec: prefer ‘assume’ to ‘assure’
3849         This avoids some runtime tests.  The rest of the module makes
3850         similar assumptions and there is little point to testing here.
3851         * lib/timespec.h: Include verify.h instead of assure.h.
3852         (timespec_cmp): Use ‘assume’, not ‘assure’.
3853         Also, remove an unnecessary cast to ‘int’, as lots of other
3854         code in this module now causes -Wconversion to complain, and
3855         this is a problem with -Wconversion not with the code.
3857         * modules/timespec (Depends-on): Depend on ‘verify’, not ‘assure’.
3859         Port recent gnulib-tool change to Dash
3860         * gnulib-tool (func_create_testdir): Don't assume that the shell
3861         retokenizes after expanding "$@" inside the call to
3862         func_execute_command.  Dash 0.5.8-2.1ubuntu2 does not.
3864 2017-10-27  Jim Meyering  <meyering@fb.com>
3866         timespec.h: use "assure" to avoid a spurious warning
3867         * lib/timespec.h: Include "assure.h" and use it to help
3868         gcc7's -Wstrict-overflow avoid a false positive warning
3869         for a use in coreutils' ls.c.  Suggested by Paul Eggert in
3870         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00007.html
3871         * modules/timespec (Depends-on): Add assure.
3873 2017-10-29  Bruno Haible  <bruno@clisp.org>
3875         Avoid several test failures with traditional locales on Haiku.
3876         * m4/locale-ar.m4 (gt_LOCALE_AR): On BeOS and Haiku, set LOCALE_AR=none.
3877         * m4/locale-fr.m4 (gt_LOCALE_FR): On BeOS and Haiku, set LOCALE_FR=none.
3878         * m4/locale-ja.m4 (gt_LOCALE_JA): On BeOS and Haiku, set LOCALE_JA-none.
3879         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On BeOS and Haiku, set
3880         LOCALE_ZH_CN=none.
3882 2017-10-29  Bruno Haible  <bruno@clisp.org>
3884         strerror_r-posix: Fix behaviour and test failure on Haiku.
3885         * lib/strerror_r.c (strerror_r): Don't assume that valid error numbers
3886         are positive. Work around return value 0 instead of ERANGE on Haiku.
3887         For unknown error numbers, use a format string consistent with perror().
3888         * doc/posix-functions/strerror_r.texi: Mention the Haiku problem.
3889         * tests/test-strerror_r.c (main): Don't assume that valid error numbers
3890         are positive.
3892 2017-10-29  Bruno Haible  <bruno@clisp.org>
3894         get-rusage-data: Avoid crash on Haiku.
3895         * lib/get-rusage-data.c: Avoid the setlimit-based implementation.
3897 2017-10-29  Bruno Haible  <bruno@clisp.org>
3899         get-rusage-as: Avoid crash on Haiku.
3900         * lib/get-rusage-as.c: Avoid the setlimit-based implementation.
3902 2017-10-29  Bruno Haible  <bruno@clisp.org>
3904         ilogbl: Ensure replacement on Haiku.
3905         * m4/ilogbl.m4 (gl_FUNC_ILOGBL): Invoke gl_FUNC_ILOGBL_WORKS and set
3906         REPLACE_ILOGBL if ilogbl does not work.
3907         (gl_FUNC_ILOGBL_WORKS): New macro.
3908         * lib/math.in.h (ilogbl): Replace if REPLACE_ILOGBL is 1.
3909         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ILOGBL.
3910         * modules/math (Makefile.am): Substitute REPLACE_ILOGBL.
3911         * modules/ilogbl (Depends-on, configure.ac): Consider REPLACE_ILOGBL.
3912         * doc/posix-functions/ilogbl.texi: Mention the Haiku problem.
3914 2017-10-29  Bruno Haible  <bruno@clisp.org>
3916         expl: Ensure replacement on Haiku.
3917         * m4/expl.m4 (gl_FUNC_EXPL): Test whether an expl() return value is
3918         zero.
3919         * doc/posix-functions/expl.texi: Mention the Haiku problem.
3921 2017-10-29  Bruno Haible  <bruno@clisp.org>
3923         math: Fix test failure on Haiku.
3924         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Override on Haiku.
3925         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Update accordingly.
3926         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
3927         * doc/posix-headers/math.texi: Mention the Haiku problem.
3929 2017-10-29  Bruno Haible  <bruno@clisp.org>
3931         gnulib-tool: Avoid unnecessary config.h.in remaking in testdirs.
3932         * gnulib-tool (func_create_testdir): Use workaround against 'autoheader'
3933         bug reported at <https://savannah.gnu.org/support/index.php?109406>.
3935 2017-10-29  Bruno Haible  <bruno@clisp.org>
3937         crypto/*: Verify that the header file is self-contained.
3938         * tests/test-gc-*.c: Include the module's header file immediately after
3939         <config.h>.
3940         * tests/test-hmac-*.c: Likewise.
3941         * tests/test-arcfour.c: Likewise.
3942         * tests/test-arctwo.c: Likewise.
3943         * tests/test-des.c: Likewise.
3944         * tests/test-md2.c: Likewise.
3945         * tests/test-md4.c: Likewise.
3946         * tests/test-md5.c: Likewise.
3947         * tests/test-rijndael.c: Likewise.
3948         * tests/test-sha1.c: Likewise.
3949         * tests/test-sm3.c: Likewise.
3951 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
3952             Bruno Haible  <bruno@clisp.org>
3954         crypto/gc: fix build failure with -Werror=suggest-attribute=const
3955         * lib/gc.h (gc_hash_digest_length): Mark with 'const' attribute.
3957 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
3959         New module: crypto/gc-sm3
3960         * lib/gc.h: Declare SM3-related stuffs.
3961         * lib/gc-gnulib.c: Support sm3 in internal functions.
3962         * lib/gc-libgcrypt.c: Support sm3 with libgcrypt.
3963         * m4/gc-sm3.m4: m4 file for gc-sm3 module.
3964         * modules/crypto/gc-sm3: Define gc-sm3 module.
3965         * tests/test-gc-sm3.c: Implement SM3 test case with libgcrypt.
3966         * modules/crypto/gc-sm3-tests: Define gc-sm3 test module.
3967         * MODULES.html.sh: List gc-sm3 module.
3969 2017-10-29  Bruno Haible  <bruno@clisp.org>
3971         random, random_r: Mention different prototypes on Haiku.
3972         * doc/posix-functions/random.texi: Mention different prototype on Haiku.
3973         * doc/glibc-functions/random_r.texi: Likewise.
3974         * doc/glibc-functions/initstate_r.texi: Likewise.
3975         * doc/glibc-functions/setstate_r.texi: Likewise.
3977 2017-10-28  Bruno Haible  <bruno@clisp.org>
3979         posix_spawn: Avoid spurious message in configure output.
3980         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Discard stderr output from
3981         'cmp' command.
3983 2017-10-28  Bruno Haible  <bruno@clisp.org>
3985         inet_ntop, inet_pton: Determine needed library correctly on Haiku.
3986         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Search also in libnetwork.
3987         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
3989 2017-10-28  Bruno Haible  <bruno@clisp.org>
3991         ioctl: Override non-POSIX declaration on Haiku.
3992         * m4/ioctl.m4 (gl_FUNC_IOCTL): Include also <unistd.h>.
3993         * lib/sys_ioctl.in.h: Add comment about Haiku.
3994         * doc/posix-functions/ioctl.texi: Mention Haiku problem.
3995         * doc/glibc-headers/sys_ioctl.texi: Likewise.
3997 2017-10-28  Bruno Haible  <bruno@clisp.org>
3999         crypto/sm3: Add overview documentation to the .h file.
4000         * lib/sm3.h: Add comments.
4002 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
4004         New module: crypto/sm3
4005         This new module can be used to compute SM3 message digest of files or
4006         memory blocks according to the specification GM/T 004-2012
4007         Cryptographic Hash Algorithm SM3, published by State Cryptography
4008         Administration, China.
4009         The official SM3 cryptographic hash algorithm specification is
4010         available at
4011         http://www.sca.gov.cn/sca/xwdt/2010-12/17/content_1002389.shtml
4012         * lib/sm3.h: Declare the APIs of sm3 module.
4013         * lib/sm3.c: Implement SM3 hash algorithm.
4014         * m4/sm3.m4: m4 file for sm3 module.
4015         * modules/crypto/sm3: Define sm3 module.
4016         * tests/test-sm3.c: Implement SM3 test case.
4017         * modules/crypto/sm3-tests: Define sm3 test module.
4018         * MODULES.html.sh: List sm3 module.
4020 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
4022         gc-libgcrypt: fix undefined enum type in switch statement
4023         Resolve the following build failure:
4024         lib/gc-libgcrypt.c: In function 'gc_hash_open':
4025         lib/gc-libgcrypt.c:317:5: error: case value '0' not in enumerated type
4026         'Gc_hash_mode {aka enum Gc_hash_mode}' [-Werror=switch]
4027              case 0:
4028              ^~~~
4029         * lib/gc.h (enum Gc_hash_mode): Add value GC_NULL.
4030         * lib/gc-libgcrypt.c (gc_hash_open): Use this enum value instead of 0.
4032 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
4034         gc-libgcrypt: fix assignment error due to -Werror=pointer-sign
4035         Resolve the following build failure:
4036         lib/gc-libgcrypt.c: In function 'gc_hash_read':
4037         lib/gc-libgcrypt.c:460:14: error: pointer targets in assignment differ
4038         in signedness [-Werror=pointer-sign]
4039             digest = gcry_md_read (ctx->gch, 0);
4040                    ^
4041         * lib/gc-libgcrypt.c (gc_hash_read): Cast result of gcry_md_read.
4043 2017-10-26  Bruno Haible  <bruno@clisp.org>
4045         havelib: Fix value of LD for 32-bit compilation on NetBSD/sparc64.
4046         * m4/lib-ld.m4 (AC_LIB_PROG_LD): On NetBSD/sparc64 with CC="gcc -m32",
4047         set LD to '/usr/bin/ld -m elf32_sparc', not '/usr/bin/ld'.
4049 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
4051         glob: fix another heap buffer overflow
4052         Problem reported by Tim Rühsen in:
4053         https://sourceware.org/bugzilla/show_bug.cgi?id=22332
4054         * lib/glob.c (glob): Avoid buffer overrun when unescaping.
4056 2017-10-19  Paul Eggert  <eggert@cs.ucla.edu>
4058         quotearg: pacify compiler re unsigned
4059         * lib/quotearg.c (quotearg_n_options):
4060         Rewrite to avoid diagnostic from overly-picky compiler.
4061         Problem reported by Sami Kerola in:
4062         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00060.html
4064         glob: fix heap buffer overflow
4065         * lib/glob.c (glob): Fix off-by-one error introduced into
4066         glibc in commit dd7d45e838a42b0ed470c44b55901ea98d0c2bab
4067         dated 1997-10-29 20:33:40.  Problem reported by Tim Rühsen in:
4068         https://sourceware.org/bugzilla/show_bug.cgi?id=22320
4069         Fix suggested by Bruno Haible.
4071 2017-10-18  Paul Eggert  <eggert@cs.ucla.edu>
4073         glob: pacify fuzzer for mempcpy
4074         Problem reported by Tim Rühsen in:
4075         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00054.html
4076         * lib/glob.c (glob): Do not pass NULL to mempcpy.
4078 2017-10-12  Bruno Haible  <bruno@clisp.org>
4080         doc: Fix syntax error (regression from 2017-10-03).
4081         * doc/posix-functions/strncpy.texi: Fix syntax error.
4083 2017-10-12  Bruno Haible  <bruno@clisp.org>
4085         doc: Update for Solaris 11.3.
4086         * doc/**/*.texi: For bugs that exist in both Solaris 11.0 and 11.3,
4087         mention Solaris 11.3.
4088         * m4/log2.m4: Fix comments.
4089         * m4/log2f.m4: Likewise.
4090         * m4/printf.m4: Update comments.
4091         * m4/rename.m4: Likewise.
4092         * m4/strncat.m4: Likewise.
4094         all: Write "Solaris 11.0" instead of "Solaris 11 2011-11".
4096 2017-10-10  Bruno Haible  <bruno@clisp.org>
4098         doc: Improve doc about ioctl.
4099         * doc/posix-functions/ioctl.texi: Fix list of platforms with non-POSIX
4100         prototype.
4102 2017-10-09  Bruno Haible  <bruno@clisp.org>
4104         wcwidth: Don't use obsolete syntax of 'test'.
4105         Reported by Eric Blake.
4106         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Don't optimize two 'test'
4107         invocations into one, as POSIX marks '-a' and '-o' as "obsolescent".
4109 2017-10-09  Bruno Haible  <bruno@clisp.org>
4111         getopt-posix: Fix build failure when using ac_cv_header_getopt_h=no.
4112         Reported by Christian Ehrhardt <christian.ehrhardt@canonical.com>
4113         and Daniel P. Berrange <berrange@redhat.com>.
4114         * lib/unistd.in.h (getopt): Don't attempt to avoid namespace pollution
4115         on glibc systems. The getopt-pfx-core.h file declares exactly what
4116         unistd.h needs, nothing more.
4118 2017-10-08  Bruno Haible  <bruno@clisp.org>
4120         vma-iter: Improve support for FreeBSD.
4121         * lib/vma-iter.c (vma_iterate_proc): New function, extracted from
4122         vma_iterate.
4123         (vma_iterate): Use it. For FreeBSD, try vma_iterate_bsd first.
4125 2017-10-08  Bruno Haible  <bruno@clisp.org>
4127         vma-iter: Fix truncated result on NetBSD (regression from 2017-10-07).
4128         * lib/vma-iter.c (MIN_LEFTOVER): Define to 1, not 0.
4130 2017-10-07  KO Myung-Hun  <komh@chollian.net>
4132         test-framework-sh: Fix 'invalid path dir' error.
4133         On OS/2, a path separator is ';' not ':'. And ':' is used as a
4134         separator between a drive letter and directory parts.
4135         As a result, an absolute path such as x:/path/to/dir on OS/2 is
4136         treated as an invalid path dir.
4137         * tests/init.sh (PATH_SEPARATOR): Set at startup.
4138         (path_prepend_): '?:*' is also an absolute path. Use $PATH_SEPARATOR
4139         instead of hard coded ':'.
4141 2017-10-07  Bruno Haible  <bruno@clisp.org>
4143         vma-iter: Fix truncated result on Linux (regression from 2017-09-26).
4144         * lib/vma-iter.c (MIN_LEFTOVER): New macro.
4145         (STACK_ALLOCATED_BUFFER_SIZE): Set to a minimal value if not needed.
4146         (rof_open): On Linux, do multiple read() calls and make sure
4147         MIN_LEFTOVER bytes are left when read() returns.
4149 2017-10-07  Bruno Haible  <bruno@clisp.org>
4151         vma-iter: Improve support for GNU/Hurd.
4152         * lib/vma-iter.c (vma_iterate): On GNU/Hurd, use the Mach vm_region()
4153         API, not the /proc file system.
4155 2017-10-07  Bruno Haible  <bruno@clisp.org>
4157         test-framework-sh: Don't require bash on Windows and OS/2.
4158         Reported by KO Myung-Hun.
4159         * tests/test-init.sh: Use 'shopt' only when running in bash.
4161 2017-10-06  KO Myung-Hun  <komh@chollian.net>
4163         wcwidth: check a macro version of wcwidth () as well
4164         * lib/wchar.in.h: Revert commit from 2016-01-14.
4165         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test if wcwidth is a macro.
4167 2017-10-06  Bruno Haible  <bruno@clisp.org>
4169         getopt-posix: Clarify copyright header.
4170         * lib/getopt.in.h: Don't state that gnulib is under LGPL.
4171         * lib/getopt-pfx-core.h: Likewise.
4172         * lib/getopt-pfx-ext.h: Likewise.
4173         * lib/getopt-cdefs.in.h: Likewise.
4175 2017-10-03  Bruno Haible  <bruno@clisp.org>
4177         Fix warning "`gl_HOST_CPU_C_ABI' was expanded before it was required".
4178         * modules/host-cpu-c-abi (configure.ac): Require, don't invoke
4179         gl_HOST_CPU_C_ABI.
4181 2017-10-03  Bruno Haible  <bruno@clisp.org>
4183         doc: warn about misuse of strncpy and wcsncpy.
4184         * doc/posix-functions/strcpy.texi: Describe requirements on prior
4185         memory allocation.
4186         * doc/posix-functions/wcscpy.texi: Likewise.
4187         * doc/posix-functions/strncpy.texi: Describe what this function is not
4188         useful for.
4189         * doc/posix-functions/wcsncpy.texi: Likewise.
4191 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
4193         fsuage: fix typo in previous change
4194         * lib/fsusage.c: Remove stray include of full-read.h.
4195         Problem reported by Sam Steingold for macOS (Bug#28669).
4197 2017-10-01  Paul Eggert  <eggert@cs.ucla.edu>
4199         fsusage: remove SVR2 support
4200         SVR2 was obsolete by 1986 and is no longer supported by anybody,
4201         and its code was getting in the way of use of this module by
4202         Emacs, which has its own ‘read’ function anyway.
4203         * lib/fsusage.c: Do not include sys/filsys.h.
4204         (get_fs_usage): Remove SVR2-specific code.
4205         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE):
4206         Do not test for sys/filsys.h or set STAT_READ_FILSYS.
4207         * modules/fsusage (Depends-on): Do not depend on full-read.
4209         Simplify autoupdate of licenses
4210         * config/srclistvars.sh (GNUWWWLICENSES): Move to a more-typical
4211         place.
4213 2017-10-01  Bruno Haible  <bruno@clisp.org>
4215         vma-iter: Add support for GNU/Hurd.
4216         * lib/vma-iter.c: Treat GNU/Hurd like Linux.
4217         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
4219 2017-09-30  Bruno Haible  <bruno@clisp.org>
4221         vma-iter: Make it work on 32-bit Solaris with module 'largefile'.
4222         * modules/vma-iter: Don't test for sys/procfs.h, as this test would
4223         fail when module 'largefile' is in use.
4224         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't test HAVE_SYS_PROCFS_H.
4225         * lib/vma-iter.c: Undefine _FILE_OFFSET_BITS early.
4226         Don't test HAVE_SYS_PROCFS_H.
4228 2017-09-30  Bruno Haible  <bruno@clisp.org>
4230         havelib: Make it work for CC="gcc -m32" (regression from 2017-02-19).
4231         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Require gl_HOST_CPU_C_ABI.
4232         When $CC produces 32-bit code, set acl_libdirstem to 'lib', not 'lib64'.
4233         * modules/havelib (Depends-on): Add host-cpu-c-abi.
4235 2017-09-30  Bruno Haible  <bruno@clisp.org>
4237         uniname/uniname: Don't assume C99 compiler (regression from 2015-02-16).
4238         * lib/uniname/uniname.c (unicode_name_character): Add braces around
4239         scope of local variables.
4241 2017-09-28  Bruno Haible  <bruno@clisp.org>
4243         string: code style
4244         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Reorder list of
4245         substitutable variables.
4246         * modules/string (Makefile.am): Likewise.
4248 2017-09-26  Bruno Haible  <bruno@clisp.org>
4250         uniname/uniname-tests: Tighten code.
4251         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Merge two
4252         local variables into one.
4254 2017-09-26  Bruno Haible  <bruno@clisp.org>
4256         vma-iter: Improvements for Linux and BSD platforms.
4257         - Add support for DragonFly BSD.
4258         - Make it more reliable on Linux, GNU/kFreeBSD, FreeBSD, NetBSD.
4259         * lib/vma-iter.c (struct rofile, rof_open, rof_peekchar, rof_close):
4260         Read the entire file into memory in a single system call.
4261         (vma_iterate): Update. Read from /proc on DragonFly BSD like on FreeBSD.
4262         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on DragonFly BSD.
4264 2017-09-26  Bruno Haible  <bruno@clisp.org>
4266         vma-iter: Provide the protection flags on FreeBSD.
4267         * lib/vma-iter.c (vma_iterate) [FreeBSD]: When reading from /proc,
4268         skip three fields between the addresses and the protection flags.
4270 2017-09-26  Paul Eggert  <eggert@cs.ucla.edu>
4272         glob: remove bogus extern decl
4273         * lib/glob.c (__glob_pattern_type): Remove now-spurious
4274         extern declaration.  Problem reported by Adhemerval Zanella in:
4275         https://sourceware.org/ml/libc-alpha/2017-09/msg00972.html
4277 2017-09-25  Paul Eggert  <eggert@cs.ucla.edu>
4279         uniname/uniname-tests: integer overflow fix
4280         * tests/uniname/test-uninames.c (fill_names, fill_aliases):
4281         Check for integer overflow.
4283         duplocale-tests: fix unlikely crash
4284         * tests/test-duplocale.c (get_locale_dependent_values):
4285         Don’t crash with absurdly long month names.
4287         maint: fix overflow checking in nap.h
4288         * modules/chown-tests:
4289         * modules/fchownat-tests, modules/fdutimensat-tests:
4290         * modules/futimens-tests, modules/lchown-tests:
4291         * modules/stat-time-tests, modules/utime-tests:
4292         * modules/utimens-tests, modules/utimensat-tests:
4293         Depend on intprops.
4294         * tests/nap.h: Include intprops.h.
4295         (diff_timespec): Handle overflow properly.
4297         sys_types: update URL
4298         * m4/sys_types_h.m4: Use https: URL.
4300         parse-datetime: fix dependency
4301         * modules/parse-datetime (Depends-on): Depend
4302         on nstrftime, not strftime.
4304         parse-datetime, posixtm: avoid uninit access
4305         * lib/parse-datetime.y (parse_datetime2):
4306         * lib/posixtm.c (posixtime):
4307         Do not access uninitialized storage, even though the resulting
4308         value is never used.
4310 2017-09-25  Bruno Haible  <bruno@clisp.org>
4312         vma-iter: Improvements for BSD platforms.
4313         - Add support for GNU/kFreeBSD.
4314         - Make it work on FreeBSD and NetBSD even when /proc is not mounted.
4315         - Speed up on OpenBSD.
4316         * lib/vma-iter.c (struct rofile, rof*): Define also on GNU/kFreeBSD.
4317         (vma_iterate_bsd): New function.
4318         (vma_iterate): Use it as fallback on FreeBSD and NetBSD. Use it as
4319         first choice on OpenBSD. Treat GNU/kFreeBSD like Linux.
4320         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
4321         * modules/vma-iter (configure.ac): Require AC_C_INLINE.
4323 2017-09-23  Bruno Haible  <bruno@clisp.org>
4325         strfmon_l: New module.
4326         * modules/strfmon_l: New file.
4327         * lib/strfmon_l.c: New file.
4328         * m4/strfmon_l.m4: New file.
4329         * doc/posix-functions/strfmon_l.texi: Mention the new module.
4330         * modules/strfmon_l-tests: New file.
4331         * tests/test-strfmon_l.c: New file.
4333         monetary: New module.
4334         * modules/monetary: New file.
4335         * lib/monetary.in.h: New file.
4336         * m4/monetary_h.m4: New file.
4337         * doc/posix-headers/monetary.texi: Mention the new module.
4338         * modules/monetary-tests: New file.
4339         * tests/test-monetary.c: New file.
4340         * modules/monetary-c++-tests: New file.
4341         * tests/test-monetary-c++.cc: New file.
4342         * modules/duplocale-tests (configure.ac): Use AC_CHECK_HEADERS_ONCE.
4344 2017-09-23  Bruno Haible  <bruno@clisp.org>
4346         duplocale tests: Fix test crash on Linux/x86.
4347         * tests/test-duplocale.c (test_with_uselocale): Disconnect the mixed2
4348         locale from the current thread before freeing it.
4350 2017-09-21  Paul Eggert  <eggert@cs.ucla.edu>
4352         mktime: port to OpenVMS
4353         Problem reported by John E. Malmberg in:
4354         https://lists.gnu.org/r/bug-gnulib/2017-09/msg00100.html
4355         * m4/mktime.m4 (TIME_T_IS_SIGNED): Default to 0.
4357 2017-09-16  Paul Eggert  <eggert@cs.ucla.edu>
4359         manywarnings: port to GCC on 64-bit MS-Windows
4360         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Work better if
4361         LONG_MAX < PTRDIFF_MAX.  Problem reported by Richard Copley in:
4362         https://lists.gnu.org/r/emacs-devel/2017-09/msg00392.html
4364 2017-09-13  Bruno Haible  <bruno@clisp.org>
4366         all: Replace many more http URLs by https URLs. Update stale URLs.
4367         * users.txt: Remove mention of 'newts'.
4368         * lib/localename.c: Update comment about LANG_SOTHO.
4370 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
4372         all: Replace many http URLs by https URLs.
4374 2017-09-12  Bruno Haible  <bruno@clisp.org>
4376         doc: Prefer https URLs where possible.
4377         * doc/**/*.texi: Use https URLs instead of http URLs where possible.
4378         * doc/ld-output-def.texi: Remove unavailable URL.
4380 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
4382         maintainer-makefile: FTP -> HTTPS
4383         * top/maint.mk (url_dir_list, ftp-gnu): Use HTTPS protocol instead
4384         of FTP, which is planned to be decommissioned on 2017-11-01.
4386 2017-09-12  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
4388         libc-config: Fix __GNUC_PREREQ macro.
4389         * lib/libc-config.h (__GNUC_PREREQ): Use __GNUC_MINOR__, not
4390         __GNUC_MINOR.
4392 2017-09-09  Bruno Haible  <bruno@clisp.org>
4394         gnulib-tool: Simplify commit from 2015-08-20.
4395         * gnulib-tool (func_add_or_update): Remove local variable
4396         is_binary_file.
4398 2017-09-08  Bruno Haible  <bruno@clisp.org>
4400         stddef: Avoid conflict with system-defined max_align_t.
4401         The configure-determined HAVE_MAX_ALIGN_T may not always be accurate.
4402         Reported by Werner Lemberg <wl@gnu.org> in
4403         <https://lists.gnu.org/r/bug-gnulib/2017-08/msg00185.html>.
4404         * lib/stddef.in.h (rpl_max_align_t): Renamed from max_align_t.
4405         (max_align_t): Define as a macro.
4406         (GNULIB_defined_max_align_t): New macro. Guards against multiple
4407         definitions of rpl_max_align_t in different copies of gnulib-generated
4408         <stddef.h>.
4410 2017-09-05  Paul Eggert  <eggert@cs.ucla.edu>
4412         libc-config: port to MSVC
4413         Problems reported by Gisle Vanem in:
4414         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00016.html
4415         * lib/libc-config.h (__inline): Don't define if HAVE___INLINE.
4416         (libc_hidden_proto): Stick to Standard C syntax for varargs macro.
4417         * m4/__inline.m4: New file.
4418         * modules/libc-config (Files): Add it.
4419         (Depends-on): Use it.
4421         glob: Use enum for __glob_pattern_type result
4422         From a patch proposed by Adhemerval Zanella in:
4423         https://sourceware.org/ml/libc-alpha/2017-09/msg00212.html
4424         * lib/glob_internal.h (GLOBPAT_NONE, GLOBPAT_SPECIAL)
4425         (GLOBPAT_BACKSLASH, GLOBPAT_BRACKET): New constants.
4426         * lib/glob_internal.h (__glob_pattern_type):
4427         * lib/glob.c (glob):
4428         * lib/glob_pattern_p.c (__glob_pattern_p):
4429         Use them.
4431         glob: fix for use in glibc
4432         Problem reported by Adhemerval Zanella in:
4433         https://sourceware.org/ml/libc-alpha/2017-09/msg00213.html
4434         * lib/glob.c (DT_UNKNOWN, DT_DIR, DT_LINK):
4435         Do not redefine if _LIBC.
4437 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
4439         glob: fix bugs with long login names
4440         Problem reported by Adhemerval Zanella in:
4441         https://sourceware.org/ml/libc-alpha/2017-08/msg00455.html
4442         * lib/glob.c (GET_LOGIN_NAME_MAX): Remove.
4443         (glob): Use the same scratch buffer for both getlogin_r and
4444         getpwnam_r.  Don’t require preallocation of the login name.  This
4445         simplifies storage allocation, and corrects the handling of
4446         long login names.
4448 2017-09-02  Bruno Haible  <bruno@clisp.org>
4450         dirent: Update doc.
4451         * doc/posix-headers/dirent.texi: More concrete list of platforms.
4453 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
4455         glob: fix getpwnam_r errno typo
4456         * lib/glob.c (glob): Fix longstanding misuse of errno after
4457         getpwnam_r, which returns an error number rather than setting
4458         errno.
4460         glob: fix typo in recent change
4461         * lib/glob.c (glob) [!HAVE_GETPWNAM_R && !_LIBC]:
4462         Fix recently-introduced typo.
4464 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
4466         glob: don't save and restore errno unnecessarily
4467         * lib/glob.c (glob): Don't save and restore errno
4468         merely because we have getpwnam_r.
4470         glob: don't assume getpwnam_r
4471         * lib/glob.c (glob): Port recent patches to platforms
4472         lacking getpwnam_r.
4474         scratch_buffer: don’t use private glibc API
4475         Suggested by Florian Weimer in:
4476         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00004.html
4477         * lib/scratch_buffer.h: Rename to lib/malloc/scratch_buffer.h.
4478         * lib/scratch_buffer_grow.c: Rename to
4479         lib/malloc/scratch_buffer_grow.c.
4480         * lib/scratch_buffer_grow_preserve.c: Rename to
4481         lib/malloc/scratch_buffer_grow_preserve.c.
4482         * lib/scratch_buffer_set_array_size.c: Rename to
4483         lib/malloc/scratch_buffer_set_array_size.c.
4484         * lib/scratch_buffer.h: New file.
4485         * modules/scratch_buffer (Files, Makefile.am):
4486         Adjust to source-file renaming.
4488 2017-09-01  Paul Eggert  <eggert@cs.ucla.edu>
4490         glob: use scratch_buffer instead of extend_alloca
4491         Much of the lib/glob.c part of this patch comes from a glibc patch
4492         proposed by Adhemerval Zanella in:
4493         https://sourceware.org/ml/libc-alpha/2017-08/msg00456.html
4494         * lib/glob.c: Do not include <config.h>, since <libc-config.h>,
4495         included via glob.h, does this for us now.
4496         (__set_errno): Remove, as libc-config does this for us now.
4497         Include <scratch_buffer.h>.
4498         (GETPW_R_SIZE_MAX): Remove.
4499         (glob): Use struct scratch_buffer instead of extend_alloca.
4500         * lib/glob.in.h: Include libc-config.h rather than
4501         including <sys/cdefs.h> conditionally.
4502         (__BEGIN_DECLS, __END_DECLS, __THROW, __THROWNL, attribute_hidden)
4503         (__glibc_unlikely, __restrict, weak_alias):
4504         Remove, as libc-config does this for us now.
4505         * m4/glob.m4 (gl_PREREQ_GLOB):
4506         Remove sys/cdefs.h tests; no longer needed.
4507         * modules/glob (Depends-on): Add libc-config, scratch_buffer.
4508         (glob.h): Do not replace HAVE_SYS_CDEFS_H.
4510         scratch_buffer: new module
4511         * lib/scratch_buffer.h, lib/scratch_buffer_grow.c:
4512         * lib/scratch_buffer_grow_preserve.c:
4513         * lib/scratch_buffer_set_array_size.c:
4514         New files, copied from glibc with very minor changes that can be
4515         copied back.
4516         * modules/scratch_buffer: New file.
4518         libc-config: new module
4519         * MODULES.html.sh: Add libc-config.
4520         * lib/cdefs.h: New file, copied from the GNU C Library with very
4521         minor changes that can be copied back.
4522         * lib/libc-config.h, modules/libc-config: New files.
4524 2017-08-31  Paul Eggert  <eggert@cs.ucla.edu>
4526         glob: match dangling symlinks
4527         This fixes a bug I inadvertently introduced to Gnulib when I
4528         merged glibc glob back into gnulib on 2007-10-16.  This fix is
4529         inspired by a patch proposed for glibc by Adhemerval Zanella in:
4530         https://sourceware.org/ml/libc-alpha/2017-08/msg00446.html
4531         * doc/posix-functions/glob.texi: Update list of affected platforms.
4532         * lib/glob.c (__lstat64): New macro.
4533         (is_dir): New function.
4534         (glob, glob_in_dir): Match symlinks even if they are dangling.
4535         (link_stat, link_exists_p): Remove.  All uses removed.
4536         * lib/glob.in.h (__attribute_noinline__): Remove; no longer used.
4537         * m4/glob.m4 (gl_PREREQ_GLOB): Do not check for fstatat.
4538         * modules/glob-tests (Depends-on): Add symlink.
4539         * tests/test-glob.c: Include errno.h, unistd.h.
4540         (BASE): New macro.
4541         (main): Test dangling symlinks, if symlinks are supported.
4543         glob, backupfile: inode 0 is a valid inode number
4544         * doc/posix-functions/readdir.texi (readdir):
4545         * doc/posix-headers/dirent.texi (dirent.h):
4546         Document more readdir portability issues.
4547         * lib/backupfile.c (REAL_DIR_ENTRY): Remove.
4548         (numbered_backup): Don’t treat inode 0 any differently from
4549         other inode values.
4550         * lib/glob.c (struct readdir_result): Remove skip_entry member.
4551         (readdir_result_skip_entry, D_INO_TO_RESULT): Remove.
4552         All uses removed.
4553         * modules/glob (Depends-on): Remove d-ino.
4555         glob: simplify symlink detection
4556         * lib/glob.c (dirent_type): New type.  Use uint_fast8_t not
4557         uint8_t, as C99 does not require uint8_t.
4558         (struct readdir_result): Use it.  Do not define skip_entry unless
4559         it is needed; this saves a byte on platforms lacking d_ino.
4560         (readdir_result_type, readdir_result_skip_entry):
4561         New functions, replacing ...
4562         (readdir_result_might_be_symlink, readdir_result_might_be_dir):
4563         ... these functions, which were removed.  This makes the callers
4564         easier to read.  All callers changed.
4565         (D_INO_TO_RESULT): Now empty if there is no d_ino.
4567 2017-08-30  Pádraig Brady  <P@draigBrady.com>
4569         fts-tests: tag as a longrunning-test so not included by default
4570         * modules/fts-tests: This test takes about 20s on current systems,
4571         and uses about 285M of space on ext4.
4573 2017-08-30  Pádraig Brady  <P@draigBrady.com>
4575         renameat2: fix compilation on alpine linux
4576         * m4/renameat.m4: Check for <linux/fs.h> presence.
4577         * lib/renameat2.h: Only include <linux/fs.h> if present.
4578         Reported by Assaf Gordon on Alpine Linux.
4580 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
4582         glob: try to port recent changes to MS-Windows
4583         Problem reported by Bruno Haible in:
4584         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00170.html
4585         * lib/glob.c (__glob_pattern_p) [!_LIBC]: Move from here ...
4586         * lib/glob.in.h (__glob_pattern_p): ... to here.
4588 2017-08-24  Eric Blake  <eblake@redhat.com>
4590         warnings: fix compilation with old autoconf
4591         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C))
4592         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): Use m4_defun rather than
4593         AC_DEFUN.
4594         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C))
4595         (gl_MANYWARN_ALL_GCC(C++)): Likewise.
4597 2017-08-24  Bruno Haible  <bruno@clisp.org>
4599         glob: Fix compilation error on NetBSD 7.0 and OpenBSD 6.0.
4600         * modules/glob (Depends-on): Add c99.
4602 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
4604         glob: fix typo that broke platforms lacking d_ino
4605         This typo also hurt performance on GNU/Linux and similar hosts.
4606         * lib/glob.c (D_INO_TO_RESULT): Fix typo (reversed ifdef)
4607         in previous change.
4609 2017-08-23  Paul Eggert  <eggert@cs.ucla.edu>
4611         glob: merge from glibc with Zanella glob changes
4612         Merge glob from glibc, with changes for glob proposed
4613         by Adhemerval Zanella in the thread starting here:
4614         https://sourceware.org/ml/libc-alpha/2017-08/msg01079.html
4615         plus some fixes for this merge.
4616         * lib/glob_internal.h, lib/glob_pattern_p.c, lib/globfree.c:
4617         New files, ported from glibc.
4618         * lib/glob-libc.h (_Restrict_): Remove.  All uses replaced
4619         with __restrict.
4620         (__size_t): Remove.  All uses replaced by size_t.
4621         (size_t): Define by defining __need_size_t and including <stddef.h>.
4622         This should work even in non-glibc platforms, where any name
4623         pollution is OK.
4624         Use __USE_MISC instead of __USE_BSD || __USE_GNU.
4625         (struct stat64): Don’t worry about __GLOB_GNULIB.
4626         (glob, globfree, glob_pattern_p): Remove macros for
4627         __USE_FILE_OFFSET64 && __GNUC__ < 2 && !defined __GLOB_GNULIB
4628         case.  Remove _GL_ARG_NONNULL as GNU behavior is to accept NULL
4629         but set errno.
4630         * lib/glob.c (_GL_ARG_NONNULL) [!_LIBC]: Remove.  All uses
4631         removed since the glibc behavior works on null pointers.
4632         Do not include stdio.h; old SunOS is irrelevant now.
4633         Do not worry about GLOB_ONLY_P as we now mimic glibc here.
4634         Include glob_internal.h.
4635         (D_INO_TO_RESULT): Depend on (_LIBC || D_INO_IN_DIRENT), not
4636         ((POSIX || WINDOWS32) && !__GNU_LIBRARY__).  The latter probably
4637         worked only coincidentally.
4638         (attribute_hidden, __attribute_noinline__, __glibc_unlikely):
4639         Remove macros; now done in glob.in.h.
4640         (size_add_wrapv): Do not use __builtin_add_overflow if __ICC.
4641         (glob): Properly initialize glob structure with
4642         GLOB_BRACE|GLOB_DOOFFS (bug 20707).
4643         Remove old code using SHELL since Bash no longer
4644         uses this.
4645         (glob, prefix_array): Separate MS code better.
4646         (glob, glob_in_dir): Use C99 decls before statements when glibc
4647         does.
4648         (glob_in_dir): Remove old Amiga and VMS code.
4649         (globfree, __glob_pattern_type, __glob_pattern_p): Move to
4650         separate files.
4651         * lib/glob.in.h (attribute_hidden, __attribute_noinline__)
4652         (__glibc_unlikely):
4653         Move here from glob.c.
4654         (__restrict): New macro here, replacing the _Restrict_ in glob.c.
4655         (weak_alias): New macro.
4656         (__size_t): Remove.  All uses replaced by size_t.
4657         * modules/d-ino (License): Now LGPLv2+, for compatibility with glob.
4658         * modules/glob (Files): Add +lib/glob_internal.h,
4659         lib/glob_pattern_p.c, lib/globfree.c.
4660         (Depends-on): Remove snippet/arg-nonnull.
4662 2017-08-22  Paul Eggert  <eggert@cs.ucla.edu>
4664         glob: port to clang's Undefined Sanitizer
4665         Problem reported by Tim Rühsen in:
4666         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00144.html
4667         * lib/glob.c (FLEXIBLE_ARRAY_MEMBER) [_LIBC]: Define to empty.
4668         (glob_in_dir): Do not rely on undefined behavior in accessing
4669         struct members beyond their bounds.  Use a flexible array member
4670         instead.
4672 2017-08-21  Paul Eggert  <eggert@cs.ucla.edu>
4674         vc-list-files: port to Solaris 10
4675         * build-aux/vc-list-files: Don't assume test -e works.
4677 2017-08-21  Karl Berry  <karl@freefriends.org>
4679         * doc/posix-functions/srandom.texi (srandom): typo }.
4681 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
4683         git-version-gen: port to Solaris 10
4684         Problem reported by Dagobert Michelsen in:
4685         http://lists.gnu.org/r/grep-devel/2017-08/msg00002.html
4686         * build-aux/git-version-gen (v_from_git):
4687         Use expr instead of shell substitution.
4689 2017-08-19  Bruno Haible  <bruno@clisp.org>
4691         host-cpu-c-abi: Improve detection of MIPS ABI.
4692         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, test the value of
4693         _MIPS_SIM.
4695 2017-08-17  Bruno Haible  <bruno@clisp.org>
4697         hypot tests: Fix test failure on FreeBSD 11.0/x86.
4698         * tests/test-hypot.h (test_function): Declare z as 'volatile'.
4700 2017-08-17  Bruno Haible  <bruno@clisp.org>
4702         float: Fix LDBL_MIN value on FreeBSD/x86.
4703         * lib/float.in.h (LDBL_MIN) [__FreeBSD__]: Add more precision.
4705 2017-08-17  Bruno Haible  <bruno@clisp.org>
4707         random: Fix test compilation failure on Cygwin 1.5.25.
4708         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_INITSTATE,
4709         HAVE_DECL_SETSTATE.
4710         * m4/random.m4 (gl_FUNC_RANDOM): Test whether initstate and setstate are
4711         declared.
4712         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_INITSTATE,
4713         HAVE_DECL_SETSTATE.
4714         * lib/stdlib.in.h (initstate): Declare also if HAVE_DECL_INITSTATE is 0.
4715         (setstate): Declare also if HAVE_DECL_SETSTATE is 0.
4716         * doc/posix-functions/initstate.texi: Mention the Cygwin 1.5.x problem.
4717         * doc/posix-functions/random.texi: Likewise.
4718         * doc/posix-functions/setstate.texi: Likewise.
4719         * doc/posix-functions/srandom.texi: Likewise.
4721 2017-08-16  Bruno Haible  <bruno@clisp.org>
4723         stdnoreturn: Fix test compilation failure on Cygwin.
4724         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): On Cygwin, use gnulib's
4725         <stdnoreturn.h> replacement.
4726         * lib/stdnoreturn.in.h (noreturn): Treat Cygwin like MSVC.
4727         * doc/posix-headers/stdnoreturn.texi: Mention the Cygwin problem.
4729 2017-08-16  Bruno Haible  <bruno@clisp.org>
4731         thread: Fix conflict with pthread_sigmask module.
4732         * lib/glthread/thread.h (pthread_sigmask): Don't declare it weak if
4733         it's defined as a macro.
4734         * modules/thread (Depends-on): Add pthread_sigmask.
4736 2017-08-16  Paul Eggert  <eggert@cs.ucla.edu>
4738         rename: port better to NetBSD
4739         * doc/posix-functions/rename.texi (rename): NetBSD 7
4740         does not have the link-count bug.
4741         * m4/rename.m4 (gl_FUNC_RENAME): Don’t consider NetBSD to be
4742         broken merely because rename ("a", "b") removes "a" when the two
4743         names are hard links to the same file.
4745 2017-08-16  Bruno Haible  <bruno@clisp.org>
4747         iconv_open, uni*: Add support for VPATH builds with OpenBSD 'make'.
4748         * modules/iconv_open (Makefile.am): In the rules that use gperf, prefix
4749         the target file names with '$(srcdir)/'.
4750         * modules/unicase/locale-language (Makefile.am): Likewise.
4751         * modules/unicase/special-casing (Makefile.am): Likewise.
4752         * modules/unictype/bidiclass-byname (Makefile.am): Likewise.
4753         * modules/unictype/category-byname (Makefile.am): Likewise.
4754         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
4755         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
4756         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
4757         * modules/unictype/property-byname (Makefile.am): Likewise.
4758         * modules/unictype/scripts (Makefile.am): Likewise.
4759         * modules/uninorm/composition (Makefile.am): Likewise.
4761 2017-08-16  Bruno Haible  <bruno@clisp.org>
4763         nonblocking-socket tests: Fix failure on OpenBSD 6.0.
4764         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE): Increase
4765         value for OpenBSD.
4767 2017-08-16  Bruno Haible  <bruno@clisp.org>
4769         rename, renameat: Update doc regarding NetBSD.
4770         * doc/posix-functions/rename.texi: Clarify that when using
4771         -D_XOPEN_SOURCE=500 on NetBSD 7.0, the hard link bug is gone.
4772         * doc/posix-functions/renameat.texi: Be more precise about NetBSD
4773         version.
4775 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
4777         renameat2: port better to macOS
4778         * lib/renameat2.c (renameat2): Use renameatx_np if available.
4780         futimens: don’t assume struct timespec layout
4781         * m4/futimens.m4 (gl_FUNC_FUTIMENS):
4782         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT):
4783         * tests/test-fdutimensat.c (main):
4784         * tests/test-futimens.h (test_futimens):
4785         * tests/test-lutimens.h (test_lutimens):
4786         * tests/test-utimens.h (test_utimens):
4787         * tests/test-utimensat.c (main):
4788         Don’t assume that struct timespec is a two-member structure in
4789         tv_sec, tv_nsec order.  Although this is true on all platforms we
4790         know about, POSIX does not guarantee it.
4792         rename: document+test NetBSD rename
4793         Test failure reported by Bruno Haible in:
4794         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00104.html
4795         This is an area where NetBSD is better-behaved than POSIX,
4796         so allow the NetBSD behavior in tests.
4797         * doc/posix-functions/rename.texi:
4798         * doc/posix-functions/renameat.texi: Document NetBSD behavior.
4799         * tests/test-rename.h (test_rename): Allow NetBSD behavior.
4801 2017-08-15  Bruno Haible  <bruno@clisp.org>
4803         renameat: Ensure declaration in <stdio.h> on NetBSD.
4804         * lib/stdio.in.h: Include <unistd,h> also on NetBSD.
4805         * doc/posix-functions/renameat.texi: Mention this problem.
4807 2017-08-15  Bruno Haible  <bruno@clisp.org>
4809         duplocale: Work around NetBSD 7.0 bug.
4810         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Test against the NetBSD 7.0 bug.
4811         * lib/duplocale.c: Add comment about NetBSD problem.
4812         * doc/posix-functions/duplocale.texi: Mention the NetBSD problem.
4814 2017-08-15  Bruno Haible  <bruno@clisp.org>
4816         duplocale tests: Verify use with *_l functions.
4817         * modules/duplocale-tests (configure.ac): Test for uselocale and
4818         some *_l functions.
4819         * tests/test-duplocale.c (test_with_uselocale): New function, extracted
4820         from main.
4821         (get_locale_dependent_values_from, test_with_locale_parameter): New
4822         functions.
4823         (main): Test both test_with_uselocale and test_with_locale_parameter.
4825 2017-08-15  Bruno Haible  <bruno@clisp.org>
4827         extensions: Enable NetBSD specific extensions.
4828         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _NETBSD_SOURCE.
4830 2017-08-14  Bruno Haible  <bruno@clisp.org>
4832         open, openat: Update doc about O_CLOEXEC.
4833         * doc/posix-functions/open.texi: More concrete list of platforms.
4834         * doc/posix-functions/openat.texi: Likewise.
4836 2017-08-14  Paul Eggert  <eggert@cs.ucla.edu>
4838         open: support O_CLOEXEC
4839         * NEWS, doc/posix-functions/open.texi:
4840         * doc/posix-functions/openat.texi: Document this.
4841         * lib/fcntl.in.h (O_CLOEXEC): Default to a nonzero value.
4842         (GNULIB_defined_O_CLOEXEC): New symbol.
4843         * lib/open.c: Include cloexec.h.
4844         (open): Support O_CLOEXEC.
4845         * lib/openat.c: Include cloexec.h.
4846         (rpl_openat): Support O_CLOEXEC.
4847         * lib/popen-safer.c: Do not include cloexec.h.
4848         (open_noinherit): Remove.
4849         (popen_safer): Use O_CLOEXEC instead of set_cloexec_flag.
4850         * lib/save-cwd.c: Do not include cloexec.h.
4851         (save_cwd): Use O_CLOEXEC instead of set_cloexec_flag.
4852         * m4/open-cloexec.m4: New file.
4853         * m4/open.m4 (gl_FUNC_OPEN): Require gl_PREPROC_O_CLOEXEC.
4854         Replace 'open' if O_CLOEXEC is not present.
4855         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_PREPROC_O_CLOEXEC.
4856         Replace 'openat' if O_CLOEXEC is not present.
4857         * modules/freopen (Depends-on): Depend on 'open' if replacing freopen.
4858         * modules/open (Files): Add m4/open-cloexec.m4.
4859         (Depends-on): Depend on cloexec if replacing 'open'.
4860         * modules/openat (Files): Add m4/open-cloexec.m4.
4861         (Depends-on): Depend on cloexec if replacing openat.
4862         * modules/popen-safer (Depends-on): Remove cloexec.
4863         * modules/save-cwd (Depends-on): Remove cloexec, and add
4864         fd-safer-flag and 'open'.
4866 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
4868         reallocarray: minor fixes
4869         * doc/glibc-functions/reallocarray.texi: Update version numbers.
4870         * m4/reallocarray.m4 (gl_FUNC_REALLOCARRAY): Don't trust _cv_ contents.
4871         * modules/reallocarray (License): Change from GPL to LGPL.
4872         * tests/test-reallocarray.c (main): Fix ENOMEM typo.
4873         Indent properly and don't use tabs.
4875 2017-08-13  Darshit Shah  <darnir@gnu.org>
4877         reallocarray: New module
4878         reallocarray is a new function in glibc 2.26 to safely allocate an array
4879         of memory locations with integer overflow protection.
4880         * MODULES.html.sh: Add reallocarray.
4881         * doc/glibc-functions/reallocarray.texi: Documentation for reallocarray.
4882         * lib/reallocarray.c: New file to implement module reallocarray.
4883         * lib/stdlib.in.h: Add function declarations for reallocarray.
4884         * m4/reallocarray.m4: New file.
4885         * m4/stdlib_h.m4: Declare reallocarray.
4886         * modules/reallocarray: New file.
4887         * modules/reallocarray-test: New file.
4888         * modules/stdlib: Coerce stdlib.h to export reallocarray.
4889         * tests/test-reallocarray.c: New test.
4891 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
4893         dirent-safer: fix cloexec race
4894         * lib/opendir-safer.c: Include fcntl.h instead of unistd-safer.h.
4895         (opendir_safer): Use F_DUPFD_CLOEXEC.
4896         * modules/dirent-safer (Depends-on): Add fcntl.  Remove unistd-safer.
4897         * tests/test-dirent-safer.c: Do not include unistd-safer.h,
4898         as it is no longer a prerequisite.  Use F_DUPFD_CLOEXEC
4899         instead of dup_safer.
4901         fts: fix cloexec races
4902         * lib/fts.c [!_LIBC]: Do not include dirent--.h, unistd--.h, cloexec.h.
4903         (opendirat, diropen): Use O_CLOEXEC instead of set_cloexec_flag.
4904         (fts_build): Use F_DUPD_CLOEXEC rinstad of set_cloexec_flag.
4905         (fd_ring_check): Set cloexec flag on new file descriptors.
4906         (fts_build, fd_ring_check): While we’re at it, make sure the
4907         resulting file descriptor is not 0, 1, or 2, since that is easy.
4909 2017-08-11  Bruno Haible  <bruno@clisp.org>
4911         fts tests: Fix link error.
4912         Reported by Tom G. Christensen in
4913         https://lists.gnu.org/r/bug-gnulib/2017-08/msg00078.html
4914         * modules/fts-tests (Makefile.am): Link test-fts against LIBINTL.
4916 2017-08-10  Paul Eggert  <eggert@cs.ucla.edu>
4918         fts: port recent changes to CentOS 6
4919         Problem reported by Tom G. Christensen in:
4920         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00064.html
4921         * lib/fts.c (fsword): New type.
4922         (struct dev_type, filesystem_type): Use it.
4923         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for __fsword_t.
4924         Also, check for f_type only if fstatfs and sys/vfs.h work.
4926 2017-08-09  Paul Eggert  <eggert@cs.ucla.edu>
4928         tempname: do not depend on secure_getenv
4929         Excess dependency noted by Eli Zaretskii (Bug#28023#17).
4930         * lib/tempname.c (__secure_getenv) [!_LIBC]: Remove; unused.
4931         * modules/tempname (Depends-on): Remove secure_getenv.
4933 2017-08-08  Paul Eggert  <eggert@cs.ucla.edu>
4935         extensions: add _OPENBSD_SOURCE
4936         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _OPENBSD_SOURCE.
4938 2017-08-06  Reuben Thomas  <rrt@sc3d.org>
4939             Bruno Haible  <bruno@clisp.org>
4941         manywarnings: Add support for C++.
4942         * build-aux/g++-warning.spec: New file.
4943         * m4/manywarnings-c++.m4: New file.
4944         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C++)): New macro, that
4945         redirects to manywarnings-c++.m4.
4946         * modules/manywarnings (Files): Add m4/manywarnings-c++.m4.
4948 2017-08-06  Paul Eggert  <eggert@cs.ucla.edu>
4950         git-version-gen: another fix for tags with "-"
4951         * build-aux/git-version-gen: Improve fix for tags containing "-".
4952         Suggested by Markus Armbruster in:
4953         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00034.html
4955 2017-08-06  Bruno Haible  <bruno@clisp.org>
4957         warnings, manywarnings: Add support for multiple languages, not just C.
4958         * warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL): Renamed from
4959         gl_UNKNOWN_WARNINGS_ARE_ERRORS.
4960         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C)): New macro.
4961         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): New macro.
4962         (gl_UNKNOWN_WARNINGS_ARE_ERRORS): Dispatch to
4963         gl_UNKNOWN_WARNINGS_ARE_ERRORS(_AC_LANG).
4964         (gl_WARN_ADD): Require the gl_UNKNOWN_WARNINGS_ARE_ERRORS specialization
4965         of the current language. If C++ is the current language, modify
4966         WARN_CXXFLAGS instead of WARN_CFLAGS.
4967         * manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): New macro, extracted from
4968         gl_MANYWARN_ALL_GCC.
4969         (gl_MANYWARN_ALL_GCC): Dispatch to gl_MANYWARN_ALL_GCC(_AC_LANG).
4971 2017-08-06  Markus Armbruster  <armbru@pond.sub.org>
4973         git-version-gen: Fix for tags containing '-'
4975         Really old versions of git-describe (before v1.5.0, Feb 2007)
4976         don't have the number of commits in their long format output,
4977         i.e. where modern 'git describe --abbrev=4 --match="v*"' prints
4978         "v0.1-1494-g124b9", they print "v0.1-1494-g124b9".  git-version-gen
4979         recognizes both patterns, and normalizes the old format to the new one.
4981         Unfortunately, this normalization code gets confused when the tag
4982         contains '-'.  Reproducer:
4984             $ git-tag -m test v0.2-rc1
4985             $ build-aux/git-version-gen .tarball-version; echo
4986             build-aux/git-version-gen: WARNING: git rev-list failed
4987             UNKNOWN
4989         We take exact tag "v0.2-rc1" for the old format, extract the presumed
4990         tag "v0.2" from it, then run "git rev-list v0.2..HEAD" to count
4991         commits since tha tag.  Fails, because tag "v0.2" does not exist.
4993         * git-version-gen: We could perhaps drop support for versions from
4994         more than a decade ago.  But tightening the pattern match is easy
4995         enough, so do that.  Still breaks when you use version tags ending in
4996         something matching -g????, but you arguably get what you deserve then.
4998 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
5000         valgrind-tests: use ls, and cache
5001         * m4/valgrind-tests.m4: Test ls, not bash.
5002         Problem reported by Reuben Thomas.
5003         Also, cache the result so that it can be overridden.
5005 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
5007         manywarnings: port to 64-bit GCC builds of Emacs
5008         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Compute max safe
5009         object size rather than hardwiring 2147483647.  This is needed to
5010         build GNU Emacs, which has one conditional (and used
5011         only-in-theory) call to malloc with a literal greater than
5012         2147483647.
5014 2017-08-04  Bruno Haible  <bruno@clisp.org>
5016         Relax the license of some modules with no runtime code.
5017         * modules/std-gnu11 (License): Set to 'unlimited'.
5018         * modules/c99 (License): Likewise.
5019         Reported by Reuben Thomas <rrt@sc3d.org>.
5020         * modules/d-ino (License): Set to 'LGPL'.
5021         * modules/host-os (License): Likewise.
5022         * modules/longlong (License): Likewise.
5024 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
5026         renameat2: port to RHEL 7 + NFS
5027         * lib/renameat2.c (renameat2) [SYS_renameat2]:
5028         Port to RHEL 7 + NFS.  Problem reported by Ted Zlatanov in:
5029         http://lists.gnu.org/r/emacs-devel/2017-08/msg00082.html
5031 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
5033         renameat2: port to non-renameat platforms
5034         Problem reported for MSVC-2015 by Gisle Vanem in:
5035         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00001.html
5036         * lib/renameat2.c [!HAVE_RENAMEAT]: Include <sys/stat.h> here too.
5037         (renameat2) [!HAVE_RENAMEAT]: Fix typo in arg passing.
5039 2017-08-01  Paul Eggert  <eggert@cs.ucla.edu>
5041         manywarnings: port to 32-bit GCC bug
5042         Problem reported by Pino Toscano in:
5043         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00150.html
5044         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Use 2**31 - 1,
5045         not 2**63 - 1, to work around the following GCC bug:
5046         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81650
5048 2017-07-30  Paul Eggert  <eggert@cs.ucla.edu>
5050         backupfile: new function to validate backup suffix
5051         * lib/backupfile.c (set_simple_backup_suffix): New function.
5052         (backupfile_internal): Use it.
5054         canonicalize: fix EOVERFLOW commentary
5055         Problem reported by Bruno Haible in:
5056         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00147.html
5057         * lib/canonicalize.c (canonicalize_filename_mode):
5058         * lib/canonicalize-lgpl.c (__realpath): Fix comments.
5060         Don't interpret EOVERFLOW to mean nonexistence
5061         * lib/fts.c (fts_stat): If lstat fails, report its errno, which
5062         may be EOVERFLOW; this is likely more useful than reporting the
5063         stat errno.
5064         * lib/glob.c (link_stat): Rename from link_exists2_p and
5065         return -1/0 instead of 0/1.  Caller changed.
5066         * lib/glob.c (link_exists_p):
5067         * lib/renameat2.c (rename_noreplace, renameat2):
5068         * lib/tempname.c (try_nocreate):
5069         If errno == EOVERFLOW then the directory entry exists, so do not
5070         act as if it does not exist.
5072         backup-rename: new module
5073         It is like backupfile, except it avoids some race conditions,
5074         and it does not output to stderr or exit.
5075         * MODULES.html.sh: Add backup-rename.
5076         * lib/backup-find.c, lib/backup-internal.h, lib/backup-rename.c:
5077         * modules/backup-rename: New files.
5078         * lib/backupfile.c: Turn this into an internals file, which
5079         contains code common to backupfile and backup_rename.  Include
5080         backupfile-internal.h instead of backupfile.h.  Do not include
5081         argmatch.h or xalloc.h: include xalloc-oversized.h.  Include
5082         renameat2.h and fcntl.h.
5083         (BACKUP_NOMEM): New constant.
5084         (numbered_backup): New args BASE_OFFSET and *DIRPP.  Do not exit
5085         on memory exhaustion; just return BACKUP_NOMEM.  Caller changed.
5086         (backupfile_internal): Rename from find_backup_file_name.
5087         Support new arg RENAME.
5088         (backup_args, backup_types, get_version, xget_version):
5089         Move to lib/backup-find.c.
5090         * lib/backupfile.h (backup_file_rename): New decl.
5091         * modules/backupfile (Files): Add lib/backup-internal.h,
5092         lib/backup-find.c.
5093         (Depends-on): Add dirfd, fcntl, renameat2.
5094         (lib_SOURCES): Add backup-find.c.
5096         renameat2: port better to older Solaris
5097         * lib/renameat2.c (renameat2): Set ret_val properly on old Solaris.
5098         Add goto to use a label, to silence picky compilers.
5100         fts-tests: port to gcc -Wwrite-strings
5101         * tests/test-fts.c (base, base_d): New static vars.
5102         (argv, remove_tree, main): Use them.
5104 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
5106         relocatable-lib{,-lgpl}: improve documentation
5107         * doc/relocatable-maint.texi: Document use of relocatable-lib{,-lgpl}.
5108         Various other updates.
5110 2017-07-30  Reuben Thomas  <rrt@sc3d.org>
5111             Bruno Haible  <bruno@clisp.org>
5113         relocatable-lib{,-lgpl}: add Valgrind suppressions
5114         * lib/relocatable.valgrind: New file.
5115         * modules/relocatable-lib (Files): Add relocatable.valgrind.
5116         * modules/relocatable-lib-lgpl: Likewise.
5118 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
5120         relocatable: Make the license on the sources the GPL.
5121         * lib/relocatable.h, lib/relocatable.c: Change the copyright notice from
5122         LGPL, which was a special case so that the relocatable source files
5123         could be used without gnulib-tool, to GPL. They can still be used under
5124         the LGPL, using the --lgpl option to gnulib-tool.
5126 2017-07-30  Bruno Haible  <bruno@clisp.org>
5128         host-cpu-c-abi: Detect ILP32 ABI on IA-64 HP-UX.
5129         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Distinguish ia64-ilp32
5130         from ia64. For arm64, test only __aarch64__, as __ARM_64BIT_STATE and
5131         __ARM_PCS_AAPCS64 are not reliable indicators: they are not defined on
5132         Ubuntu 14.04 (gcc 4.8.4) and Debian 8 (gcc 4.9.2).
5134 2017-07-27  Paul Eggert  <eggert@cs.ucla.edu>
5136         faccessat: document AT_SYMLINK_NOFOLLOW issue
5137         * doc/posix-functions/faccessat.texi: Modernize platform list.
5138         Document AT_SYMLINK_NOFOLLOW limitation.
5140         renameat2: port to Solaris 10
5141         * lib/renameat2.c (rename_noreplace): Use lstat, not faccessat
5142         with AT_SYMLINK_NOFOLLOW (which is not portable).
5143         (renameat): Undef before using, to avoid endless recursion when
5144         the replacement renameat calls renameat2 which calls the
5145         replacement renameat.
5146         (renameat2): Use lstatat, not faccessat with AT_SYMLINK_NOFOLLOW.
5147         * modules/renameat2 (Depends-on): Remove faccessat.
5148         * modules/renameat-tests (test_renameat_LDADD):
5149         * modules/renameat2-tests (test_renameat2_LDADD):
5150         Remove $(LIB_EACCESS).
5152         renameat2: new module
5153         Although the Linux syscall renameat2 is not in glibc (yet?), it is
5154         useful to have access to its RENAME_NOREPLACE flag.
5155         * MODULES.html.sh (func_all_modules): Add renameat2.
5156         * lib/renameat2.c, lib/renameat2.h, modules/renameat2:
5157         * modules/renameat2-tests, tests/test-renameat2.c: New files.
5158         * lib/renameat.c (renameat): Move most of the implementation
5159         to renameat2, and just call renameat2.
5160         * modules/renameat (Files): Remove lib/at-func2.c.
5161         (Depends-on): Depend only on renameat2.
5162         (Include): Remove <fcntl.h>.
5163         * modules/renameat-tests (test_renameat_LDADD): Add $(LIB_EACCESS),
5164         since renameat (via renameat2) might use faccessat.
5166 2017-07-27  Erik Skultety <eskultet@redhat.com>  (tiny change)
5168         vc-list-files: Adjust the script to support git worktrees
5169         * build-aux/vc-list-files: Require existence, not directory.
5171 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
5173         doc: bring MODULES.html.sh up to date
5174         Somehow a few months ago we stopped updating MODULES.html.sh.
5175         I don’t recall explicitly deciding this, so I updated it now.
5176         Alternatively I suppose we could remove it.
5177         * MODULES.html.sh: Add builtin-expect, c99, ctime, explicit_bzero,
5178         localtime, localtime-buffer, noreturn, nstrftime, strftime-fixes,
5179         truncate, utime, utime-h, windows-stat-inodes,
5180         windows-stat-override, windows-stat-timespec, year2038.  Sort.
5182 2017-07-26  Jim Meyering  <meyering@fb.com>
5184         fprintftime: fix build-break caused by recent renaming
5185         * lib/fprintftime.c: Include "nstrftime.c", not the now-renamed
5186         "strftime.c".
5187         * modules/fprintftime: Depend directly on nstrftime.
5189 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
5191         regex: work with GCC7's -Werror=implicit-fallthrough=
5192         * lib/regex_internal.h (FALLTHROUGH): New macro.
5193         * lib/regcomp.c (peek_token_bracket, parse_expression):
5194         * lib/regexec.c (check_node_accept): Use it.
5196 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
5198         fts: simplify fts_build
5199         * lib/fts.c (fts_build): Simplify, and be lazier about
5200         calling leaf_optimization.
5202         fts: three levels of leaf optimization
5203         * lib/fts.c (enum leaf_optimization): New type with three values.
5204         (S_MAGIC_AFS): New macro.  Sort them.
5205         (leaf_optimization): Rename from leaf_optimization_applies, and
5206         return enum leaf_optimization instead of bool.  All uses changed.
5207         Add cases for unknown type and for AFS.
5208         (fts_build): Don’t rely on link counts if NO_LEAF_OPTIMIZATION.
5210         fts: cache dirent_inode_sort_may_be_useful too
5211         * lib/fts.c (struct dev_type): New struct.
5212         (DEV_TYPE_HT_INITIAL_SIZE): New constant.
5213         (dev_type_hash, dev_type_compare, filesystem_type): New functions.
5214         (dirent_inode_sort_may_be_useful, leaf_optimization_applies):
5215         Now takes FTSENT const *, not int.  All uses changed.  Use
5216         filesystem_type to cache.
5217         (link_count_optimize_ok): Remove.  Caller changed to use
5218         leaf_optimization_applies, which now uses shared cache.
5220         fts: introduce MIN_DIR_NLINK
5221         * lib/fts.c (MIN_DIR_NLINK): New constant.
5222         Use it instead of 2, whenever we are talking about link counts.
5224         fts: nlink_t signedness fixups
5225         * lib/fts.c (fts_open): Set rootparent n_dirs_remaining to -1
5226         so that root need not be a special case later.
5227         (fts_read): Remove now-redundant test for fts_level.
5228         Do not assume that nlink_t is signed.
5229         (fts_build): Remove useless decrement of nlinks.
5230         (fts_stat): Avoid unlikely signed integer overflow later, if
5231         nlink_t is signed.
5233         fts-tests: new module
5234         * modules/fts-tests, tests/test-fts.c: New files.
5236 2017-07-23  Bruno Haible  <bruno@clisp.org>
5238         Rename module 'strftime' to 'nstrftime'.
5239         * m4/nstrftime.m4: Renamed from m4/strftime.m4.
5240         * lib/nstrftime.c: Renamed from lib/strftime.c.
5241         * modules/nstrftime: Renamed from modules/strftime.
5242         (Files, Makefile.am): Update.
5243         * tests/test-nstrftime.c: Renamed from tests/test-strftime.c.
5244         Fix comment.
5245         * modules/nstrftime-tests: Renamed from modules/strftime-tests.
5246         (Files, Makefile.am): Update.
5247         * modules/strftime: New file, an obsolete indirection.
5248         * doc/posix-functions/strftime.texi: Update reference.
5249         * config/srclist.txt: Update info.
5250         * NEWS: Mention the change.
5252 2017-07-21  Tim Rühsen  <tim.ruehsen@gmx.de>
5254         malloca: Silence a warning from clang's memory sanitizer.
5255         * lib/malloca.c (NO_SANITIZE_MEMORY): New macro.
5256         (freea): Use it.
5258 2017-07-18  Bruno Haible  <bruno@clisp.org>
5260         host-cpu-c-abi: Fix detection of MIPS ABI.
5261         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, really test the
5262         ABI, not the CPU instruction set.
5264 2017-07-16  Paul Eggert  <eggert@cs.ucla.edu>
5266         explicit_bzero: new module
5267         The explicit_bzero function has been added to glibc.
5268         This module is intended to supports its use in GNU programs.
5269         * doc/glibc-functions/explicit_bzero.texi, lib/explicit_bzero.c:
5270         * m4/explicit_bzero.m4, modules/explicit_bzero:
5271         New files.
5272         * doc/gnulib.texi (Glibc string.h): Link to new doc.
5273         * lib/string.in.h (explicit_bzero): Declare.
5274         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add defaults for it.
5275         * modules/string (string.h): Substitute its vars.
5277 2017-07-16  Bruno Haible  <bruno@clisp.org>
5279         threadlib: Support static linking.
5280         * m4/threadlib.m4 (gl_THREADLIB_BODY): When static linking is in use,
5281         set gl_cv_have_weak to 'no'.
5283 2017-07-16  Bruno Haible  <bruno@clisp.org>
5285         unicase/locale-language: Fix link dependencies.
5286         * modules/unicase/locale-language (Link): New section.
5287         * modules/unicase/locale-language-tests (Makefile.am): Link
5288         test-locale-language program with $(LIBTHREAD).
5290 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
5292         sys_socket: Add support for OpenVMS.
5293         * lib/sys_socket.in.h [__VMS]: Define CMSG_SPACE, CMSG_LEN.
5294         * doc/posix-headers/sys_socket.texi: Mention OpenVMS issues.
5296 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
5298         sys_resource: Add support for OpenVMS.
5299         * lib/resource.in.h [__VMS]: Define RUSAGE_SELF, RUSAGE_CHILDREN.
5300         * doc/posix-headers/sys_resource.texi: Mention OpenVMS issues.
5302 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
5303             Bruno Haible  <bruno@clisp.org>
5305         math: Add support for OpenVMS.
5306         * lib/math.in.h [__VMS]: Include <fp.h>.
5307         * doc/posix-headers/math.texi: Mention OpenVMS issues.
5309 2017-07-15  Bruno Haible  <bruno@clisp.org>
5311         getdtablesize: Add minimal support for OpenVMS.
5312         Reported by John E. Malmberg <wb8tyw@qsl.net>.
5313         * modules/getdtablesize (Description): Fix.
5314         * lib/getdtablesize.c: Fix comment.
5315         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Don't replace the
5316         getdtablesize() function, even though the test fails.
5317         * doc/glibc-functions/getdtablesize.texi: Reference SUSv2. Describe
5318         limitation on OpenVMS.
5320 2017-07-13  Bruno Haible  <bruno@clisp.org>
5322         Revisit cross-compilation guesses.
5323         * m4/wctype_h.m4 (gl_WCTYPE_H): Add comment.
5325 2017-07-13  Bruno Haible  <bruno@clisp.org>
5327         Improve cross-compilation guesses for native Windows.
5328         * m4/btowc.m4 (gl_FUNC_BTOWC): Add cross-compilation guess for native
5329         Windows.
5330         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Likewise.
5331         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Likewise.
5332         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
5333         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): Likewise.
5334         * m4/cbrtl.m4 (gl_FUNC_CBRTL, gl_FUNC_CBRTL_WORKS): Likewise.
5335         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
5336         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
5337         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
5338         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
5339         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
5340         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
5341         * m4/exp2.m4 (gl_FUNC_EXP2_WORKS): Likewise.
5342         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
5343         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
5344         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): Likewise.
5345         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
5346         * m4/fabsl.m4 (gl_FUNC_FABSL_WORKS): Likewise.
5347         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
5348         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
5349         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
5350         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
5351         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
5352         * m4/fma.m4 (gl_FUNC_FMA_WORKS): Likewise.
5353         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Likewise.
5354         * m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Likewise.
5355         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
5356         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
5357         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
5358         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
5359         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): Likewise.
5360         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
5361         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Likewise.
5362         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
5363         * m4/hypotf.m4 (gl_FUNC_HYPOTF, gl_FUNC_HYPOTF_WORKS): Likewise.
5364         * m4/hypotl.m4 (gl_FUNC_HYPOTL, gl_FUNC_HYPOTL_WORKS): Likewise.
5365         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Likewise.
5366         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
5367         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
5368         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
5369         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
5370         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
5371         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
5372         * m4/log.m4 (gl_FUNC_LOG, gl_FUNC_LOG_WORKS): Likewise.
5373         * m4/logf.m4 (gl_FUNC_LOGF, gl_FUNC_LOGF_WORKS): Likewise.
5374         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise.
5375         * m4/log10.m4 (gl_FUNC_LOG10, gl_FUNC_LOG10_WORKS): Likewise.
5376         * m4/log10f.m4 (gl_FUNC_LOG10F, gl_FUNC_LOG10F_WORKS): Likewise.
5377         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Likewise.
5378         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
5379         * m4/log1pf.m4 (gl_FUNC_LOG1PF, gl_FUNC_LOG1PF_WORKS): Likewise.
5380         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
5381         * m4/log2.m4 (gl_FUNC_LOG2, gl_FUNC_LOG2_WORKS): Likewise.
5382         * m4/log2f.m4 (gl_FUNC_LOG2F, gl_FUNC_LOG2F_WORKS): Likewise.
5383         * m4/log2l.m4 (gl_FUNC_LOG2L_WORKS): Likewise.
5384         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): Likewise.
5385         * m4/logbf.m4 (gl_FUNC_LOGBF_WORKS): Likewise.
5386         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Likewise.
5387         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
5388         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT, gl_MBRTOWC_C_LOCALE): Likewise.
5389         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
5390         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
5391         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Likewise.
5392         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
5393         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
5394         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
5395         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
5396         * m4/perror.m4 (gl_FUNC_PERROR): Likewise.
5397         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
5398         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE,
5399         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2,
5400         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): Likewise.
5401         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
5402         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
5403         * m4/regex.m4 (gl_REGEX): Likewise.
5404         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
5405         * m4/remainderf.m4 (gl_FUNC_REMAINDERF,
5406         gl_FUNC_REMAINDERF_WORKS): Likewise.
5407         * m4/remainderl.m4 (gl_FUNC_REMAINDERL,
5408         gl_FUNC_REMAINDERL_WORKS): Likewise.
5409         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
5410         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
5411         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
5412         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
5413         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
5414         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
5415         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
5416         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
5417         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): Likewise.
5418         * m4/stdint.m4 (gl_STDINT_H): Likewise.
5419         * m4/strerror.m4 (gl_FUNC_STRERROR_0): Likewise.
5420         * m4/strncat.m4 (gl_FUNC_STRNCAT): Likewise.
5421         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
5422         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
5423         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
5424         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
5425         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
5426         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
5427         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
5428         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
5429         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
5430         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
5431         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
5432         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
5433         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
5434         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
5435         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
5436         Likewise.
5437         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
5438         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for native
5439         Windows. Enable also on Autoconf 2.70.
5440         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
5441         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
5442         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
5443         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO,
5444         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
5445         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): Add cross-compilation guess
5446         for native Windows.
5447         (gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
5448         gl_VSNPRINTF_ZEROSIZE_C99): Add comment.
5450 2017-07-13  Bruno Haible  <bruno@clisp.org>
5452         Improve cross-compilation guesses for native Windows.
5453         * m4/memchr.m4 (gl_FUNC_MEMCHR): Add cross-compilation guess for native
5454         Windows.
5455         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Don't use internals of
5456         memchr.m4.
5457         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
5459 2017-07-13  Bruno Haible  <bruno@clisp.org>
5461         Improve cross-compilation guesses for native Windows.
5462         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Add cross-compilation guess for
5463         native Windows.
5464         (gl_FUNC_FFLUSH): Update accordingly.
5465         * m4/fclose.m4 (gl_FUNC_FCLOSE): Likewise.
5466         * m4/fseeko.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
5468 2017-07-11  Bruno Haible  <bruno@clisp.org>
5470         More systematic m4 quoting and indentation.
5471         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Quote systematically.
5472         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
5473         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
5474         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
5475         * m4/host-os.m4 (gl_HOST_OS): Likewise.
5476         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H,
5477         gl_WINSIZE_IN_PTEM): Likewise.
5478         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Likewise.
5479         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
5480         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
5481         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Quote systematically.
5482         Correct indentation.
5483         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
5484         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
5485         * m4/jm-winsz2.m4 (gl_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL): Likewise.
5486         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
5487         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
5488         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
5490 2017-07-10  Bruno Haible  <bruno@clisp.org>
5492         round, roundf: Avoid compiler warning in configure test.
5493         * m4/round.m4 (gl_FUNC_ROUND): Use 'return' instead of exit().
5494         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
5496 2017-07-10  Bruno Haible  <bruno@clisp.org>
5498         getlogin tests: Avoid #ifdefs when sharing code between modules.
5499         * modules/getlogin_r-tests (Files): Add tests/test-getlogin.h.
5500         * modules/getlogin-tests (Files): Likewise. Remove
5501         tests/test-getlogin_r.c.
5502         * tests/test-getlogin.h: Extracted from tests/test-getlogin_r.c.
5503         * tests/test-getlogin.c: Extracted from tests/test-getlogin_r.c.
5504         * tests/test-getlogin_r.c: Include test-getlogin.h. Omit code that tests
5505         getlogin().
5507 2017-07-10  Paul Eggert  <eggert@cs.ucla.edu>
5509         getlogin: don’t assume one name per uid
5510         Problem reported by Wolfgang F. Muthmann (Bug#27640).
5511         * modules/getlogin-tests (Files): Add tests/test-getlogin_r.c.
5512         (ttyname): Remove test.
5513         * modules/getlogin_r-tests (ttyname): Remove test.
5514         * tests/test-getlogin.c: Replace this near-clone of test-getlogin_r.c
5515         with ‘#define TEST_LOGIN’ followed by ‘#include "test-getlogin_r.c"’.
5516         * tests/test-getlogin_r.c: If TEST_GETLOGIN is defined, test
5517         getlogin rather than getlogin_r.  This avoids code duplication.
5518         (main): Use isatty and fstat rather than ttyname and stat.
5519         Use getpwnam instead of getpwuid, to be portable to test platforms
5520         that have multiple login names for the same uid.
5522 2017-07-10  Tim Rühsen  <tim.ruehsen@gmx.de>
5523             Bruno Haible  <bruno@clisp.org>
5525         glob: Fix more memory leaks.
5526         * lib/glob.c (glob): Use 'goto out' in order to free dirname before
5527         returning.
5528         Reported by Tim Rühsen.
5530 2017-07-10  Bruno Haible  <bruno@clisp.org>
5532         Make sure $host and $host_os are defined when used.
5533         * m4/argz.m4 (gl_FUNC_ARGZ): Require AC_CANONICAL_HOST.
5534         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Likewise.
5535         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
5536         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
5537         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
5538         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
5539         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
5540         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
5541         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
5542         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
5543         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Likewise.
5544         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Likewise.
5545         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
5546         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST outside the
5547         m4_ifdef block.
5549 2017-07-09  Bruno Haible  <bruno@clisp.org>
5551         *printf: Fix cross-compilation guess for Solaris.
5552         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): Fix copy-and-paste mistake from
5553         2010-12-21.
5555 2017-07-07  Paul Eggert  <eggert@cs.ucla.edu>
5556             Bruno Haible  <bruno@clisp.org>
5558         vasnprintf: port to macOS 10.13
5559         Problem reported by comex in:
5560         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00056.html
5561         * lib/vasnprintf.c (VASNPRINTF): Don’t use %n on macOS.
5563 2017-07-06  Bruno Haible  <bruno@clisp.org>
5565         imaxdiv tests: Fix logic.
5566         * tests/test-imaxdiv.c (main): Use == instead of =.
5567         Reported by Coverity.
5569 2017-07-06  Bruno Haible  <bruno@clisp.org>
5571         uninorm/filter: Fix use-after-free bug.
5572         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Maintain
5573         sortbuf == filter->sortbuf invariant.
5574         Reported by Coverity.
5576 2017-07-06  Bruno Haible  <bruno@clisp.org>
5578         glob: Fix more memory leaks.
5579         * lib/glob.c (glob): Free dirname before returning.
5580         Reported by Coverity and Tim Rühsen.
5582 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
5584         parse-datetime: fix uninit var bug
5585         Reported by Bruno Haible in:
5586         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00038.html
5587         * lib/parse-datetime.y (parse_datetime2): Do not use
5588         uninitialized.
5590 2017-07-05  Bruno Haible  <bruno@clisp.org>
5592         doc: Update for MSVC 14.
5593         * doc/posix-headers/*.texi: Add info about MSVC 14.
5594         * doc/posix-functions/*.texi: Likewise.
5595         * doc/pastposix-functions/*.texi: Likewise.
5596         * doc/glibc-headers/*.texi: Likewise.
5597         * doc/glibc-functions/*.texi: Likewise.
5599 2017-07-05  Bruno Haible  <bruno@clisp.org>
5601         sched: Fix build failure on native Windows (regression from 2017-06-19).
5602         * m4/sched_h.m4 (gl_SCHED_H): Set HAVE_STRUCT_SCHED_PARAM always.
5604 2017-07-03  John E. Malmberg  <wb8tyw@gmail.com>
5606         stdioext: Port to OpenVMS.
5607         * lib/stdio-impl.h: OpenVMS uses struct _iobuf for FILE information.
5608         * lib/fpending.c (fpending): Remove non-working VMS specific code.
5609         * lib/fbufmode.c (fbufmode): Fix _IOLBF test to use fp_ macro.
5610         * lib/fflush.c (clear_ungetc_buffer): Add OpenVMS to comments.
5611         * lib/fpurge.c (fpurge): Likewise.
5612         * lib/freadable.c (freadable): Likewise.
5613         * lib/freadahead.c (freadahead): Likewise.
5614         * lib/freading.c (freading): Likewise.
5615         * lib/freadptr.c (freadptr): Likewise.
5616         * lib/freadseek.c (freadseek): Likewise.
5617         * lib/fseeko.c (fseeko): Likewise.
5618         * lib/fseterr.c (fseterr): Likewise.
5619         * lib/fwritable.c (fwriteable): Likewise.
5620         * lib/fwriting.c (fwriting): Likewise.
5622 2017-07-01  Benno Schulenberg  <bensberg@telfort.nl>
5624         glob: Declare variables at the very start of their scope.
5625         * lib/glob.c (convert_dirent, convert_dirent64): Give each fragment
5626         its separate scope, so the functions will compile on Haiku.
5628 2017-07-01  Bruno Haible  <bruno@clisp.org>
5630         logbl: Work around a glibc bug on PowerPC64LE.
5631         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Test also negative subnormal
5632         numbers.
5633         * doc/posix-functions/logbl.texi: Update.
5635 2017-06-29  Bruno Haible  <bruno@clisp.org>
5637         stat, fstat: Compile stat-w32.c only on platforms that need it.
5638         Suggested by Paul Eggert.
5639         * modules/stat (configure.ac): Request stat-w32.o only on native
5640         Windows.
5641         * modules/fstat (configure.ac): Likewise.
5643 2017-06-25  Bruno Haible  <bruno@clisp.org>
5645         stat: Improve last change.
5646         * lib/stat-w32.c: Revert last change. Use generic idiom instead.
5648 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
5650         stat: port to xlc 12.01
5651         * lib/stat-w32.c: Always include <sys/types.h>.  Otherwise, xlc
5652         12.01 complains "Compilation unit is empty."
5654 2017-06-24  Paul Eggert  <eggert@cs.ucla.edu>
5656         xalloc-oversized: port to icc
5657         * lib/xalloc-oversized.h (xalloc_oversized): Do not use
5658         __builtin_mul_overflow if ICC is defined, as this results in
5659         "undefined reference to `__builtin_mul_overflow'" with icc 17.0.2
5660         20170213.
5662 2017-06-19  Bruno Haible  <bruno@clisp.org>
5664         classpath: Avoid including config.h twice, as it produces warnings.
5665         Reported by John E. Malmberg <wb8tyw@gmail.com>.
5666         * lib/classpath.h: Conditionalize the include of config.h.
5668 2017-06-19  Bruno Haible  <bruno@clisp.org>
5669             John E. Malmberg  <wb8tyw@gmail.com>  (tiny change)
5671         sched: Fix compilation failure on OpenVMS.
5672         * m4/sched_h.m4 (gl_SCHED_H): Require AC_CANONICAL_HOST. On OpenVMS,
5673         test whether <pthread.h> exists and defines struct sched_param.
5674         * lib/sched.in.h: On OpenVMS, include <pthread.h>.
5676 2017-06-17  Paul Eggert  <eggert@cs.ucla.edu>
5678         diffseq: port to GCC 7 with --enable-gcc-warnings
5679         * lib/diffseq.h (diag): Use an if, not an ifdef, for most of the
5680         heuristic check.  This way, GCC 7 with --enable-gcc-warnings does
5681         not complain about big_snake being defined but not used.
5683 2017-06-15  Bruno Haible  <bruno@clisp.org>
5685         gettext-h: Update theoretical condition for use of variable size arrays.
5686         Reported by Paul Eggert.
5687         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Extend comment
5688         to include the theoretical condition for availability of variable size
5689         arrays, if we could trust the value of __STDC_VERSION__.
5691 2017-06-12  Bruno Haible  <bruno@clisp.org>
5693         Relicense some modules under LGPLv2+.
5694         Daiki Ueno's approval is in
5695         https://lists.gnu.org/r/bug-gnulib/2017-06/msg00058.html.
5696         * modules/uniwidth/base (License): Change to LGPLv2+.
5697         * modules/uniwidth/width (License): Likewise.
5699 2017-06-11  Bruno Haible  <bruno@clisp.org>
5701         localename: Fix test failure on DragonFly BSD.
5702         * lib/localename.c (gl_locale_name_thread_unsafe): Treat DragonFly BSD
5703         like FreeBSD.
5705 2017-06-11  Bruno Haible  <bruno@clisp.org>
5707         float: Fix 'float' and 'isinf' failures on DragonFly BSD.
5708         * m4/float_h.m4 (gl_FLOAT_H): Treat DragonFly BSD like FreeBSD.
5709         * lib/float.in.h: Likewise.
5710         * m4/fmal.m4, m4/frexpl.m4, m4/logbl.m4: Update accordingly.
5712 2017-06-11  Bruno Haible  <bruno@clisp.org>
5714         gnulib-tool: Clean up after autotools.
5715         * gnulib-tool (func_create_testdir, func_create_megatestdir): Remove
5716         useless directory left over by the Autotools.
5718 2017-06-11  Paul Eggert  <eggert@cs.ucla.edu>
5720         getopt-posix: port to glibc 2.25.90
5721         Problem reported by Daniel P. Berrange in:
5722         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00003.html
5723         * lib/getopt-pfx-core.h (_GETOPT_CORE_H):
5724         * lib/getopt-pfx-ext.h (_GETOPT_EXT_H):
5725         #undef if __GETOPT_PREFIX is defined.
5727 2017-06-11  Bruno Haible  <bruno@clisp.org>
5729         strtod-obsolete: Fix license.
5730         * modules/strtod-obsolete (License): Change to LGPL.
5732 2017-06-10  Jim Meyering  <meyering@fb.com>
5734         maint: update to work with GCC7's -Werror=implicit-fallthrough=
5735         * lib/savewd.c (FALLTHROUGH): Define.
5736         (savewd_save, savewd_restore): Use this, rather than a comment,
5737         whenever one switch case falls through into the next.
5739 2017-06-08  Bruno Haible  <bruno@clisp.org>
5741         host-cpu-c-abi: Support for aarch64 ILP32 ABI.
5742         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the aarch64 ILP32
5743         ABI. Set HOST_CPU_C_ABI=arm64-ilp32 and define __arm64_ilp32__ in this
5744         case.
5746 2017-06-08  Paul Eggert  <eggert@cs.ucla.edu>
5748         doc: remove robots, add prereqs
5749         * doc/build-automation.texi, doc/gnulib.texi: Mention prereqs for
5750         builds.  Simon's robot site does not seem to be up, so remove
5751         mentions of it for now.
5753 2017-06-08  Bruno Haible  <bruno@clisp.org>
5755         gnulib-tool: Fix bug in func_symlink_if_changed, from 2006-11-13.
5756         * gnulib-tool (func_symlink_target): New function, extracted from
5757         func_symlink.
5758         (func_symlink, func_symlink_if_changed): Use it.
5760 2017-06-08  Bruno Haible  <bruno@clisp.org>
5762         gnulib-tool: Fix bug in func_ln_s, from 2016-01-15.
5763         * gnulib-tool (func_ln_s): Determine cp_src correctly.
5765 2017-06-07  Bruno Haible  <bruno@clisp.org>
5767         canonicalize-lgpl: Avoid conflict with gnulib 'getcwd' module on VMS.
5768         Reported by John E. Malmberg <wb8tyw@gmail.com> in
5769         <https://lists.gnu.org/r/bug-gnulib/2017-06/msg00029.html>.
5770         * lib/canonicalize-lgpl.c (__getcwd): On VMS, when using gnulib's getcwd
5771         override, pass 2 arguments to getcwd, not 3.
5773 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
5775         same-inode: port better to VMS 8.2 and later
5776         Problem reported by John E. Malmberg in:
5777         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00005.html
5778         * lib/same-inode.h (SAME_INODE) [__VMS && 80200000 <= __CRTL_VER]:
5779         Use the usual POSIX definition.
5780         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define _USE_STD_STAT.
5782 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
5784         error: fix POSIX violation for va_end
5785         Problem reported by Bruno Haible in:
5786         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00001.html
5787         * lib/error.c (error_tail): Do not call va_end here.
5788         (error, error_at_line): Call it here instead.
5790 2017-05-28  Bruno Haible  <bruno@clisp.org>
5792         c-strtod: Make it usable in C++ mode.
5793         * lib/c-strtod.h: Add 'extern "C"' marker for C++.
5795 2017-05-25  Jim Meyering  <meyering@fb.com>
5797         quotearg: fix compilation failure due to FALLTHROUGH misuse
5798         * lib/quotearg.c (quotearg_buffer_restyled): Revert one FALLTHROUGH
5799         macro back to /* fall through */ comment.  The macro can apply only
5800         to a following case statement.  Reported by Assaf Gordon.
5802 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
5804         intprops: port to recent icc
5805         Port to icc (ICC) 17.0.4 20170411, which defines __GNUC__ to be 5
5806         but does not support __builtin_add_overflow etc.
5807         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW) [__ICC]:
5808         Define to 0.
5810 2017-05-23  Karl Berry  <karl@freefriends.org>
5812         * config/srclist.txt (iconv.m4): sync broken, comment out
5813         until (hopefully) the next gettext release.
5815 2017-05-22  Bjarni Ingi Gislason  <bjarniig@rhi.hi.is>
5817         Remove repeated words in comments.
5819 2017-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
5821         fallthrough: reinstate a FALLTHROUGH instance in quotearg
5822         quotearg.c: Reinstate this instance which is significant
5823         when the if branch is not taken.
5825 2017-05-21  Bruno Haible  <bruno@clisp.org>
5827         gnulib-tool: Add options to create hard links.
5828         * gnulib-tool (func_usage): Document options --hardlink,
5829         --local-hardlink, --more-hardlinks.
5830         (func_symlink): Renamed from func_ln.
5831         (func_symlink_if_changed): Renamed from func_ln_if_changed.
5832         (func_hardlink): New function.
5833         (copymode, lcopymode): New variables.
5834         (symbolic, lsymbolic): Remove variables.
5835         (Options): Implement options --hardlink, --local-hardlink,
5836         --more-hardlinks.
5837         (func_should_link): Renamed from func_should_symlink. Set copyaction.
5838         (func_add_file, func_update_file): Update invocation of
5839         func_should_link. Invoke func_hardlink when appropriate.
5840         (func_import): Update comments.
5841         (func_create_testdir): Update invocation of func_should_link. Invoke
5842         func_hardlink when appropriate.
5843         Finally, invoke 'git update-index --refresh' to mitigate the effects of
5844         the hard links on git.
5846 2017-05-20  Bruno Haible  <bruno@clisp.org>
5848         argp: Simplify bit manipulation.
5849         * lib/argp-parse.c (parser_parse_opt): Use &, |, ~ instead of shifts
5850         on a signed integer type.
5852 2017-05-20  Bruno Haible  <bruno@clisp.org>
5854         Avoid wrong configure results with gcc -fsanitize=address.
5855         This completes the work done on 2016-02-06 on this topic.
5856         * m4/memmem.m4 (gl_FUNC_MEMMEM): Free allocated memory before returning.
5857         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
5858         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
5859         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
5860         * m4/fopen.m4 (gl_FUNC_FOPEN): Close allocated FILE streams before
5861         returning.
5862         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
5863         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
5864         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
5865         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
5866         * m4/signbit.m4 (gl_FLOATTYPE_SIGN_LOCATION): Likewise.
5867         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
5868         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Close allocated FILE streams and
5869         free allocated memory before returning.
5870         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
5871         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Close allocated DIR
5872         objects before returning.
5873         * m4/iconv.m4 (AM_ICONV_LINK): Close allocated iconv_t handles before
5874         returning.
5876 2017-05-20  Bruno Haible  <bruno@clisp.org>
5878         gnulib-tool: Don't create hard links between gnulib and its testdirs.
5879         * gnulib-tool (func_create_testdir): Don't invoke 'ln'.
5881 2017-05-20  Bruno Haible  <bruno@clisp.org>
5883         argp, tsearch tests: Fix file list.
5884         * modules/argp-tests (Files): Add tests/macros.h.
5885         * modules/tsearch-tests (Files): Likewise.
5887 2017-05-20  Bruno Haible  <bruno@clisp.org>
5889         getopt-posix tests: Remove redundant include.
5890         * tests/test-getopt.h: Don't include "macros.h". It's already included
5891         by tests/test-getopt-main.h.
5893 2017-05-19  Jim Meyering  <meyering@fb.com>
5895         dfa: two small simplifications
5896         * lib/dfa.c (build_state): Avoid repeating longer expressions.
5898 2017-05-18  Jim Meyering  <meyering@fb.com>
5900         fallthrough: update for GCC 7/8
5901         * lib/quotearg.c (FALLTHROUGH): New macro.
5902         Use it whenever one switch case falls through into the next,
5903         replacing "/* Fall through */" comments.  This exposed one
5904         instance of an unwarranted "fall through" comment: unwarranted
5905         because it preceded a "goto" label not a case statement.
5906         * lib/freopen-safer.c (freopen_safer): Likewise.
5907         * lib/fts.c (leaf_optimization_applies): Likewise.
5908         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
5909         * tests/test-getopt_long.h (getopt_long_loop): Likewise.
5910         * tests/test-tsearch.c (mangle_tree): Likewise.  Also include
5911         tests/macros.h for the definition.
5912         * tests/test-argp.c (group1_parser): Likewise.
5913         * tests/test-getopt.h (getopt_loop): Likewise.
5915 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
5917         argp: fix shift bug
5918         * lib/argp-parse.c (parser_parse_opt): Rework to avoid undefined
5919         behavior on shift overflow, caught by gcc -fsanitize=undefined.
5921         argp: fix pointer-subtraction bug
5922         * lib/argp-help.c (hol_append): Don’t subtract pointers to
5923         different arrays, as this can run afoul of -fcheck-pointer-bounds.
5924         See the thread containing Bruno Haible’s report in:
5925         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00171.html
5927 2017-05-19  Bruno Haible  <bruno@clisp.org>
5929         printf-posix tests: Avoid test failure with "gcc --coverage".
5930         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
5931         * tests/test-printf-posix2.c (main): Test a width of 10000000 rather
5932         than 5000000.
5933         * tests/test-fprintf-posix2.c (main): Likewise.
5935 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
5937         closeout: don’t close stderr when sanitizing
5938         * NEWS: Document this.
5939         * lib/closeout.c (__has_feature): New macro, if not already defined.
5940         (SANITIZE_ADDRESS): New constant.
5941         (close_stdout): Don’t close stderr if sanitizing addresses.
5943 2017-05-19  Bruno Haible  <bruno@clisp.org>
5945         get-rusage-data tests: Avoid failure on Linux/glibc.
5946         * tests/test-get-rusage-data.c (main): Don't expect a strict increase
5947         on glibc systems.
5949 2017-05-18  Bruno Haible  <bruno@clisp.org>
5951         localename: Include necessary header files on Cygwin.
5952         * lib/localename.c [__CYGWIN__]: Include <langinfo.h>, since this is
5953         where NL_LOCALE_NAME is defined.
5955 2017-05-18  Bruno Haible  <bruno@clisp.org>
5957         gettext: Update macros from gettext git.
5958         * m4/intldir.m4: Require Autoconf >= 2.60.
5959         * m4/progtest.m4: Fix typos in copyright notice.
5961 2017-05-18  Bruno Haible  <bruno@clisp.org>
5963         copy-file tests: Fix link error (regression from 2017-05-01).
5964         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5965         * modules/copy-file-tests (Makefile.am): Link test-copy-file with
5966         $(LIB_CLOCK_GETTIME).
5968 2017-05-18  Bruno Haible  <bruno@clisp.org>
5970         unicase/special-casing: Fix incompatibility with gperf-3.0.4
5971         (regression from 2017-02-13).
5972         * lib/unicase/special-casing.in.h: Renamed from
5973         lib/unicase/special-casing.h.
5974         * modules/unicase/special-casing (Files): Add
5975         lib/unicase/special-casing.in.h. Remove lib/unicase/special-casing.h.
5976         (Makefile.am): Add rule for generating unicase/special-casing.h.
5977         Update BUILT_SOURCES and MOSTLYCLEANFILES accordingly.
5978         * lib/unicase/special-casing.c: Include "unicase/special-casing.h",
5979         not "special-casing.h".
5980         * lib/unicase/u*.c: Likewise.
5982 2017-05-17  Bruno Haible  <bruno@clisp.org>
5984         README: Don't ask people to read a TeXinfo file.
5985         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
5986         * README: Tell people how to read the HTML formatted manual.
5988 2017-05-16  Tim Rühsen  <tim.ruehsen@gmx.de>
5990         parse-datetime: Fix memleak
5991         * lib/parse-datetime.y (parse_datetime2): Cleanup on
5992         localtime_rz() failure.
5994 2017-05-16  Bruno Haible  <bruno@clisp.org>
5996         javacomp: Fix handle leak.
5997         Found by Coverity.
5998         * lib/javacomp.c (get_classfile_version): Close fd before returning.
6000 2017-05-16  Bruno Haible  <bruno@clisp.org>
6002         relocate: Make it easier to reclaim allocated memory.
6003         * lib/relocatable.h (relocate2): New declaration/macro.
6004         * lib/relocatable.c (relocate2): New function.
6005         * doc/relocatable-maint.texi (Supporting Relocation): Mention the
6006         relocate2 function.
6007         * lib/localcharset.c (relocate2): Define fallback.
6008         (get_charset_aliases): Invoke relocate2 instead of relocate. Free the
6009         allocated memory.
6010         * lib/javaversion.c (relocate2): Define fallback.
6011         (javaexec_version): Invoke relocate2 instead of relocate. Free the
6012         allocated memory.
6014 2017-05-16  Bruno Haible  <bruno@clisp.org>
6016         relocate: Simplify EMX specific code.
6017         * lib/relocatable.c (relocate): Assume pathname is non-NULL. Use
6018         ISSLASH macro consistently. Avoid dangerous string concatenation idiom.
6020 2017-05-16  Bruno Haible  <bruno@clisp.org>
6022         sigpipe tests: Fix file list.
6023         * modules/sigpipe-tests (Files): Add tests/macros.h.
6025 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
6027         manywarnings: update for GCC 7
6028         * build-aux/gcc-warning.spec:
6029         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
6030         Add GCC 7 warnings, notably -Wimplicit-fallthrough=5, which
6031         requires a non-comment fallthrough attribute.  This is a bit
6032         cleaner than the comment versions.
6033         * lib/strftime.c, lib/dfa.c, lib/fnmatch.c, lib/mbrtowc.c:
6034         * lib/vasnprintf.c, tests/macros.h (FALLTHROUGH): New macro.
6035         Use it whenever one switch case falls through into the next.
6036         * lib/fnmatch_loop.c, tests/test-mbrtowc.c, tests/test-sigpipe.c:
6037         Use FALLTHROUGH macro.
6039 2017-05-15  Bruno Haible  <bruno@clisp.org>
6041         gnulib-tool: Fix generated code when libtests contains module 'alloca'.
6042         * gnulib-tool (func_emit_tests_Makefile_am): For libtests.a, use
6043         @ALLOCA@, not @LTALLOCA@.
6045 2017-05-15  Bruno Haible  <bruno@clisp.org>
6047         sys_select: Avoid "was expanded before it was required" warning.
6048         * modules/sys_select (configure.ac): Require, not invoke,
6049         gl_HEADER_SYS_SELECT.
6051 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
6053         gnulib-tool: improve GNU Make debugging
6054         * gnulib-tool (func_emit_lib_Makefile_am): Omit unnecessary echo.
6055         Report autoconf diagnostics when it fails, in the output makefile.
6057 2017-05-14  Bruno Haible  <bruno@clisp.org>
6059         stat-time tests: Improve comment.
6060         * tests/test-stat-time.c: Add hyperlink, from Paul Eggert.
6062 2017-05-14  Bruno Haible  <bruno@clisp.org>
6064         same-inode: Adapt for windows-stat-inodes.
6065         * lib/same-inode.h: Include <sys/types.h>.
6066         (SAME_INODE) [_GL_WINDOWS_STAT_INODES]: Define specifically.
6067         * modules/same-inode (Depends-on): Add sys_types.
6069 2017-05-14  Bruno Haible  <bruno@clisp.org>
6071         windows-stat-inodes: New module.
6072         * m4/windows-stat-inodes.m4: New file.
6073         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_STAT_INODES.
6074         * modules/sys_types (Makefile.am): Substitute WINDOWS_STAT_INODES.
6075         * lib/sys_types.in.h [WINDOWS_STAT_INODES]: Override dev_t and ino_t.
6076         (_GL_WINDOWS_STAT_INODES): New macro.
6077         * lib/stat-w32.c: Set _WIN32_WINNT. Include <string.h>, verify.h.
6078         (GetFileInformationByHandleExFunc): New variable.
6079         (initialize): Initialize it.
6080         (_gl_fstat_by_handle) [_GL_WINDOWS_STAT_INODES]: Initialize st_dev and
6081         st_ino appropriately.
6082         * lib/stat.c (rpl_stat): Use the directory entry based approach only as
6083         a fallback, because it does not provide st_dev and st_ino values.
6084         * modules/fstat (Depends-on): Add 'verify'.
6085         * modules/windows-stat-inodes: New file.
6086         * doc/windows-stat-inodes.texi: New file.
6087         * doc/gnulib.texi: Include it.
6088         * doc/posix-headers/sys_stat.texi: Mention the new module.
6090 2017-05-14  Bruno Haible  <bruno@clisp.org>
6092         stat-time tests: Workaround for native Windows.
6093         * tests/test-stat-time.c: Include <stdio.h>, <time.h>.
6094         (filename_stamp1, filename_testfile, filename_stamp2, filename_stamp3):
6095         New variables.
6096         (initialize_filenames): New function.
6097         (main): Invoke it.
6098         (cleanup, prepare_test): Update.
6100 2017-05-14  Bruno Haible  <bruno@clisp.org>
6102         stat-time: Adapt for windows-stat-timespec.
6103         * lib/stat-time.h (get_stat_birthtime) [_GL_WINDOWS_STAT_TIMESPEC]: Use
6104         entire st_ctim field.
6106 2017-05-13  Jim Meyering  <meyering@fb.com>
6108         maint.mk: update regex to reflect 2013 addition of "assume" to verify.h
6109         * top/maint.mk (sc_prohibit_verify_without_use): Don't reject a source
6110         file that uses the assume macro, claiming that verify.h is unused.
6112 2017-05-13  Bruno Haible  <bruno@clisp.org>
6114         Use symbolic values for _WIN32_WINNT.
6115         * lib/ftruncate.c (_WIN32_WINNT): Use symbolic value _WIN32_WINNT_WIN2K.
6116         * lib/sethostname.c (_WIN32_WINNT): Likewise.
6118 2017-05-13  Bruno Haible  <bruno@clisp.org>
6120         year2038: New module.
6121         * m4/year2038.m4: New file.
6122         * modules/year2038: New file.
6123         * doc/year2038.texi: New file.
6124         * doc/gnulib.texi: Include it.
6126 2017-05-13  Bruno Haible  <bruno@clisp.org>
6128         largefile: Simplify.
6129         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Remove unused definition
6130         of _GL_WINDOWS_64_BIT_ST_SIZE.
6132 2017-05-13  Bruno Haible  <bruno@clisp.org>
6134         largefile: Improve and document.
6135         * m4/largefile.m4 (gl_LARGEFILE): Set WINDOWS_64_BIT_ST_SIZE to 0 if
6136         the mingw headers already define 'stat' appropriately.
6137         * modules/largefile (Description): Clarify.
6138         * doc/largefile.texi: New file.
6139         * doc/gnulib.texi: Include it.
6140         * doc/posix-headers/sys_types.texi: Update.
6142 2017-05-13  Bruno Haible  <bruno@clisp.org>
6144         truncate: New module.
6145         * lib/unistd.in.h (truncate): New declaration.
6146         * lib/truncate.c: New file.
6147         * m4/truncate.m4: New file.
6148         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'truncate' is declared.
6149         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TRUNCATE, HAVE_TRUNCATE,
6150         REPLACE_TRUNCATE.
6151         * modules/unistd (Makefile.am): Substitute GNULIB_TRUNCATE,
6152         HAVE_TRUNCATE, REPLACE_TRUNCATE.
6153         * modules/truncate: New file.
6154         * tests/test-unistd-c++.cc (truncate): Test signature.
6155         * doc/posix-functions/truncate.texi: Mention the new module.
6157         * tests/test-truncate.c: New file.
6158         * modules/truncate-tests: New file.
6160 2017-05-13  Bruno Haible  <bruno@clisp.org>
6162         windows-stat-timespec: New module.
6163         * modules/windows-stat-timespec: New file.
6164         * m4/windows-stat-timespec.m4: New file.
6165         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_STAT_TIMESPEC.
6166         * modules/sys_stat (Makefile.am): Substitute WINDOWS_STAT_TIMESPEC.
6167         * lib/sys_stat.in.h (struct stat) [WINDOWS_STAT_TIMESPEC]: Declare with
6168         fields st_atim, st_mtim, st_ctim.
6169         (st_atime, st_mtime, st_ctime): Define as macros.
6170         (_GL_WINDOWS_STAT_TIMESPEC): New macro.
6171         * lib/stat-w32.h (_gl_convert_FILETIME_to_timespec)
6172         [_GL_WINDOWS_STAT_TIMESPEC]: New declaration.
6173         * lib/stat-w32.c (_gl_convert_FILETIME_to_timespec)
6174         [_GL_WINDOWS_STAT_TIMESPEC]: New function.
6175         (_gl_convert_FILETIME_to_POSIX): Adjust coding style.
6176         (_gl_fstat_by_handle): If _GL_WINDOWS_STAT_TIMESPEC, convert the
6177         FILETIME to 'struct timespec', not 'time_t'.
6178         * lib/stat.c (rpl_stat): If _GL_WINDOWS_STAT_TIMESPEC, convert the
6179         FILETIME to 'struct timespec', not 'time_t'.
6180         * lib/stat-time.h (STAT_TIMESPEC): Define also if
6181         _GL_WINDOWS_STAT_TIMESPEC.
6182         * doc/windows-stat-timespec.texi: New file.
6183         * doc/gnulib.texi: Include it.
6185 2017-05-13  Bruno Haible  <bruno@clisp.org>
6187         windows-stat-override: New module.
6188         * lib/sys_stat.in.h (stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provide own
6189         definition. Define GNULIB_defined_struct_stat.
6190         (fstat, fstatat, lstat, stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provoke
6191         link error if this symbol is used and the corresponding module is not
6192         in use.
6193         (_stat64, _stat32i64, _stati64, _stat32, _stat64i32): Don't redefine if
6194         GNULIB_OVERRIDES_STRUCT_STAT.
6195         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
6196         GNULIB_OVERRIDES_STRUCT_STAT.
6197         * modules/sys_stat (Makefile.am): Substitute
6198         GNULIB_OVERRIDES_STRUCT_STAT.
6199         * modules/windows-stat-override: New file.
6201 2017-05-13  Bruno Haible  <bruno@clisp.org>
6203         fstat: Fix module dependency conditions.
6204         * modules/fstat (Depends-on): Fix typo.
6206 2017-05-13  Bruno Haible  <bruno@clisp.org>
6208         stat, fstat: Complete removal of old native Windows code.
6209         * lib/stat.c: Remove old macrology for WINDOWS_NATIVE.
6210         * lib/fstat.c: Likewise.
6211         * lib/stat-w32.c: Likewise.
6213 2017-05-13  Bruno Haible  <bruno@clisp.org>
6215         stat: Complete removal of REPLACE_FUNC_STAT_DIR code.
6216         * lib/stat.c: Remove all REPLACE_FUNC_STAT_DIR code.
6218 2017-05-11  Paul Eggert  <eggert@cs.ucla.edu>
6220         getopt-posix: port to mingw
6221         * lib/getopt.c (flockfile, funlockfile): Define on mingw.
6222         Problem reported by Daniel P. Berrage in:
6223         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00086.html
6225 2017-05-11  Bruno Haible  <bruno@clisp.org>
6227         gettimeofday: Increase precision on mingw.
6228         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Require AC_CANONICAL_HOST.
6229         Set REPLACE_GETTIMEOFDAY to 1 on mingw.
6230         * lib/gettimeofday.c (gettimeofday): On native Windows, use the
6231         GetSystemTimePreciseAsFileTime based implementation always.
6232         * doc/posix-functions/gettimeofday.texi: Mention precision problem on
6233         mingw.
6235 2017-05-11  Bruno Haible  <bruno@clisp.org>
6237         poll: Fix confusion between SOCKETs and FDs on native Windows.
6238         Fix proposed by Daniel P. Berrange <berrange@redhat.com>.
6239         * lib/poll.c [WINDOWS_NATIVE]: Undefine select.
6241 2017-05-11  Bruno Haible  <bruno@clisp.org>
6243         doc: Clarify doc about socket functions on native Windows.
6244         This reworks doc that was added on 2008-09-29.
6245         * doc/posix-functions/select.texi: Fix copy-and-paste mistake and use
6246         clearer wording.
6247         * doc/posix-functions/accept.texi: Use clearer wording.
6248         * doc/posix-functions/bind.texi: Likewise.
6249         * doc/posix-functions/connect.texi: Likewise.
6250         * doc/posix-functions/getpeername.texi: Likewise.
6251         * doc/posix-functions/getsockname.texi: Likewise.
6252         * doc/posix-functions/getsockopt.texi: Likewise.
6253         * doc/posix-functions/ioctl.texi: Likewise.
6254         * doc/posix-functions/listen.texi: Likewise.
6255         * doc/posix-functions/recv.texi: Likewise.
6256         * doc/posix-functions/recvfrom.texi: Likewise.
6257         * doc/posix-functions/send.texi: Likewise.
6258         * doc/posix-functions/sendto.texi: Likewise.
6259         * doc/posix-functions/setsockopt.texi: Likewise.
6260         * doc/posix-functions/shutdown.texi: Likewise.
6261         * doc/posix-functions/socket.texi: Likewise.
6263 2017-05-10  Bruno Haible  <bruno@clisp.org>
6265         poll: Fix link error on native Windows.
6266         * lib/poll.c [WINDOWS_NATIVE]: Undefine recv.
6268 2017-05-10  Bruno Haible  <bruno@clisp.org>
6270         time: Fix missing initialization of HAVE_TIMEZONE_T.
6271         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEZONE_T
6272         here...
6273         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): ... not here.
6274         * m4/time_rz.m4 (gl_TIME_RZ): Require gl_HEADER_TIME_H_DEFAULTS, not
6275         gl_HEADER_SYS_TIME_H_DEFAULTS.
6276         * modules/time_rz (Depends-on): Add 'time'. Remove useless quoting.
6277         (configure.ac): Remove useless quoting.
6279 2017-05-10  Bruno Haible  <bruno@clisp.org>
6281         Implement a way to opt out from MSVC support, part 2.
6282         * modules/msvc-inval (Include): Document recommended idiom.
6283         * modules/msvc-nothrow (Include): Likewise.
6285         Implement a way to opt out from MSVC support.
6286         This is useful for Emacs.
6287         * modules/msvc-nothrow (configure.ac): Invoke gl_MODULE_INDICATOR.
6288         * lib/accept4.c: Include <io.h> as an alternative to msvc-nothrow.h.
6289         * lib/error.c: Likewise.
6290         * lib/fcntl.c: Likewise.
6291         * lib/flock.c: Likewise.
6292         * lib/fstat.c: Likewise.
6293         * lib/fsync.c: Likewise.
6294         * lib/ioctl.c: Likewise.
6295         * lib/isapipe.c: Likewise.
6296         * lib/lseek.c: Likewise.
6297         * lib/nonblocking.c: Likewise.
6298         * lib/poll.c: Likewise.
6299         * lib/select.c: Likewise.
6300         * lib/sockets.h: Likewise.
6301         * lib/sockets.c: Likewise.
6302         * lib/stdio-read.c: Likewise.
6303         * lib/stdio-write.c: Likewise.
6304         * lib/utimens.c: Likewise.
6305         * lib/w32sock.h: Likewise.
6306         * lib/w32spawn.h: Likewise.
6307         * tests/test-cloexec.c: Likewise.
6308         * tests/test-dup-safer.c: Likewise.
6309         * tests/test-dup2.c: Likewise.
6310         * tests/test-dup3.c: Likewise.
6311         * tests/test-fcntl.c: Likewise.
6312         * tests/test-pipe.c: Likewise.
6313         * tests/test-pipe2.c: Likewise.
6314         * lib/ftruncate.c: Likewise.
6315         (chsize_nothrow): Renamed from chsize.
6316         * lib/msvc-nothrow.c: Don't include msvc-inval.h if
6317         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
6318         * lib/close.c: Likewise.
6319         * lib/dup.c: Likewise.
6320         * lib/fclose.c: Likewise.
6321         * lib/raise.c: Likewise.
6322         * tests/test-fgetc.c: Likewise.
6323         * tests/test-fputc.c: Likewise.
6324         * tests/test-fread.c: Likewise.
6325         * tests/test-fwrite.c: Likewise.
6326         * lib/getdtablesize.c: Likewise.
6327         (_setmaxstdio_nothrow): Renamed from _setmaxstdio.
6328         * lib/isatty.c: Don't include msvc-inval.h if
6329         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
6330         Include <io.h> as an alternative to msvc-nothrow.h.
6331         * lib/read.c: Likewise.
6332         * lib/write.c: Likewise.
6333         * lib/dup2.c: Likewise.
6334         (dup2_nothrow): New function.
6335         (ms_windows_dup2): Use it.
6336         * m4/close.m4 (gl_FUNC_CLOSE): Invoke gl_MSVC_INVAL and test
6337         HAVE_MSVC_INVALID_PARAMETER_HANDLER only if gl_MSVC_INVAL is defined.
6338         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
6339         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Likewise.
6340         * m4/raise.m4 (gl_FUNC_RAISE): Likewise.
6341         * m4/read.m4 (gl_FUNC_READ): Likewise.
6342         * m4/write.m4 (gl_FUNC_WRITE): Likewise.
6343         * doc/windows-without-msvc.texi: New file.
6344         * doc/gnulib.texi (Native Windows Support without MSVC Support): New
6345         section.
6347 2017-05-10  Bruno Haible  <bruno@clisp.org>
6349         wait-process: Adjust native Windows support.
6350         * lib/wait-process.c: Use the usual condition for recognizing a native
6351         Windows platform.
6353 2017-05-10  Bruno Haible  <bruno@clisp.org>
6355         doc: New chapter "Native Windows Support".
6356         * doc/gnulib.texi (Native Windows Support): New chapter.
6357         * doc/windows-libtool.texi: Small wording changes.
6358         * doc/windows-sockets.texi: Small wording and formatting changes.
6360 2017-05-10  Bruno Haible  <bruno@clisp.org>
6362         doc: Move section "Library version handling".
6363         * doc/gnulib.texi: Move section "Library version handling"
6364         from chapter "Miscellaneous Notes" to chapter "Particular Modules".
6366 2017-05-10  Bruno Haible  <bruno@clisp.org>
6368         doc: Move section "Running self-tests under valgrind".
6369         * doc/gnulib.texi: Move section "Running self-tests under valgrind"
6370         from chapter "Particular Modules" to chapter "Miscellaneous Notes".
6372 2017-05-10  Bruno Haible  <bruno@clisp.org>
6374         doc: New chapter "Build Infrastructure Modules".
6375         * doc/gnulib.texi (Build Infrastructure Modules): New chapter.
6377 2017-05-10  Bruno Haible  <bruno@clisp.org>
6379         Prepare for reordering sections in the manual.
6380         * doc/gnulib.texi: Move several sections to separate files. Include
6381         these files.
6382         * doc/out-of-memory.texi: New file, extracted from doc/gnulib.texi.
6383         * doc/obsolete.texi: Likewise.
6384         * doc/extra-tests.texi: Likewise.
6385         * doc/transversal.texi: Likewise.
6386         * doc/namespace.texi: Likewise.
6387         * doc/check-version.texi: Likewise.
6388         * doc/windows-sockets.texi: Likewise.
6389         * doc/windows-libtool.texi: Likewise.
6390         * doc/licenses-texi.texi: Likewise.
6391         * doc/build-automation.texi: Likewise.
6392         * doc/c-locale.texi: Likewise.
6394 2017-05-10  Bruno Haible  <bruno@clisp.org>
6396         Fix instructions how to update manual on www.gnu.org.
6397         * doc/README: Add -I option, so that texi2dvi finds texinfo.tex.
6399 2017-05-09  Bruno Haible  <bruno@clisp.org>
6401         tzset: Expand comment about TZ problem on native Windows.
6402         * lib/tzset.c (tzset): Elaborate comment, based on explanations by
6403         Paul Eggert.
6404         * lib/ctime.c (rpl_ctime): Likewise.
6405         * lib/localtime.c (rpl_localtime): Likewise.
6406         * lib/mktime.c (mktime): Likewise.
6407         * lib/strftime-fixes.c (rpl_strftime): Likewise.
6408         * lib/wcsftime.c (rpl_wcsftime): Likewise.
6410 2017-05-08  Paul Eggert  <eggert@cs.ucla.edu>
6412         intprops: don’t depend on ‘verify’
6413         Problem reported by Ævar Arnfjörð Bjarmason in:
6414         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00054.html
6415         * lib/intprops.h: Do not include verify.h, and move compile-time
6416         checks from here ...
6417         * tests/test-intprops.c (main): ... to here, if they’re not here
6418         already.  Check widths of other standard integer types.
6419         * modules/intprops (Depends-on): Remove ‘verify’.
6421 2017-05-07  Bruno Haible  <bruno@clisp.org>
6423         utimens: On native Windows, support 100ns resolution also if fd < 0.
6424         * lib/utime.in.h: Include <time.h>.
6425         (_gl_utimens_windows): New declaration.
6426         * lib/utime.c (_gl_utimens_windows): New function, based on utime.
6427         (utime): Invoke it.
6428         * lib/utimens.c (fdutimens): On native Windows, call _gl_utimens_windows
6429         instead of utime.
6430         * modules/utime (Depends-on): Add 'time'.
6432 2017-05-07  Bruno Haible  <bruno@clisp.org>
6434         utimens: Improve error code on native Windows.
6435         * lib/utimens.c (fdutimens): If fd was not opened with O_RDWR, fail with
6436         error code EACCES, not EINVAL.
6438 2017-05-07  Bruno Haible  <bruno@clisp.org>
6440         utime: Handle more Windows error codes.
6441         * lib/utime.c (utime): Handle ERROR_BAD_NETPATH.
6442         Based on explanations by Billy O'Neal.
6444 2017-05-05  Bruno Haible  <bruno@clisp.org>
6446         crypto/rijndael: Fix "strict-aliasing rules" warnings, alignment issues.
6447         * lib/rijndael-api-fst.c (rijndaelBlockEncrypt): Declare 'block' as a
6448         union.
6449         (rijndaelPadEncrypt, rijndaelBlockDecrypt): Likewise.
6450         (rijndaelPadDecrypt): Likewise. Use local variable 'iv' to cache the
6451         value of cipher->IV.
6453 2017-05-05  Bruno Haible  <bruno@clisp.org>
6455         wctype-h-c++-tests: Update.
6456         * tests/test-wctype-h-c++.cc: Reorder to match lib/wchar.in.h.
6458 2017-05-05  Bruno Haible  <bruno@clisp.org>
6460         wchar-c++-tests: Update.
6461         * tests/test-wchar-c++.cc (wcsftime): Declare, missing since 2017-04-30.
6463 2017-05-05  Bruno Haible  <bruno@clisp.org>
6465         utime-h-c++-tests: New module.
6466         * tests/test-utime-h-c++.cc: New file.
6467         (utime): Declare, missing since 2017-04-30.
6468         * modules/utime-h-c++-tests: New file.
6470 2017-05-05  Bruno Haible  <bruno@clisp.org>
6472         unistd-c++-tests: Update.
6473         * tests/test-unistd-c++.cc (isatty): Declare, missing since 2012-01-03.
6474         (read): Declare, missing since 2011-04-15.
6475         (sethostname): Declare, missing since 2011-12-03.
6477 2017-05-05  Bruno Haible  <bruno@clisp.org>
6479         time-c++-tests: Update.
6480         * tests/test-time-c++.cc (tzset): Declare, missing since 2017-05-01.
6481         (localtime, gmtime): Declare, missing since 2017-04-30.
6482         (ctime): Declare, missing since 2017-04-30.
6483         (strftime): Declare, missing since 2017-04-30.
6484         (tzalloc, tzfree, localtime_rz, mktime_z): Declare, missing since
6485         2015-07-24.
6487 2017-05-05  Bruno Haible  <bruno@clisp.org>
6489         sys_resource-c++-tests: New module.
6490         * tests/test-sys_resource-c++.cc: New file.
6491         (getrusage): Declare, missing since 2012-04-13.
6492         * modules/sys_resource-c++-tests: New file.
6494 2017-05-05  Bruno Haible  <bruno@clisp.org>
6496         strings-c++-tests: New module.
6497         * tests/test-strings-c++.cc: New file.
6498         (ffs): Declare, missing since 2011-07-12.
6499         * modules/strings-c++-tests: New file.
6501 2017-05-05  Bruno Haible  <bruno@clisp.org>
6503         string-c++-tests: Update.
6504         * tests/test-string-c++.cc (ffsl): Declare, missing since 2011-07-15.
6505         (ffsll): Declare, missing since 2011-07-15.
6507 2017-05-05  Bruno Haible  <bruno@clisp.org>
6509         stdlib-c++-tests: Update.
6510         * tests/test-stdlib-c++.cc (posix_openpt): Declare, missing since
6511         2011-10-18.
6512         (ptsname_r): Declare, missing since 2011-11-07.
6513         (qsort_r): Declare, missing since 2014-08-29.
6514         (random, srandom, initstate, setstate): Declare, missing since
6515         2012-01-14.
6516         (secure_getenv): Declare, missing since 2013-02-05.
6518 2017-05-05  Bruno Haible  <bruno@clisp.org>
6520         stdio-c++-tests: Update.
6521         * tests/test-stdio-c++.cc (pclose): Declare, missing since 2011-09-18.
6523 2017-05-05  Bruno Haible  <bruno@clisp.org>
6525         signal-h-c++-tests: Update.
6526         * tests/test-signal-h-c++.cc (raise): Remove redundant declaration.
6528 2017-05-05  Bruno Haible  <bruno@clisp.org>
6530         math-c++-tests: Update.
6531         * tests/test-math-c++.cc (fmaf): Declare, missing since 2011-10-17.
6532         (fma): Declare, missing since 2011-10-17.
6533         (fmal): Declare, missing since 2011-10-17.
6535 2017-05-05  Bruno Haible  <bruno@clisp.org>
6537         locale-c++-tests: Update.
6538         * tests/test-locale-c++.cc (localeconv): Declare, missing since
6539         2012-03-25.
6541 2017-05-05  Bruno Haible  <bruno@clisp.org>
6543         inttypes-c++-tests: New module.
6544         * tests/test-inttypes-c++.cc: New file.
6545         (strtoimax): Declare, missing since 2012-01-05.
6546         (strtoumax): Declare, missing since 2012-01-05.
6547         * modules/inttypes-c++-tests: New file.
6549 2017-05-05  Bruno Haible  <bruno@clisp.org>
6551         dirent-c++-tests: Update.
6552         * tests/test-dirent-c++.cc (readdir): Declare, missing since 2011-09-13.
6553         (rewinddir): Declare, missing since 2011-09-13.
6554         (dirfd): Declare, missing since 2010-03-08.
6556 2017-05-04  Bruno Haible  <bruno@clisp.org>
6558         argp: Fix mistake in 2017-04-23 commit.
6559         * lib/argp-help.c (__argp_failure): If GNULIB_STRERROR_R_POSIX is set,
6560         assume that strerror_r returns 'int', not 'char *'.
6562 2017-05-04  Reuben Thomas  <rrt@sc3d.org>
6564         argp: Fix typo.
6565         * lib/argp-help.c (argp_doc): Fix spelling mistake in comment.
6567 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
6569         utimens: port to Emacs + MS-Windows
6570         Skip the new MS-Windows-specific code if Emacs.
6571         * lib/utimens.c [EMACS_CONFIGUATION]:
6572         Avoid new MS-Windows-specific code.
6573         (USE_SETFILETIME): New macro.
6574         (fdutimens): Use it.
6576 2017-05-01  Paul Eggert  <eggert@cs.ucla.edu>
6578         tzset: update doc for TZ problems on MS-Windows
6579         * doc/posix-functions/ctime.texi,  doc/posix-functions/daylight.texi:
6580         * doc/posix-functions/localtime.texi, doc/posix-functions/mktime.texi:
6581         * doc/posix-functions/strftime.texi, doc/posix-functions/timezone.texi:
6582         * doc/posix-functions/tzname.texi, doc/posix-functions/tzset.texi:
6583         * doc/posix-functions/wcsftime.texi:
6584         Mention some issues with TZ under MS-Windows.
6586 2017-05-01  Bruno Haible  <bruno@clisp.org>
6588         copy-file: Fix build error on mingw.
6589         * modules/copy-file (Depends-on): Add 'close'.
6591 2017-05-01  Bruno Haible  <bruno@clisp.org>
6593         tzset: Work around TZ problem on native Windows.
6594         * m4/tzset.m4 (gl_FUNC_TZSET): Require AC_CANONICAL_HOST. On native
6595         Windows, set REPLACE_TZSET to 1.
6596         * lib/tzset.c (tzset): On native Windows, fix TZ if necessary, and
6597         invoke '_tzset' instead of 'tzset'.
6598         * doc/posix-functions/tzset.texi: Mention the native Windows workaround.
6600         * modules/time_rz (Depends-on): Add tzset.
6601         * lib/time_rz.c (tzset): Remove fallback definition.
6602         * m4/time_rz.m4 (gl_TIME_RZ): Don't test for tzset.
6604 2017-05-01  Bruno Haible  <bruno@clisp.org>
6606         mktime: Fix dependencies.
6607         * modules/mktime (Depends-on): Add 'time'.
6609 2017-05-01  Bruno Haible  <bruno@clisp.org>
6611         New module 'localtime-buffer', split off from module 'gettimeofday'.
6612         * lib/localtime-buffer.h: New file.
6613         * lib/localtime-buffer.c: New file, extracted from lib/gettimeofday.c.
6614         * lib/time.in.h (tzset): New declaration.
6615         (localtime, gmtime): Don't test GNULIB_GETTIMEOFDAY.
6616         * lib/tzset.c: New file, extracted from lib/gettimeofday.c.
6617         * lib/gettimeofday.c: Include localtime-buffer.h. Remove code that was
6618         moved to lib/localtime-buffer.c or lib/tzset.c.
6619         * m4/localtime-buffer.m4: New file.
6620         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TZSET,
6621         HAVE_TZSET, REPLACE_TZSET.
6622         * m4/tzset.m4 (gl_FUNC_TZSET): Move code from m4/gettimeofday.m4 to
6623         here, with modifications. Set HAVE_TZSET, REPLACE_TZSET. Invoke
6624         gl_LOCALTIME_BUFFER_NEEDED.
6625         (gl_FUNC_TZSET_CLOBBER): Don't require gl_HEADER_SYS_TIME_H; not needed
6626         since 2007-01-18.
6627         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Remove code that deals with
6628         tzset.
6629         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require gl_LOCALTIME_BUFFER_DEFAULTS.
6630         Invoke gl_LOCALTIME_BUFFER_NEEDED instead of
6631         gl_GETTIMEOFDAY_REPLACE_LOCALTIME.
6632         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Remove macro.
6633         * modules/localtime-buffer: New file.
6634         * modules/time (Depends-on): Remove 'gettimeofday'.
6635         (Makefile.am): Substitute GNULIB_TZSET, HAVE_TZSET,
6636         REPLACE_TZSET. Don't substitute GNULIB_GETTIMEOFDAY.
6637         * modules/tzset (Description): Enable hyperlink to POSIX spec.
6638         (Files): Add lib/tzset.c.
6639         (Depends-on): Remove gettimeofday. Add localtime-buffer, time.
6640         (configure.ac): Arrange to conditionally compile lib/tzset.c. Invoke
6641         gl_TIME_MODULE_INDICATOR.
6642         * modules/gettimeofday (Depends-on): Add localtime-buffer.
6644 2017-05-01  Bruno Haible  <bruno@clisp.org>
6646         copy-file: Preserve sub-second time stamps.
6647         * lib/copy-file.c: Include stat-time.h, utimens.h instead of <utime.h>.
6648         (qcopy_file_preserving): Use 'struct timespec' and utimens() to
6649         transport the time stamps from the original file to the destination
6650         file.
6651         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for utime, utimes.
6652         * modules/copy-file (Depends-on): Add stat-time, utimns instead of
6653         utime-h.
6655 2017-05-01  Bruno Haible  <bruno@clisp.org>
6657         wctype-t: Fix problems if <wchar.h> gets included after <wctype.h>.
6658         * lib/wctype.in.h: Include not only <ctype.h> but also <wchar.h>. Do so
6659         also on MSVC.
6660         Reported by Eli Zaretskii <eliz@gnu.org>.
6662 2017-05-01  Bruno Haible  <bruno@clisp.org>
6664         wchar: Fix compilation error with the original mingw.org mingw.
6665         * lib/wchar.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
6666         <stddef.h> instead.
6667         * m4/wint_t.m4 (gl_TYPE_WINT_T_PREREQ): New macro, extracted from
6668         gl_WCTYPE_H.
6669         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set HAVE_CRTDEFS_H here; require
6670         gl_TYPE_WINT_T_PREREQ instead.
6671         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_TYPE_WINT_T_PREREQ.
6672         * modules/wchar (Makefile.am): Substitute HAVE_CRTDEFS_H.
6673         Reported by Eli Zaretskii <eliz@gnu.org>.
6675 2017-04-30  Bruno Haible  <bruno@clisp.org>
6677         utimecmp: Add support for native Windows.
6678         * lib/utimecmp.c (SYSCALL_RESOLUTION): Set to 100 on native Windows.
6680 2017-04-30  Bruno Haible  <bruno@clisp.org>
6682         utimens: Add support for native Windows.
6683         * lib/utimens.c: Include <windows.h>, msvc-nothrow.h.
6684         (fdutimens): Provide a native Windows implementation, like utime.c with
6685         added tv_nsec support.
6686         * modules/utimens (Depends-on): Add msvc-nothrow, utime.
6687         Suggested by Tim Rühsen <tim.ruehsen@gmx.de>.
6689 2017-04-30  Bruno Haible  <bruno@clisp.org>
6691         wcsftime: New module.
6692         * lib/wchar.in.h (wcsftime): New declaration.
6693         * lib/wcsftime.c: New file.
6694         * m4/wcsftime.m4: New file.
6695         * m4/wchar_h.m4 (gl_WCHAR_H): Test for wcsftime declaration.
6696         (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_WCSFTIME,
6697         HAVE_WCSFTIME, REPLACE_WCSFTIME.
6698         * modules/wchar (Makefile.am): Substitute GNULIB_WCSFTIME,
6699         HAVE_WCSFTIME, REPLACE_WCSFTIME.
6700         * modules/wcsftime: New file.
6701         * doc/posix-functions/wcsftime.texi: Mention the new module.
6703 2017-04-30  Bruno Haible  <bruno@clisp.org>
6705         strftime-fixes: New module.
6706         * lib/time.in.h (strftime): New declaration.
6707         * lib/strftime-fixes.c: New file.
6708         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Inline gl_FUNC_STRFTIME macro.
6709         (gl_FUNC_STRFTIME): Remove macro.
6710         * m4/strftime-fixes.m4: New file.
6711         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_STRFTIME,
6712         REPLACE_STRFTIME.
6713         * modules/time (Makefile.am): Substitute GNULIB_STRFTIME,
6714         REPLACE_STRFTIME.
6715         * modules/strftime-fixes: New file.
6716         * doc/posix-functions/strftime.texi: Mention the new module.
6718 2017-04-30  Bruno Haible  <bruno@clisp.org>
6720         mktime: Work around TZ problem on native Windows.
6721         * lib/mktime.c: Add #ifs to make the algorithmic workaround independent
6722         from the native Windows workaround.
6723         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): New macro, extracted from
6724         gl_FUNC_MKTIME. If guessing, set gl_cv_func_working_mktime to
6725         'guessing no'.
6726         (gl_FUNC_MKTIME): Require it. Require AC_CANONICAL_HOST.
6727         Set REPLACE_MKTIME to 1 on native Windows. Define NEED_MKTIME_WORKING,
6728         NEED_MKTIME_WINDOWS.
6729         (gl_FUNC_MKTIME_INTERNAL): Require gl_FUNC_MKTIME_WORKS, not
6730         gl_FUNC_MKTIME. Set WANT_MKTIME_INTERNAL, not REPLACE_MKTIME. Define
6731         NEED_MKTIME_INTERNAL.
6732         * m4/timegm.m4 (gl_FUNC_TIMEGM): Require gl_FUNC_MKTIME_WORKS, not
6733         gl_FUNC_MKTIME. Cope with 'guessing yes' value.
6734         * modules/mktime-internal (configure.ac): Test WANT_MKTIME_INTERNAL,
6735         not REPLACE_MKTIME.
6736         * doc/posix-functions/mktime.texi: Mention the native Windows
6737         workaround.
6739 2017-04-30  Bruno Haible  <bruno@clisp.org>
6741         localtime: New module.
6742         * lib/time.in.h (localtime): Declare also if requested by module
6743         'localtime'.
6744         * lib/localtime.c: New file.
6745         * m4/localtime.m4: New file.
6746         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_LOCALTIME.
6747         * modules/time (Makefile.am): Substitute GNULIB_LOCALTIME.
6748         * modules/localtime: New file.
6749         * doc/posix-functions/localtime.texi: Mention the new module.
6751 2017-04-30  Bruno Haible  <bruno@clisp.org>
6753         ctime: New module.
6754         * lib/time.in.h (ctime): New declaration.
6755         * lib/ctime.c: New file.
6756         * m4/ctime.m4: New file.
6757         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_CTIME,
6758         REPLACE_CTIME.
6759         * modules/time (Makefile.am): Substitute GNULIB_CTIME, REPLACE_CTIME.
6760         * modules/ctime: New file.
6761         * doc/posix-functions/ctime.texi: Mention the new module.
6763 2017-04-30  Bruno Haible  <bruno@clisp.org>
6765         gettimeofday: Provide higher resolution on native Windows.
6766         * lib/gettimeofday.c: Don't include <sys/timeb.h>.
6767         (GetSystemTimePreciseAsFileTimeFuncType): New variable.
6768         (initialize): Initialize it.
6769         (gettimeofday) [WINDOWS_NATIVE]: Use it, and convert from FILETIME to
6770         'struct timeval'. Don't use _ftime().
6771         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): Don't test for
6772         <sys/timeb.h> and _ftime.
6774 2017-04-30  Bruno Haible  <bruno@clisp.org>
6776         Document the problem with the Cygwin environment variable TZ.
6777         * doc/posix-functions/tzset.texi: Add note about TZ.
6778         * doc/posix-functions/ctime.texi: Likewise.
6779         * doc/posix-functions/localtime.texi: Likewise.
6780         * doc/posix-functions/mktime.texi: Likewise.
6781         * doc/posix-functions/strftime.texi: Likewise.
6782         * doc/posix-functions/wcsftime.texi: Likewise.
6783         * doc/pastposix-functions/ftime.texi: Likewise.
6785 2017-04-30  Bruno Haible  <bruno@clisp.org>
6787         utime-tests: New module.
6788         * tests/test-utime.c: New file, based on tests/test-utimens.h.
6789         * tests/test-utimens-common.h: Include <sys/stat.h>.
6790         * modules/utime-tests: New file.
6792 2017-04-29  Bruno Haible  <bruno@clisp.org>
6794         utime: New module.
6795         * lib/utime.in.h: Add comment for snippets.
6796         (utime): New declaration.
6797         * lib/utime.c: New file.
6798         * m4/utime.m4: New file.
6799         * m4/utime_h.m4 (gl_UTIME_H): Test for utime declaration.
6800         (gl_UTIME_H_DEFAULTS): Initialize GNULIB_UTIME, HAVE_UTIME,
6801         REPLACE_UTIME.
6802         * modules/utime-h (Depends-on): Add snippets.
6803         (Makefile.am): Substitute GNULIB_UTIME, HAVE_UTIME, REPLACE_UTIME.
6804         Insert snippets.
6805         * modules/utime: New file.
6806         * doc/posix-functions/utime.texi: Mention the new module.
6808 2017-04-29  Bruno Haible  <bruno@clisp.org>
6810         utime-h: Modernize handling of 'struct utimbuf'.
6811         * lib/utime.in.h: Include next <utime.h> if it exists.
6812         (utimbuf): Define to _utimbuf on native Windows.
6813         * m4/utime_h.m4 (gl_UTIME_H): Check for prerequisites of include_next.
6814         Set UTIME_H on native Windows.
6815         (gl_UTIME_MODULE_INDICATOR, gl_HEADER_UTIME_H_DEFAULTS): New macros.
6816         * modules/utime-h (Depends-on): Add include_next.
6817         (Makefile.am): Substitute also HAVE_UTIME_H, INCLUDE_NEXT,
6818         PRAGMA_SYSTEM_HEADER, PRAGMA_COLUMNS, NEXT_UTIME_H.
6820         * lib/utimens.c (utimbuf): Remove fallback definition.
6821         * m4/utimens.m4 (gl_UTIMENS): Don't require
6822         gl_CHECK_TYPE_STRUCT_UTIMBUF.
6823         * m4/utimbuf.m4: Remove file.
6824         * modules/utimens (Files): Remove m4/utimbuf.m4.
6826 2017-04-29  Bruno Haible  <bruno@clisp.org>
6828         Make use of module 'utime-h'.
6829         * modules/copy-file (Depends-on): Add utime-h.
6830         * lib/copy-file.c: Assume that <utime.h> exists.
6831         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for <utime.h>.
6833         * modules/utimens (Depends-on): Add utime-h.
6834         * lib/utimens.c: Assume that <utime.h> exists.
6836 2017-04-29  Bruno Haible  <bruno@clisp.org>
6838         utime-h: New module.
6839         * m4/utime_h.m4: New file.
6840         * lib/utime.in.h: New file.
6841         * modules/utime-h: New file.
6842         * doc/posix-headers/utime.texi: Mention the new module.
6844         * tests/test-utime-h.c: New file.
6845         * modules/utime-h-tests: New file.
6847 2017-04-30  Bruno Haible  <bruno@clisp.org>
6849         Fix a few typos.
6850         * m4/fstat.m4 (gl_FUNC_FSTAT): Require AC_CANONICAL_HOST.
6851         * m4/stat.m4 (gl_FUNC_STAT): Fix comment.
6852         * doc/posix-functions/fstat.texi: Fix a plural typo.
6853         * doc/posix-functions/stat.texi: Likewise.
6854         * m4/include_next.m4: Update comments.
6856 2017-04-29  Bruno Haible  <bruno@clisp.org>
6858         error: Fix mistake in 2017-04-23 commit.
6859         * lib/error.c (print_errno_message): If GNULIB_STRERROR_R_POSIX is set,
6860         assume that strerror_r returns 'int', not 'char *'.
6862 2017-04-29  Bruno Haible  <bruno@clisp.org>
6864         stat: Fix time_t values and other problems on native Windows platforms.
6865         * doc/posix-functions/stat.texi: Mention the problem with the Microsoft
6866         implementations of stat().
6867         * lib/stat.c: Include filename.h instead of dosname.h. Include
6868         malloca.h, stat-w32.h.
6869         (is_unc_root): New function.
6870         (rpl_stat): New implementation for native Windows. Remove
6871         REPLACE_FUNC_STAT_DIR code.
6872         * m4/stat.m4 (gl_FUNC_STAT): On native Windows, set REPLACE_STAT always.
6873         Don't define REPLACE_FUNC_STAT_DIR.
6874         (gl_PREREQ_STAT): Require gl_HEADER_SYS_STAT_H.
6875         * modules/stat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
6876         (Depends-on): Remove dosname. Add filename, malloca.
6877         (configure.ac): Also compile lib/stat-w32.c.
6879 2017-04-29  Bruno Haible  <bruno@clisp.org>
6881         fstat: Fix time_t values on native Windows platforms.
6882         * doc/posix-functions/fstat.texi: Mention the problem with st_*time.
6883         * lib/stat-w32.h: New file.
6884         * lib/stat-w32.c: New file.
6885         * lib/fstat.c: Don't include msvc-inval.h. Include msvc-nothrow.h,
6886         stat-w32.h instead.
6887         (fstat_nothrow): Remove function.
6888         (rpl_fstat): Implement by means of _gl_fstat_by_handle.
6889         * m4/fstat.m4 (gl_FUNC_FSTAT): On native Windows, set REPLACE_FSTAT
6890         always.
6891         (gl_PREREQ_FSTAT): Require gl_HEADER_SYS_STAT_H.
6892         * modules/fstat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
6893         (Depends-on): Remove msvc-inval. Add pathmax, msvc-nothrow.
6894         (configure.ac): Also compile lib/stat-w32.c.
6896 2017-04-29  Paul Eggert  <eggert@cs.ucla.edu>
6898         getopt: port to Solaris 10 with circa-1997 glibc getopt.h
6899         Problem reported by Assaf Gordon and Gavin Smith in:
6900         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00157.html
6901         * lib/getopt-pfx-ext.h (_getopt_internal) [__GETOPT_PREFIX]:
6902         #define this, too.
6904 2017-04-29  Bruno Haible  <bruno@clisp.org>
6906         strerror_r-posix: Fixes for MSVC 14.
6907         * lib/strerror_r.c: Include <stdarg.h>.
6908         (strerror_r): Provide error messages for errno values 100...140.
6909         * doc/posix-functions/strerror_r.texi: Mention the MSVC 14 problem.
6911 2017-04-28  Bruno Haible  <bruno@clisp.org>
6913         noreturn: New module.
6914         * lib/noreturn.h: New file.
6915         * modules/noreturn: New file.
6916         * tests/test-noreturn.c: New file.
6917         * modules/noreturn-tests: New file.
6918         * tests/test-noreturn-c++.cc: New file.
6919         * modules/noreturn-c++-tests: New file.
6921 2017-04-27  Bruno Haible  <bruno@clisp.org>
6923         wctype-h: Fix compilation error with the original mingw.org mingw.
6924         * m4/wctype_h.m4 (gl_WCTYPE_H): Test for <crtdefs.h>. Set
6925         HAVE_CRTDEFS_H.
6926         * modules/wctype-h (Makefile.am): Substitute HAVE_CRTDEFS_H.
6927         * lib/wctype.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
6928         <stddef.h> instead.
6929         Reported and proposed by Eli Zaretskii <eliz@gnu.org>.
6931 2017-04-26  Pádraig Brady  <P@draigBrady.com>
6933         nap.h: Fix compilation on non windows platforms
6934         * tests/nap.h: Move misplaced endif.
6936 2017-04-26  Pádraig Brady  <P@draigBrady.com>
6937         and Paul Eggert  <eggert@cs.ucla.edu>
6939         time_rz: fix heap buffer overflow vulnerability
6940         Reported and analyzed at https://bugzilla.redhat.com/CVE-2017-7476
6941         * lib/time_rz.c (save_abbr): Rearrange the calculation determining
6942         whether there is enough buffer space available, thus avoiding
6943         the problematic promotion of signed to unsigned causing an invalid
6944         comparison when zone_copy is more than ABBR_SIZE_MIN bytes beyond
6945         the start of the buffer.
6946         * tests/test-parse-datetime.c (main): Add a test case written by
6947         Paul Eggert, which overwrites enough of the heap so that
6948         standard glibc will fail with "free(): invalid pointer"
6949         without the patch applied.
6951 2017-04-26  Paul Eggert  <eggert@cs.ucla.edu>
6953         xalloc: add missing integer overflow check
6954         * lib/xalloc.h (x2nrealloc): Also check for multiplication
6955         overflow when P is null.
6957 2017-04-25  Paul Eggert  <eggert@cs.ucla.edu>
6959         parse-datetime: make it standalone
6960         * lib/parse-datetime.y: Include <stdarg.h>, for va_start etc.
6961         (_GL_ATTRIBUTE_FORMAT): New macro.
6962         These are needed to get './gnulib-tool --test parse-datetime' to work.
6964 2017-04-23  Bruno Haible  <bruno@clisp.org>
6966         nap.h: Port to native Windows.
6967         * tests/nap.h (nap_get_stat): Renamed from get_stat. Remove argument fd;
6968         use nap_fd instead. On native Windows, close and reopen nap_fd.
6969         (nap_works): Don't compare the ctimes, because on native Windows, these
6970         are the creation times.
6971         (nap): Update.
6973 2017-04-23  Bruno Haible  <bruno@clisp.org>
6975         nap.h: Fix logic.
6976         * tests/nap.h (nap): Avoid signed integer overflow in loop.
6978 2017-04-23  Bruno Haible  <bruno@clisp.org>
6980         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
6981         * modules/strerror_r-posix (configure.ac): Invoke gl_MODULE_INDICATOR.
6982         * lib/error.c: Test GNULIB_STRERROR_R_POSIX before testing
6983         HAVE_DECL_STRERROR_R, HAVE_STRERROR_R, or STRERROR_R_CHAR_P.
6984         * lib/argp-help.c (__argp_failure): Likewise.
6986 2017-04-23  Bruno Haible  <bruno@clisp.org>
6988         strerror_r-posix: Revert commits from 2016-10-16,2016-11-04,2016-11-14.
6989         * m4/strerror_r.m4: Revert changes since 2016-10-16.
6990         * lib/strerror_r.c: Likewise.
6992 2017-04-23  Paul Eggert  <eggert@cs.ucla.edu>
6994         Target a C99 subset, not a C89 subset
6995         For many years Gnulib has targeted C89 and has resisted using C99
6996         features, as some Gnulib-using programs still wanted to target
6997         C89.  As this no longer seems to be the case, relax the porting
6998         requirements to allow some C99 features.  This is merely a change
6999         to the documentation, to give other Gnulib developers a chance to
7000         weigh in on the topic.
7001         * doc/extern-inline.texi (extern inline):
7002         * doc/gnulib-readme.texi (Portability guidelines):
7003         * doc/gnulib-tool.texi (Initial import):
7004         * doc/gnulib.texi (Header files):
7005         Modernize to talk about C99 and C11 instead of C89 and C99.
7006         * doc/gnulib-readme.texi (Portability guidelines):
7007         Now a section, not merely a subsection, so that it
7008         can be split up.  Modernize a bit.
7009         (C language versions, C99 features assumed)
7010         (C99 features avoided):
7011         New sections.
7013 2017-04-23  Bruno Haible  <bruno@clisp.org>
7015         doc: New section "Modules that modify the way other modules work".
7016         * doc/gnulib.texi (Modules that modify the way other modules work): New
7017         section.
7019 2017-04-23  Bruno Haible  <bruno@clisp.org>
7021         stat-time: Update comments.
7022         * lib/stat-time.h: Fix reference regarding st_ctime on Windows.
7023         * tests/test-utimens-common.h: Add reference regarding st_ctime on
7024         Windows.
7026 2017-04-01  Bruno Haible  <bruno@clisp.org>
7028         glob: Fix more memory leaks.
7029         * lib/glob.c (glob): Free allocated memory before returning.
7030         Reported by Coverity via Tim Rühsen.
7032 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
7034         poll: improve fast check for out-of-range NFD
7035         * lib/poll.c: Do not include intprops.h.
7036         (poll): Compare NFD to INT_MAX, not to TYPE_MAXIMUM (nfds_t) / 2.
7037         * modules/poll (Depends-on): Remove intprops.
7039         ftoastr: cite a newer paper
7040         * lib/ftoastr.c (FTOASTR): In comment, cite Andrysco et al. 2016
7041         instead of Loitsch 2010.
7043 2017-04-22  Bruno Haible  <bruno@clisp.org>
7045         poll: Enable argument check also in the Windows implementation.
7046         * lib/poll.c (poll) [WINDOWS_NATIVE]: Check value of nfd correctly.
7047         Reported by Paul Eggert.
7049 2017-04-22  Bruno Haible  <bruno@clisp.org>
7051         getlogin_r: Work around bug in Mac OS X 10.12.
7052         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test also against the Mac OS X
7053         bug.
7054         * lib/getlogin_r.c (getlogin_r): When getlogin_r returns a string of the
7055         given size minus 1, call getlogin_r a second time, on a larger buffer.
7056         * modules/getlogin_r (Depends-on): Add malloca.
7057         * doc/posix-functions/getlogin_r.texi: Mention the Mac OS X bug.
7059 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
7061         parse-datetime: fix %z and prefer signed int
7062         %z problem reported by Pádraig Brady in:
7063         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00103.html
7064         While fixing it, I decided to prefer signed ints to size_t, as
7065         they are less error-prone (e.g., ubsan catches overflow).
7066         * lib/parse-datetime.y (textint, parser_control, lookup_word, yylex)
7067         (parse_datetime2): Prefer ptrdiff_t to size_t for sizes and object
7068         counts, since signed integers make for better debugging.
7069         (date): Don’t assume %z works in printf formats.
7070         (debug_strfdatetime, debug_strfdate, debug_strftime): Use int for
7071         sizes of buffers known to be small, e.g., because we’re using snprintf.
7072         (parse_datetime2): Simplify call to debug_mktime_not_ok.
7074 2017-04-22  Bruno Haible  <bruno@clisp.org>
7076         *printf: Work around rounding bug on Mac OS X.
7077         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Test for Mac OS X 10.12 bug.
7078         * doc/posix-functions/*printf.texi: Mention the rounding bugs of
7079         Mac OS X and FreeBSD.
7080         * doc/glibc-functions/*printf.texi: Likewise.
7082 2017-04-22  Bruno Haible  <bruno@clisp.org>
7084         vasnprintf tests: Avoid warnings.
7085         * tests/test-vasnprintf-posix3.c (test_function, my_asnprintf,
7086         test_vasnprintf, test_asnprintf): Don't define if there's nothing to
7087         test.
7089 2017-04-22  Bruno Haible  <bruno@clisp.org>
7091         sys_file tests: Avoid warning.
7092         * tests/test-sys_file.c (main): Add a default clause to the switch
7093         statement.
7095 2017-04-22  Bruno Haible  <bruno@clisp.org>
7097         sethostname: Update doc.
7098         * doc/glibc-functions/sethostname.texi: Mention differing prototype on
7099         Mac OS X.
7101 2017-04-22  Bruno Haible  <bruno@clisp.org>
7103         quotearg tests: Avoid warnings.
7104         * tests/test-quotearg.c: Don't include test-quotearg.h if ENABLE_NLS is
7105         false.
7107 2017-04-22  Bruno Haible  <bruno@clisp.org>
7109         poll: Enable argument check.
7110         * lib/poll.c: Include intprops.h.
7111         (poll): Check value of nfd correctly.
7112         * modules/poll (Depends-on): Add intprops.
7114 2017-04-22  Bruno Haible  <bruno@clisp.org>
7116         get-rusage-data: Avoid warnings on Mac OS X.
7117         * lib/get-rusage-data.c: On Mac OS X, don't define
7118         get_rusage_data_via_setrlimit nor get_rusage_data_via_iterator.
7119         (get_rusage_data) [Mac OS X]: Just return 0.
7121 2017-04-22  Bruno Haible  <bruno@clisp.org>
7123         xbinary-io: Fix build error.
7124         * modules/xbinary-io (Depends-on): Add gettext-h.
7125         * lib/xbinary-io.c: Include gettext.h and define _().
7126         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
7127         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00089.html>.
7129 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
7131         parse-datetime: overflow and debug cleanups
7132         This long patch was triggered by this bug report from Ruediger Meier:
7133         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00028.html
7134         I fixed the bug he noted, then found some others nearby, and then
7135         still others.  Oh my goodness, there were a lot of bugs.  I cleaned
7136         up some of the code to follow GNU standards while I was at it.
7137         * lib/parse-datetime.y (ISDIGIT): Remove; all callers changed to
7138         use c_isdigit.
7139         (EPOCH_YEAR): Remove; unused.
7140         (TM_YEAR_BASE): Now an enum rather than a macro.
7141         (HOUR, debug_strfdatetime): Multiply hour by 3600, not 60, to get
7142         time zone offset, since timezones now are in terms of seconds and
7143         not minutes.
7144         (long_time_t): Remove.  All uses replaced by time_t or intmax_t as
7145         appropriate.  Verify that intmax_t is wide enough.
7146         (time_overflow, time_zone_str): New functions, used to deal
7147         more reliably with overflow.
7148         (dbg_printf): Add printf attribute, to help catch integer width errors.
7149         (textint, relative_time, parser_control, time_zone_hhmm, set_hhmmss)
7150         (%union, to_hour, yylex, parse_datetime2):
7151         Use intmax_t instead of long int and/or long_time_t.
7152         All uses changed.
7153         (DBGBUFSIZE): Move earlier.
7154         (relative_time, set_hhmmss, parser_control):
7155         Just use int for nanoseconds and for time zones; that’s wide enough.
7156         (parser_control): Use bool for members like year_seen that can
7157         be booleans instead of counters.  All uses changed.
7158         Remove debug_default_input_timezone; no longer needed.
7159         All uses removed.
7160         (apply_relative_time): Return a bool overflow flag.
7161         All uses changed to check for overflow.
7162         (apply_relative_time, zone, date, relunit, relunit_snumber)
7163         (signed_seconds, unsigned_seconds, yylex, parse_datetime2):
7164         Check for integer overflow portably.
7165         (str_days): Use just int for N, as it’s wide enough.
7166         Prefer 2D char arrays to arrays of char * when it looks like
7167         2D is a win on typical platforms.
7168         Prefer snprintf to strncpy/strncat, for simplicity;
7169         all buffers are smaller than INT_MAX so this is safe.
7170         (TIME_ZONE_BUFSiZE, TM_YEAR_BUFSIZE): New constants.
7171         (debug_print_current_time): Don’t assume tv_nsec is of type long,
7172         as this is not true on x32.  Output "." before any nanoseconds.
7173         (debug_print_current_time, parse_datetime2):
7174         Output local zones using a more-consistent format.
7175         (debug_print_current_time, date, parse_datetime2):
7176         (main) [TEST]:
7177         Don’t assume time_t is the same width as long.
7178         (print_rel_part): New function, replacing ...
7179         (PRINT_REL_PART): ... this macro, which was removed.  All uses changed.
7180         (debug_print_relative_time): Use bool for boolean.
7181         (local_zone): dsts_seen now counts only tDST instances.
7182         (date): Fix printf of size_t to use %z.  Do not assume numeric
7183         tokens have negative values merely because the context suggests
7184         a syntax with "-" separating tokens.
7185         (time_zone_hhmm): Return bool success indicator, which checks for
7186         overflow.  Store result into PC->time_zone instead.  All callers
7187         changed.
7188         (tm_year_str): New function.  Return a bool success indicator and
7189         store the result into a buffer.  All callers changed.  Output the
7190         numerically correct string even if adding 1900 to the year would
7191         overflow.
7192         (to_tm_year): New function, replacing the old to_year.  All
7193         callers changed.
7194         (tm_diff): Sync with glibc.
7195         (lookup_word): Use to_uchar instead of doing it by hand.
7196         (TZBUFSIZE): Now local to the only function that needs it.
7197         (debug_strfdatetime): Simplify now that time zones are int seconds.
7198         (debug_strfdate): Work even if tm_year + 1900 would overflow.
7199         (get_effective_timezone): Remove.  All uses removed.
7200         (parse_datetime2): Use fprintf in pieces instead of snprintfing
7201         to a fixed-size buffer.  Don’t assume that gmtime succeeds iff
7202         localtime succeeds.  Use tm_gmtoff if available.  Simplify how
7203         ‘goto fail;’ works in conjunction with the ‘ok’ flag.
7204         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Don’t define
7205         TIME_T_FITS_IN_LONG_INT, as it is no longer needed.
7206         * modules/parse-datetime (Depends-on): Add inttypes.
7208 2017-04-21  Bruno Haible  <bruno@clisp.org>
7210         gettext-h: Avoid -Wundef warning.
7211         * lib/gettext.h: Test the value of ENABLE_NLS only if it is defined.
7212         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
7213         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00022.html>.
7215 2017-04-05  Tim Rühsen  <tim.ruehsen@gmx.de>
7217         error: Avoid "function declaration isn't a prototype" warning.
7218         * lib/error.c (strerror_r): Turn K&R C prototype to an ANSI C prototype.
7220 2017-04-21  Bruno Haible  <bruno@clisp.org>
7222         vasnprintf: Fix for MSVC 14.
7223         * lib/vasnprintf.c (USE_MSVC__SNPRINTF): New macro.
7224         Everywhere, use !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF instead
7225         of !HAVE_SNPRINTF_RETVAL_C99.
7227 2017-04-21  Bruno Haible  <bruno@clisp.org>
7229         mbrtowc tests: Fix test failures on MSVC 14.
7230         * tests/test-mbrtowc-w32.c (test_one_locale): Accept MSVC's conversion
7231         behaviour for invalid input.
7233 2017-04-21  Bruno Haible  <bruno@clisp.org>
7235         mbsinit: Fix for MSVC 14.
7236         * lib/mbsinit.c (mbsinit): If GNULIB_defined_mbstate_t, provide an
7237         implementation that is in sync with mbrtowc.c. On other platforms, use
7238         an adequate ad-hoc implementation.
7240 2017-04-21  Bruno Haible  <bruno@clisp.org>
7242         Fix test-mbrtowc5.sh failure on native Windows.
7243         * lib/setlocale.c (setlocale_unixlike): Accept "POSIX" as an alias for
7244         "C".
7246 2017-04-21  Bruno Haible  <bruno@clisp.org>
7248         Avoid accidental use of native Windows APIs on Cygwin.
7249         * lib/getaddrinfo.c (WINDOWS_NATIVE): Don't define on Cygwin.
7250         * lib/localcharset.c (WINDOWS_NATIVE): Likewise.
7251         * lib/localename.c (WINDOWS_NATIVE): Likewise.
7253 2017-04-20  Bruno Haible  <bruno@clisp.org>
7255         Remove red warnings from the generated MODULES.html.
7256         * modules/fcntl (Description): Disambiguate function references.
7257         * modules/getcwd-lgpl (Description): Likewise.
7258         * modules/hostent (Description): Likewise.
7259         * modules/servent (Description): Likewise.
7260         * modules/tempname (Description): Likewise.
7262 2017-04-20  Bruno Haible  <bruno@clisp.org>
7264         verify tests: Fix spurious failure with parallel make.
7265         * gnulib-tool (func_emit_tests_Makefile_am): Emit initialization of
7266         EXTRA_PROGRAMS.
7267         * tests/test-verify.sh: Build test-verify-try.o, not test-verify.o.
7268         * tests/test-verify-try.c: New file.
7269         * modules/verify-tests (Files): Add it.
7270         (EXTRA_PROGRAMS): Add test-verify-try.
7271         (MOSTLYCLEANFILES): Update accordingly.
7272         Reported by Adam James Stewart <ajstewart@anl.gov>.
7274 2017-04-18  Bruno Haible  <bruno@clisp.org>
7276         vma-iter: Fix compilation error on Solaris 7.
7277         * lib/vma-iter.c (vma_iterate): Treat missing MAP_ANONYMOUS on Solaris
7278         like on IRIX, OSF/1.
7279         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7281 2017-04-18  Bruno Haible  <bruno@clisp.org>
7283         vma-iter: Fix conflict with module 'largefile' on 32-bit Solaris 9.
7284         * modules/vma-iter (configure.ac): Test whether <sys/procfs.h> can be
7285         included.
7286         * lib/vma-iter.c: On Solaris, test HAVE_SYS_PROCFS_H before including
7287         <sys/procfs.h>.
7288         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't define on Solaris when
7289         <sys/procfs.h> cannot be included.
7290         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7292 2017-04-18  Bruno Haible  <bruno@clisp.org>
7294         getopt-gnu: Add comments.
7295         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Add comments.
7296         * modules/getopt-gnu (configure.ac): Likewise.
7298 2017-04-16  Paul Eggert  <eggert@cs.ucla.edu>
7300         regex: port better to Solaris 10
7301         Solaris 10 <locale.h> includes <libintl.h>, which #defines
7302         gettext, and this causes a double #define.
7303         Problem reported by Gavin Smith in:
7304         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00056.html
7305         * lib/regex_internal.h (gettext): #undef before #defining.
7307 2017-04-15  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
7309         intprops: improve comments
7310         * lib/intprops.h: Improve and shorten commentary.
7311         For the record, if we ever run into a pedantic compiler that
7312         behaves differently from GCC when converting an out-of-range value
7313         to a signed integer, we can work around the problem with something
7314         like the following code, where UCT is the signed counterpart of T
7315         (UCT is sometimes narrower than UT) and all callers are changed
7316         accordingly:
7317         #if __SUNPRO_C <= 0x5120
7318         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
7319            ((t) ((ut) (a) op (ut) (b)))
7320         #else
7321         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
7322            (TYPE_MINIMUM (t) <= (uct) ((ut) (a) op (ut) (b)) \
7323             ? ((t) (uct) (((ut) (a) op (ut) (b)) - TYPE_MINIMUM (t)) \
7324                + TYPE_MINIMUM (t)) \
7325             : (t) (uct) ((ut) (a) op (ut) (b)))
7326         #endif
7328 2017-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
7330         intprops: try to avoid tickling similar bugs
7331         * lib/intprops.h (_GL_INT_OP_CALC): Document that UT no longer
7332         needs to be the same width as T; it can be wider.
7333         Change callers so that UT is at least as wide as unsigned int,
7334         as I suspect that this is less likely to run into compiler bugs.
7336         intprops: port to Oracle Studio 12.3 x86
7337         Problem reported by Gavin Smith in:
7338         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00049.html
7339         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
7340         Convert unsigned to signed via the usual rather than the standard way,
7341         to avoid a compiler bug in Oracle Studio 12.3 x86.
7343 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
7345         getopt: prefer - to _ in new file names
7346         * lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h.
7347         * lib/getopt-core.h: Rename from lib/getopt_core.h.
7348         * lib/getopt-ext.h: Rename from lib/getopt_ext.h.
7349         * lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h.
7350         * lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h.
7351         All uses changed.
7353         getopt: port recent getopt changes to macOS
7354         Problem reported by Harald Maier (Bug#26398).
7355         The macOS C compiler uses __nonnull for its own purposes and that
7356         clashes with glibc's __nonnull.
7357         * lib/getopt.in.h: Add comment for _GL_ARG_NONNULL snippet.
7358         * lib/getopt_cdefs.in.h (__nonnull): Remove.
7359         * lib/getopt_core.h (getopt):
7360         * lib/getopt_ext.h (getopt_long, getopt_long_only):
7361         Use _GL_ARG_NONNULL, not __nonnull.
7362         * lib/unistd.in.h: Move snippet hooks to before where the getopt
7363         .h files are included, so that _GL_ARG_NONNULL is defined in time.
7364         * modules/getopt-posix (Depends-on): Add snippet/arg-nonnull.
7365         (getopt.h): Interpolate _GL_ARG_NONNULL snippet.
7367 2017-04-06  Paul Eggert  <eggert@cs.ucla.edu>
7369         getopt-gnu: omit some duplicate code
7370         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Don’t require
7371         gl_FUNC_GETOPT_POSIX, as the configure.ac code generated by
7372         gnulib-tool already does this.
7373         * modules/getopt-gnu (configure.ac): Omit code duplicated from
7374         getopt-posix, which we depend on.
7376         getopt-posix: use angle-bracket include
7377         * lib/getopt1.c: Include <config.h>, not "config.h".
7379 2017-04-06  Zack Weinberg  <zackw@panix.com>
7381         getopt: annotate files with relationship to glibc
7383         As the final act in this patchset, adjust the message at the top of
7384         each file to indicate which files are synced with glibc.  (This has
7385         already been done for most of the headers.)
7387         * lib/getopt.c, lib/getopt1.c, lib/getopt_int.h:
7388         Mention in top-of-file boilerplate that these files are shared
7389         between glibc and gnulib.
7392         getopt: split up getopt.in.h and eliminate __need_getopt
7394         Over in glibc, all of the __need macros are being phased out in favor
7395         of small headers that declare only the necessary components, as this
7396         is much simpler and less prone to bugs.  As getopt is shared with
7397         glibc, gnulib needs to do the same for __need_getopt.
7399         __need_getopt is misnamed; what it really means is "we want only the
7400         getopt features specified in POSIX, not the GNU extensions".  glibc
7401         placed the "meat" of getopt.h into getopt_core.h and getopt_ext.h;
7402         these files can be shared verbatim with gnulib.  The portability
7403         wrapper, on the other hand, they have renounced altogether; glibc's
7404         getopt.h will no longer be shared with gnulib at all.  In exchange,
7405         certain glibc-specific quirks (having to do with __posix_getopt) no
7406         longer need appear in gnulib's headers at all.
7408         This patch merges getopt_core.h and getopt_ext.h from glibc, and
7409         splits up the current gnulib-side portability wrapper into three
7410         additional headers: getopt_pfx_core.h and getopt_pfx_ext.h handle
7411         __GETOPT_PREFIX for their respective headers, getopt_cdefs.in.h
7412         handles things like __BEGIN_DECLS and __THROW, and getopt.in.h and
7413         unistd.in.h just use them.  All new files are clearly marked with
7414         whether they are shared with glibc.
7416         * lib/getopt.in.h: Eliminate __need_getopt.  Break up into ...
7417         * lib/getopt_core.h, lib/getopt_ext.h: ... these new files shared
7418         with glibc, and ...
7419         * lib/getopt_cdefs.in.h, lib/getopt_pfx_core.h
7420         * lib/getopt_pfx_ext.h: ... these new files not shared with glibc.
7421         * lib/unistd.in.h: Include getopt_cdefs.h and getopt_pfx_core.h,
7422         instead of defining __need_getopt and including the full getopt.h.
7424         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): Check for sys/cdefs.h.
7425         Define substitution variables GETOPT_CDEFS_H and HAVE_SYS_CDEFS_H.
7426         * modules/getopt-posix (Files): Add new headers and sort list.
7427         (Depends-on): No longer need snippet/arg-nonnull.
7428         (Makefile.am): Generate getopt_cdefs.h.
7431         getopt: better handling of ambiguous options
7433         glibc's getopt uses alloca to construct a linked list of possibilities
7434         for an "ambiguous" long option.  In gnulib, malloc should be used
7435         instead.  Providing for both cases complicates things a fair bit.
7437         This patch rewrites ambiguous-option handling to use a boolean vector
7438         instead of a linked list.  There is then only one allocation that
7439         might need freeing; in glibc it can honor __libc_use_alloca as usual,
7440         and in gnulib we define __libc_use_alloca to always be false, so we
7441         don't need ifdefs in the middle of the function.  This should also be
7442         slightly more efficient in the normal case of long options being fully
7443         spelled out -- I think most people aren't even aware they _can_
7444         sometimes abbreviate long options.
7446         One interesting consequence is that the list of possibilities is now
7447         printed in exactly the order they appear in the list of long options,
7448         instead of the first possibility being shuffled to the end.
7450         (The patch looks bigger than it really is because there's a fair bit
7451         of reindentation and code rearrangement.)
7453         * lib/getopt.c: When used standalone, define __libc_use_alloca
7454         as always false and alloca to abort if called.
7455         (process_long_option): Rewrite handling of ambiguous long options
7456         to use a single boolean vector, not a linked list; use
7457         __libc_use_alloca to decide whether to allocate this using alloca.
7460         getopt: refactor long-option handling
7462         There were two copies of the bulk of the code to handle long options.
7463         Now there is only one.
7465         This change temporarily removes the logic to avoid using alloca when
7466         standalone; the next patch in the series will restore it.
7468         * lib/getopt.c (process_long_option): New function split out
7469         from _getopt_internal_r.
7470         (_getopt_internal_r): Replace both copies of the long-option
7471         processing code with calls to process_long_option.
7474         getopt: tidy up _getopt_initialize a bit
7476         _getopt_data.__posixly_correct is completely redundant to
7477         _getopt_data.__ordering, and some work that logically belongs in
7478         _getopt_initialize was being done by _getopt_internal_r, making the
7479         code harder to understand.
7481         As a side effect, getenv will no longer be called if the first
7482         character of the options string is '+' or '-', which is probably a
7483         Good Thing.  (Perhaps we should have a flag character that
7484         specifically asks for the permutation behavior?)
7486         * lib/getopt_int.h (_getopt_data): Remove __posixly_correct field.
7487         * lib/getopt.c (_getopt_internal_r): Move some initialization code...
7488         (_getopt_initialize): ...here. Don't set d->__posixly_correct.
7491         getopt: merge from glibc: repetition reduction
7493         The definitions of the entry point functions 'getopt' and
7494         '__posix_getopt' can be made substantially less repetitive with a
7495         helper macro.
7497         While I was merging the const-correctness changes from gnulib into
7498         glibc I noticed there are still some unnecessary casts in
7499         _getopt_internal_r.
7501         * lib/getopt.c (getopt, __posix_getopt): Eliminate repetition with
7502         a macro.  Consistently cast 'argv' to 'char **' when calling
7503         _getopt_internal.
7504         (_getopt_internal_r): Remove unnecessary casts when calling exchange.
7507         getopt: clean up error reporting
7509         getopt can print a whole bunch of error messages, and when used
7510         standalone (from gnulib) it uses fprintf to do that.  But fprintf is a
7511         cancellation point and getopt isn't, and also applying fprintf to a
7512         stream in wide-character mode is not allowed.  So every single error
7513         reporting case has an #ifdef _LIBC block in which it calls internal
7514         libc functions instead.  The counterpart patch series in glibc makes
7515         it possible to simplify all of that down to a set of #defines at the
7516         top of the file; core code is written as if it is safe to just call
7517         fprintf, flockfile, and funlockfile.  (One caveat: it's *not* safe to
7518         call any *other* stdio functions.)
7520         * lib/getopt.c: When _LIBC is defined, define fprintf to
7521         __fxprintf_nocancel, flockfile to _IO_flockfile, and funlockfile
7522         to _IO_funlockfile.  When neither _LIBC nor
7523         _POSIX_THREAD_SAFE_FUNCTIONS is defined, define flockfile and
7524         funlockfile as no-ops.
7525         (_getopt_internal_r): Remove all internal #ifdef _LIBC blocks; the
7526         standalone error-printing code can now be used for libc as well.
7527         Add an flockfile/funlockfile pair around one case where the error
7528         message is printed in several chunks.  Don't use fputc.
7531         getopt: fix fencepost error in ambiguous-W-option handling
7533         getopt_long contains an undocumented (AFAICT) feature in which, if you
7534         put "W;" in the short-options list, then '-W foo' and '-Wfoo' are
7535         treated as equivalent to '--foo'.  This is implemented with a partial
7536         second copy of the code for handling long options, and that code
7537         increments optind one too many times when recovering from an ambiguous
7538         abbreviated option, which can cause the main loop to walk past the end
7539         of argv and crash.
7541         I discovered this while writing a test case that tries to exercise all
7542         of getopt's error reporting paths; I wouldn't be surprised to learn
7543         that this feature is never used by real applications.
7545         * lib/getopt.c (_getopt_internal_r): Don't increment
7546         d->optind a second time when reporting ambiguous -W options.
7549         getopt: clean up getopt.c and getopt1.c file headers
7551         In getopt.c, there is no need to include wchar.h at all, and it is
7552         safe nowadays to assume that stdlib.h does declare getenv (several
7553         other gnulib modules make this assumption).
7555         In getopt1.c, the #ifdef _LIBC block at the top can be simplified
7556         by using "" inclusions consistently, and there is no actual need to
7557         include stdlib.h (except in the #ifdef TEST block, where it should be
7558         unconditional), nor to provide a backup definition of NULL at all.
7560         * lib/getopt1.c: Simplify #ifdeffage at top of file.
7561         Move inclusion of stdlib.h to #ifdef TEST block and make
7562         unconditional.  Do not define NULL.
7563         * lib/getopt.c: Don't include wchar.h. No need to declare getenv.
7564         * m4/getopt.m4 (gl_PREREQ_GETENV): Delete.
7565         * modules/getopt-gnu, modules/getopt-posix: Don't call
7566         gl_PREREQ_GETENV.
7569         getopt: harmonize comments with glibc
7571         The comments explaining how the behavior of 'getopt' varies depending
7572         on whether it's the standalone version and whether there are special
7573         characters at the beginning of the options string were inconsistent
7574         between gnulib and glibc, and also out of sync with the code.
7576         * lib/getopt.c, lib/getopt_int.h: Harmonize comments with glibc.
7579         getopt: remove USE_NONOPTION_FLAGS
7581         getopt includes code to parse an environment variable named
7582         _XXX_GNU_nonoption_argv_flags_ (where XXX is the current process's PID
7583         in decimal); but all of it has been #ifdefed out since 2001, with no
7584         official way to turn it back on.
7586         According to commentary in glibc's config.h.in, bash version 2.0
7587         set this environment variable to indicate argv elements that were
7588         the result of glob expansion and therefore should not be treated
7589         as options, but the feature was "disabled later" because "it
7590         caused problems".  According to bash's CHANGES file, "later" was
7591         release 2.01; it gives no more detail about what the problems
7592         were.
7594         Version 2.0 of bash was released on the last day of 1996, and version
7595         2.01 in June of 1997.  Twenty years later, I think it is safe to
7596         assume that this environment variable isn't coming back.
7598         * lib/getopt_int.h: Remove all #ifdef USE_NONOPTION_FLAGS blocks.
7599         * lib/getopt.c: Likewise. Also remove SWAP_FLAGS and the
7600         __libc_argc and __libc_argv externs, which were only used by
7601         #ifdef USE_NONOPTION_FLAGS blocks.
7604         getopt: tabify, in preparation for merge with glibc
7606         glibc sticks to the GNU default of indenting with a mix of
7607         8-column tabs and spaces; make the gnulib copy match.
7609         getopt.h is not included because it is *not* going to be merged in its
7610         present form.
7612         * getopt.c, getopt1.c, getopt_int.h: Tabify.
7614 2017-04-02  Bruno Haible  <bruno@clisp.org>
7616         relocatable-lib-lgpl: Fix link error (regression from 2011-06-16).
7617         * modules/relocatable-lib-lgpl (configure.ac): Add AC_LIBOBJ invocation,
7618         like it was done in modules/relocatable-lib on 2011-05-21 and in
7619         modules/relocatable-prog on 2011-08-15.
7620         Reported by Reuben Thomas <rrt@sc3d.org>.
7622 2017-03-31  Bruno Haible  <bruno@clisp.org>
7624         glob: Fix invalid free() call.
7625         * lib/glob.c (glob): Reset malloc_home_dir when assigning a pointer to
7626         static storage to home_dir.
7627         Reported by Coverity via Tim Rühsen.
7629 2017-03-31  Bruno Haible  <bruno@clisp.org>
7631         glob: Fix memory leaks.
7632         * lib/glob.c (glob): Free allocated memory before returning.
7633         Reported by Coverity via Tim Rühsen.
7635 2017-03-31  Bruno Haible  <bruno@clisp.org>
7637         md5, sha1, sha256, sha512: Add comments regarding correctness.
7638         * lib/md5.h (buflen): Add comments regarding range.
7639         * lib/sha1.h (buflen): Likewise.
7640         * lib/sha256.h (buflen): Likewise.
7641         * lib/sha512.h (buflen): Likewise.
7642         * lib/md5.c (md5_process_bytes): Add comment why memmove is not needed.
7643         * lib/sha1.c (sha1_process_bytes): Likewise.
7644         * lib/sha256.c (sha256_process_bytes): Likewise.
7645         * lib/sha512.c (sha512_process_bytes): Likewise.
7646         Reported by Coverity via Tim Rühsen.
7648 2017-03-22  Paul Eggert  <eggert@cs.ucla.edu>
7650         getopt: merge from glibc
7651         This does not change anything substantial; it merely simplifies
7652         hypothetical merges back to glibc.
7653         * lib/getopt.c, lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h:
7654         Change copyright notice to match what is in glibc.
7655         * lib/getopt.c: Reorder includes to match glibc.  Remove uses of
7656         USE_IN_LIBIO.  Remove 'register'.  In __LIBC code, use
7657         __open_memstream rather than open_memstream and __glibc_likely
7658         instead of __builtin_expect.
7659         * lib/getopt.in.h (__posix_getopt) [!__GETOPT_PREFIX]: New decl.
7661 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
7663         dfa: make [0-9] faster in non-C locales
7664         Problem reported by John P. Linderman (Bug#26193).
7665         * lib/dfa.c (parse_bracket_exp): Remove redundant assignment.
7666         If both ends of the range are ASCII digits, do not worry about
7667         multi-character collating sequences and the like.  Be consistent
7668         about using isalpha as a precondition for setbit_case_fold_c.
7670 2017-03-19  Bruno Haible  <bruno@clisp.org>
7672         lock: Fix compilation error with HP-UX IA64 cc.
7673         * lib/glthread/lock.h (pthread_rwlockattr_setkind_np): Don't declare
7674         weak on non-glibc platforms.
7676 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
7678         stdalign: tweak version# and test for HP-UX IA64
7679         Problems reported by Bruno Haible in:
7680         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00078.html
7681         * lib/stdalign.in.h (_Alignas):
7682         * m4/stdalign.m4 (gl_STDALIGN_H):
7683         Use octal, not decimal, for __HP_cc version.  Perhaps HP formerly
7684         used octal (as that is how they document it), but it is decimal in
7685         practice now and the ancient implementations no longer matter.
7686         * tests/test-stdalign.c (main) [__HP_cc && __ia64]: Skip test.
7688 2017-03-19  Bruno Haible  <bruno@clisp.org>
7690         vma-iter: Add support for Solaris.
7691         * lib/vma-iter.c (vma_iterate): On Solaris, use the /proc filesystem
7692         approach.
7693         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on Solaris.
7694         * lib/get-rusage-as.c: Update comment about Solaris.
7695         * lib/get-rusage-data.c: Likewise.
7697 2017-03-19  Bruno Haible  <bruno@clisp.org>
7699         vma-iter: Prefer HP-UX specific API on HP-UX.
7700         * lib/vma-iter.c (vma_iterate): Move HP-UX specific implementation up.
7701         * lib/vma-iter.h: Update.
7702         Just in case HP-UX ever implements mquery().
7704 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
7706         stdalign: restore previous behavior for HP-UX IA64
7707         See Bruno Haible's email in:
7708         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
7709         which cites p 150 of a manual saying that 'aligned' works on Itanium.
7710         * lib/stdalign.in.h (_Alignas):
7711         Assume the '061200' applies to Itanium, not to PA-RISC.
7712         * m4/stdalign.m4 (gl_STDALIGN_H): Adjust to match stdalign.in.h.
7714 2017-03-17  Bruno Haible  <bruno@clisp.org>
7716         stat-time, timespec: Support use of the header files in C++ mode.
7717         * lib/stat-time.h: Add "C" linkage declaration.
7718         * lib/timespec.h: Likewise.
7720 2017-03-17  Bruno Haible  <bruno@clisp.org>
7722         stdalign: Make it work with HP-UX cc.
7723         * lib/stdalign.in.h (_Alignas): Don't define for HP-UX cc.
7724         * m4/stdalign.m4 (gl_STDALIGN_H): No need to enable the extra test
7725         for HP-UX cc.
7727 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
7729         flexmember: try to detect HP-UX 11.31 cc bug
7730         Problem reported by Bruno Haible in:
7731         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
7732         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
7733         Attempt to detect bug in HP-UX 11.31 cc.
7735 2017-03-16  Bruno Haible  <bruno@clisp.org>
7737         stdint: Fix test compilation failure with HP-UX 11 cc.
7738         * lib/stdint.in.h (_STDINT_MIN): Remove macro.
7739         (_STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN): New macros.
7740         (PTRDIFF_MIN, SIG_ATOMIC_MIN, WCHAR_MIN, WINT_MIN): Define using
7741         _STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN.
7743 2017-03-14  Bruno Haible  <bruno@clisp.org>
7745         gnulib-tool: Don't produce a tests directory with only snippet .h files.
7746         * gnulib-tool (func_modules_transitive_closure_separately): If
7747         testsrelated_modules ends up with no "real" modules, aside from
7748         modules with applicability 'all', set it to empty.
7750 2017-03-14  Bruno Haible  <bruno@clisp.org>
7752         vma-iter: Add support for HP-UX.
7753         * modules/vma-iter (configure.ac): Check for 'pstat_getprocvm'.
7754         * lib/vma-iter.c (vma_iterate): On HP-UX, use pstat_getprocvm().
7755         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on HP-UX.
7756         * lib/get-rusage-as.c: Update comment about HP-UX.
7757         * lib/get-rusage-data.c: Likewise.
7758         (get_rusage_data): Use get_rusage_data_via_setrlimit.
7760 2017-03-14  Bruno Haible  <bruno@clisp.org>
7762         limits-h: Make it work with HP-UX cc.
7763         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define if not
7764         defined.
7766 2017-03-14  Bruno Haible  <bruno@clisp.org>
7768         Fix test failures on DragonFlyBSD.
7769         * tests/test-localeconv.c (main): Treat DragonFlyBSD like FreeBSD.
7770         * tests/test-select.h (test_bad_fd): Likewise.
7771         * tests/test-get-rusage-data.c (main): Treat DragonFlyBSD like OpenBSD.
7773 2017-03-14  Bruno Haible  <bruno@clisp.org>
7775         freadahead: Silence warning on DragonFlyBSD.
7776         * lib/freadahead.c (__sreadahead): Declare ourselves.
7778 2017-03-14  Bruno Haible  <bruno@clisp.org>
7780         vma-iter: Add comment about AIX.
7781         * lib/vma-iter.c: Add comment about why this module is not implemented
7782         on AIX.
7784 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
7786         snippets: move unadjusted snippet sources to lib
7787         Problem reported by Michal Privoznik in:
7788         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00039.html
7789         * lib/_Noreturn.h: Rename from build-aux/snippet/_Noreturn.h.
7790         * lib/arg-nonnull.h: Rename from build-aux/snippet/arg-nonnull.h.
7791         * lib/c++defs.h: Rename from build-aux/snippet/c++defs.h.
7792         * lib/unused-parameter.h: Rename from
7793         build-aux/snippet/unused-parameter.h.
7794         * lib/warn-on-use.h: Rename from build-aux/snippet/warn-on-use.h.
7795         * modules/snippet/_Noreturn (Files:, _NORETURN_H):
7796         * modules/snippet/arg-nonnull (Files:, ARG_NONNULL_H):
7797         * modules/snippet/c++defs (Files:, CXXDEFS_H):
7798         * modules/snippet/unused-parameter (Files:, UNUSED_PARAMETER_H):
7799         * modules/snippet/warn-on-use (Files: WARN_ON_USE_H):
7800         Adjust to file renamings.
7802 2017-03-14  Mathieu Lirzin  <mthl@gnu.org>
7804         gnulib-tool: don't automatically distribute files from top/
7805         * gnulib-tool (func_get_automake_snippet_unconditional): To be able to
7806         not distribute top/README-release by default, don't distribute files
7807         from top/ unconditionally.
7808         * modules/gnumakefile (Makefile.am): Distribute top/GNUmakefile.
7809         * modules/maintainer-makefile (Makefile.am): Distribute top/maint.mk.
7811 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
7813         gnulib-tool: fix typo in comment output
7814         * gnulib-tool (func_import): Fix typo with previous change.
7816         snippets: work around GNU Make 3.82 VPATH
7817         When using 'gnulib-tool --gnu-make' on Emacs, and building
7818         the resulting tarball on Solaris 10 which bundles GNU Make 3.82,
7819         an out-of-source (VPATH) build failed because the sans-copyright
7820         snippet file was not built before the file that used it.
7821         Presumably this is some sort of VPATH thing.  Work around the
7822         problem by using the original snippet, i.e., don’t bother to
7823         remove its copyright notice.
7824         * modules/snippet/_Noreturn, modules/snippet/link-warning:
7825         Don’t assume Automake in comments.  Omit long-incorrect comment.
7826         * modules/snippet/arg-nonnull (BUILT_SOURCES, arg-nonnull.h)
7827         (MOSTLYCLEANFILES):
7828         * modules/snippet/c++defs (BUILT_SOURCES, c++defs.h)
7829         (MOSTLYCLEANFILES):
7830         * modules/snippet/unused-parameter (BUILT_SOURCES, unused-parameter.h)
7831         (MOSTLYCLEANFILES):
7832         * modules/snippet/warn-on-use (BUILT_SOURCES, warn-on-use.h)
7833         (MOSTLYCLEANFILES):
7834         Remove.
7835         * modules/snippet/arg-nonnull (ARG_NONNULL_H):
7836         * modules/snippet/c++defs (CXXDEFS_H):
7837         * modules/snippet/unused-parameter (UNUSED_PARAMETER_H):
7838         * modules/snippet/warn-on-use (WARN_ON_USE_H):
7839         Don’t bother to remove the copyright notice; just use the
7840         original snippet as-is.
7842 2017-03-13  Paul Eggert  <eggert@cs.ucla.edu>
7844         gnulib-tool: minor --gnu-make fixups
7845         * gnulib-tool (func_emit_lib_Makefile_am):
7846         Remove useless code that was a blind alley during implementation.
7847         Problem reported by Thien-Thi Nguyen in:
7848         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00029.html
7849         (func_import): Note the "--gnu-make" option in the output comment.
7851 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
7853         gnulib-tool: new option --gnu-make
7854         This is for applications like GNU Emacs that use GNU Make
7855         features instead of Automake.
7856         * doc/gnulib-tool.texi (Initial import): Mention --gnu-make.
7857         * doc/gnulib.texi (Unit test modules, Build robot for gnulib):
7858         Do not assume Automake.
7859         * gnulib-tool (func_determine_path_separator)
7860         (func_modules_transitive_closure, func_update_file)
7861         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
7862         (func_import): Add support for --gnu-make.
7864 2017-03-11  Paul Eggert  <eggert@cs.ucla.edu>
7866         gnulib-common.m4: avoid aclocal.m4 bloat
7867         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB):
7868         Hide AM_PROG_AR from aclocal, so that aclocal does not
7869         install irrelevant macro definitions into aclocal.m4.
7871 2017-03-10  Bruno Haible  <bruno@clisp.org>
7873         vma-iter: Let callers know about error.
7874         * lib/vma-iter.h (vma_iterate): Return 'int', not 'void'.
7875         * lib/vma-iter.c (vma_iterate): Return -1 in case of error.
7877 2017-03-05  Bruno Haible  <bruno@clisp.org>
7879         Fix value of LD for 64-bit compilers on AIX.
7880         * m4/lib-ld.m4 (AC_LIB_PROG_LD): For 64-bit compilers on AIX
7881         ("gcc -maix64" and "xlc -q64"), add option -b64 to $LD.
7883 2017-03-04  Paul Eggert  <eggert@cs.ucla.edu>
7885         dtotimespec: simplify
7886         * lib/dtotimespec.c (dtotimespec): Simplify.
7888 2017-03-04  Bruno Haible  <bruno@clisp.org>
7890         test-calloc-gnu: Reenable test also for GCC 7.
7891         * tests/test-calloc-gnu.c (eight): New function.
7892         (main): Don't skip test; use eight() instead.
7894 2017-03-04  Jim Meyering  <meyering@fb.com>
7896         test-calloc-gnu: port to GCC7
7897         * tests/test-calloc-gnu.c (main) [__GNUC__ >= 7]: Skip a test
7898         that attempts to calloc more than SIZE_MAX bytes, because GCC7
7899         and newer would detect that at compilation time.
7901 2017-03-04  Bruno Haible  <bruno@clisp.org>
7903         tests: Avoid compiler warning about uses of null_ptr.
7904         * tests/null-ptr.h: New file.
7905         * tests/test-canonicalize.c: Include null-ptr.h.
7906         (null_ptr): Remove function.
7907         * tests/test-canonicalize-lgpl.c: Likewise.
7908         * tests/test-memmem.c: Likewise.
7909         * tests/test-ptsname_r.c: Likewise.
7910         * modules/canonicalize-tests (Files): Add tests/null-ptr.h.
7911         * modules/canonicalize-lgpl-tests: Likewise.
7912         * modules/memmem-tests: Likewise.
7913         * modules/ptsname_r-tests: Likewise.
7914         Reported by Jim Meyering.
7916 2017-03-03  Bruno Haible  <bruno@clisp.org>
7918         doc: Mention Mac OS X deficiencies regarding semaphores.
7919         * doc/posix-functions/sem_init.texi: Mention status on Mac OS X.
7920         * doc/posix-functions/sem_destroy.texi: Likewise.
7921         * doc/posix-functions/sem_getvalue.texi: Likewise.
7923 2017-03-03  Bruno Haible  <bruno@clisp.org>
7925         lock tests: Fix test failure on Mac OS X (regression from 2017-01-05).
7926         Reported by Assaf Gordon <assafgordon@gmail.com> via
7927         Pádraig Brady <P@draigBrady.com>.
7928         * tests/test-lock.c: On Mac OS X, use named semaphores, not unnamed
7929         semaphores.
7930         (USE_NAMED_SEMAPHORE, USE_UNNAMED_SEMAPHORE): New macros.
7931         (atomic_int_semaphore): New macro.
7933 2017-02-28  Bruno Haible  <bruno@clisp.org>
7935         perror tests: Tweak for z/OS.
7936         Reported by Daniel Richard G. <skunk@iskunk.org>.
7937         * tests/test-perror.sh: Don't fail z/OS style perror output.
7939 2017-02-26  Bruno Haible  <bruno@clisp.org>
7941         nproc: Refactor large function.
7942         * lib/nproc.c (num_processors_ignoring_omp): New function, extracted
7943         from num_processors.
7944         (num_processors): In this function, only deal with OMP.
7946 2017-02-26  Pádraig Brady  <P@draigBrady.com>
7948         nproc: adjust handling of OpenMP environment variables
7949         to match the return value from omp_get_num_threads(), i.e.:
7950          - honor OMP_THREAD_LIMIT without OMP_NUM_THREADS
7951          - Treat 0 as an invalid value and ignore
7952         Also remove the call to omp_get_num_threads() because
7953         it's ineffective without the omp pragmas in place.
7954         * lib/nproc.c (parse_omp_threads): Return 0 if specified,
7955         so that it can be ignored.
7956         (num_processors): Honor OMP_THREAD_LIMIT even without
7957         OMP_NUM_THREADS being set.  Also fix a typo in the environment
7958         variable being checked, from the previous recent commit.
7960 2017-02-26  Pádraig Brady  <P@draigBrady.com>
7962         nproc: support nested OMP_NUM_THREADS, and OMP_THREAD_LIMIT
7963         * lib/nproc.c (parse_omp_threads): A new function refactored
7964         from num_processors() to support parsing both of the
7965         above environment variables.
7966         (num_processors): Prefer using omp_get_num_threads() with [_OPENMP]
7967         to accurately reflect the current OpenMP nesting level.
7968         Also support the OMP_THREAD_LIMIT environment variable
7969         to limit the max value determined from OMP_NUM_THREADS.
7970         * modules/nproc: Depend on minmax header.
7971         Suggested by Oliver Heimlich.
7973 2017-02-25  Bruno Haible  <bruno@clisp.org>
7975         maintainer-makefile: Fix AC_PROG_SED with autoconf cache.
7976         * m4/gnulib-common.m4 (AC_PROG_SED): Fix AC_CACHE_CHECK invocation.
7978 2017-02-24  Paul Eggert  <eggert@cs.ucla.edu>
7980         ftoastr: port to -Wdouble-promotion
7981         Work around -Wdouble-promotion false alarm in recent GCCs.
7982         * lib/ftoastr.c (PROMOTED_FLOAT): New macro.
7983         (ftoastr_snprintf, FTOASTR): Use it.
7985 2017-02-21  Bruno Haible  <bruno@clisp.org>
7987         lock tests: Fix build failure on GNU/Hurd (regression from 2017-01-05).
7988         Reported by Rene Saavedra <rennes@openmailbox.org> in
7989         https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25821 via Paul Eggert.
7990         * lib/glthread/lock.h: On glibc systems without
7991         PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP, use the fallback
7992         implementation of rwlocks.
7993         * lib/glthread/lock.c: Likewise.
7995 2017-02-20  Bruno Haible  <bruno@clisp.org>
7997         lock tests: Fix build failure on z/OS.
7998         Reported by Daniel Richard G. <skunk@iskunk.org>.
7999         * modules/lock-tests (configure.ac): Test for <semaphore.h>.
8000         * tests/test-lock.c (USE_SEMAPHORE): Don't set if <semaphore.h> does not
8001         exist.
8003 2017-02-19  Bruno Haible  <bruno@clisp.org>
8005         havelib: Prefer the search path of /usr/bin/gcc over the one of $CC.
8006         This helps when CC=clang.
8007         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Prefer the search path
8008         of /usr/bin/gcc.
8010         havelib: Support overriding the result of AC_LIB_PREPARE_MULTILIB.
8011         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use AC_CACHE_CHECK.
8013 2017-02-19  Bruno Haible  <bruno@clisp.org>
8015         gnulib-tool: Avoid conflict of havelib-tests with --single-configure.
8016         * gnulib_tool (func_create_testdir): Avoid havelib-tests when
8017         --with-tests --single-configure is specified.
8019 2017-02-16  Tim Rühsen  <tim.ruehsen@gmx.de>
8021         users.txt: Update links, use HTTPS where possible
8022         * users.txt: Updated to HTTPS where possible,
8023         fixed some links to new locations.
8025 2017-02-16  Bruno Haible  <bruno@clisp.org>
8027         xbinary-io: Fix inlining.
8028         * lib/xbinary-io.c: Set XBINARY_IO_INLINE, not XSETMODE_INLINE.
8030 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
8032         xbinary-io: rename from xsetmode
8033         This patch is taken from suggestions by Bruno Haible in:
8034         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00060.html
8035         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00061.html
8036         * lib/binary-io.c (__gl_setmode_check): Set errno to EINVAL,
8037         not ENOTTY, when it is an inappropriate device.
8038         * lib/binary-io.h (SET_BINARY): Resurrect.
8039         * lib/xbinary-io.c: Rename from lib/xsetmode.c.
8040         (xset_binary_mode_error): Rename from xsetmode_error.
8041         * lib/xbinary-io.h: Rename from lib/xsetmode.h.
8042         (xset_binary_mode): Rename from xsetmode.
8043         All uses changed.
8044         * modules/xbinary-io: Rename from modules/xsetmode.
8045         Update file names.
8046         * tests/test-binary-io.sh (tmpfiles): Remove no-longer-used file name.
8047         * NEWS: Update to match revised behavior.
8049 2017-02-15  Paul Eggert  <eggert@cs.ucla.edu>
8051         tests: Adjust to recent SET_BINARY change
8052         * tests/test-binary-io.c (main):
8053         * tests/test-binary-io.sh: Remove test for SET_BINARY.
8054         * tests/test-closein.c, tests/test-fflush2.c, tests/test-ftell.c:
8055         * tests/test-ftello.c, tests/test-nonblocking-pipe-child.c:
8056         * tests/test-yesno.c: Use set_binary_mode, not SET_BINARY.
8058         xsetmode: new module
8059         This is to fix a problem noted by Eric Blake.
8060         Code was using xfreopen to change files to binary mode, but this
8061         fails for stdout when in append mode.  Such code should use
8062         xsetmode instead.
8063         * NEWS: Document incompatible changes to binary-io module.
8064         * lib/binary-io.c (__gl_setmode_check) [__DJGPP__ || __EMX__]:
8065         New function.
8066         * lib/binary-io.h (__gl_setmode): Rename from set_binary_mode.
8067         (set_binary_mode): New function, which also checks for tty.
8068         * lib/xsetmode.c, lib/xsetmode.h, modules/xsetmode: New files.
8070 2017-02-14  Paul Eggert  <eggert@cs.ucla.edu>
8072         headers: fix begin-end typos
8073         * lib/mbfile.h, lib/se-selinux.in.h: Fix typos by replacing
8074         _GL_INLINE_HEADER_BEGIN with _GL_INLINE_HEADER_END.
8076         selinux-h: port to PGI 16.10
8077         * lib/se-selinux.in.h: Don't assume that include_next skips over
8078         duplicate -I DIR options.
8080         argp: port to PGI 16.10
8081         * lib/argp-pin.c (dummy): Declare as needed to make file nonempty.
8083 2017-02-13  Darshit Shah  <darnir@gnu.org>
8085         unicase: Update function protoype to match definition.
8086         * lib/unicase/special-casing.h (gl_unicase_special_lookup): Gperf 3.1
8087         uses 'size_t' as the datatype for the 'len' parameter in the functions
8088         it generates. Update the prototype specified here to match the newly
8089         generated function.
8091 2017-02-12  Bruno Haible  <bruno@clisp.org>
8093         times test: Avoid gcc warnings on Linux/x32.
8094         * tests/test-times.c (main): Really cast printf arguments from clock_t
8095         to 'long int'.
8097 2017-02-12  Paul Eggert  <eggert@cs.ucla.edu>
8099         glob: port better to emscripten
8100         Problem reported by Bruno Haible in:
8101         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00031.html
8102         * lib/glob.c (glob): Don't assume HAVE_GETPWNAM_R || _LIBC.
8104 2017-02-11  Bruno Haible  <bruno@clisp.org>
8106         host-cpu-c-abi: Support for 64-bit AIX, 32-bit armhf on arm64, hppa64.
8107         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Define also HOST_CPU.
8108         For the x32 ABI on x86_64, set HOST_CPU_C_ABI to 'x86_64-x32' and define
8109         both __x86_64__ and __x86_64_x32__. For the ELFv2 ABI on powerpc64,
8110         define both __powerpc64__ and __powerpc64_elfv2__. Recognize 64-bit
8111         compilation on AIX. Recognize 32-bit compilation on arm64/Linux.
8112         Distinguish hppa64 from hppa.
8114 2017-02-10  Bruno Haible  <bruno@clisp.org>
8116         search: Don't assume that tsearch() exists if 'VISIT' is defined.
8117         * m4/search_h.m4 (gl_SEARCH_H): Determine HAVE_TYPE_VISIT.
8118         * modules/search (Makefile.am): Substitute HAVE_TYPE_VISIT.
8119         * lib/search.in.h (VISIT): Define if HAVE_TYPE_VISIT is 0.
8121 2017-02-09  Bruno Haible  <bruno@clisp.org>
8123         doc: Don't mention obsolete AC_LIBTOOL_WIN32_DLL macro.
8124         * doc/gnulib.texi (Libtool and Windows): Recommend
8125         LT_INIT([win32-dll]) instead of AC_LIBTOOL_WIN32_DLL.
8126         Reported by Reuben Thomas <rrt@sc3d.org>.
8128 2017-02-08  Paul Eggert  <eggert@cs.ucla.edu>
8130         stddef-tests: port to SIZE_MAX <= INT_MAX
8131         * tests/test-stddef.c: Include <limits.h>, for INT_MAX.
8132         Do not assume that INT_MAX < SIZE_MAX.
8134 2017-02-01  Bruno Haible  <bruno@clisp.org>
8136         lock tests: Fix link error.
8137         * modules/lock-tests (test_rwlock1_LDADD): Add @YIELD_LIB@.
8138         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8140 2017-01-31  Bruno Haible  <bruno@clisp.org>
8142         lock: Fix link error (regression from 2017-01-05).
8143         * lib/glthread/lock.h [USE_POSIX_THREADS_WEAK]: Declare also
8144         pthread_rwlockattr_init, pthread_rwlockattr_setkind_np,
8145         pthread_rwlockattr_destroy weak.
8146         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8148 2017-01-30  Paul Eggert  <eggert@cs.ucla.edu>
8150         Port to PGI 16.10 x86-64
8151         This patch fixes one real bug in gl_anylinked_list2.h, along with
8152         some minor glitches that are not bugs.  It does not silence PGI’s
8153         thousands of bogus warnings when compiling test-intprops.c.
8154         Fortunately, the warnings do not cause a failure.
8155         * lib/c-ctype.h (_C_CTYPE_LOWER_A_THRU_F_N, _C_CTYPE_LOWER_N):
8156         Rename parameter to avoid PGI warning about ‘#define f(n) 'n'’.
8157         My goodness, PGI goes back a long ways - this predates C89!
8158         * lib/gl_anylinked_list2.h (ASYNCSAFE): Fix bug caught by PGI.
8159         For example, ASYNCSAFE (const void *) should expand to
8160         ‘const void *volatile’, not to ‘volatile const void *’.
8161         * lib/spawn.in.h (POSIX_SPAWN_USEVFORK): Don't define if already defined.
8162         * lib/verify.h (verify) [!__GNUC__]:
8163         Use shorter albeit meaningless string to bypass silly compiler limits.
8164         * tests/infinity.h (Infinityf, Infinityd, Infinityl) [__PGI]:
8165         * tests/nan.h (NaNf, NaNd, NaNl):
8166         Use static functions to avoid misguided compiler diagnostics.
8167         Is there some reason we don’t use static functions on all platforms?
8169 2017-01-20  Paul Eggert  <eggert@cs.ucla.edu>
8171         parse-datetime: handle timezones reentrantly
8172         This API change was prompted by a report by Pádraig Brady in:
8173         https://bug.debian.org/851934#10
8174         To help fix the bug, make parse_datetime2 more reentrant.
8175         * NEWS: Document this incompatible change.
8176         * lib/parse-datetime.h, lib/parse-datetime.y (parse_datetime2):
8177         Add two arguments, the timezone and the timezone name.
8178         All callers changed.  If TZ="..." is specified, use it for
8179         calculating defaults.
8180         * lib/parse-datetime.y: Don't include xalloc.h or use xmalloc, as
8181         this code should be usable in a library.
8182         (mktime_ok, get_effective_timezone):
8183         Accept timezone arg too.  All callers changed.
8184         (get_tz): Remove.
8185         (get_effective_timezone): Check for failures.
8187 2017-01-20  Eric Blake  <eblake@redhat.com>
8189         localename: port to cygwin 2.6
8190         * lib/localename.c (gl_locale_name_thread_unsafe): Add clause for
8191         Cygwin.
8192         * modules/localename (Depends-on): Add extensions, since
8193         NL_LOCALE_NAME() is not visible without it.
8195 2017-01-17  Pádraig Brady  <P@draigBrady.com>
8197         parse-datetime: fix dependence on AC_PROG_SED
8198         * modules/parse-datetime: Use `sed` directly like all other modules.
8199         Reported by J William Piggott
8201 2017-01-16  Paul Eggert  <eggert@cs.ucla.edu>
8203         intprops: update doc URLs
8204         * doc/intprops.texi (Integer Range Overflow): Update URLs.
8206 2017-01-16  Bruno Haible  <bruno@clisp.org>
8208         host-cpu-c-abi: Add support for armhf, arm64, x32, s390x.
8209         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Require gl_C_ASM. On x86_64
8210         systems, distinguish x86_64 and x32. On arm systems, distinguish arm,
8211         armhf, arm64, and no longer distinguish arm and armel. On s390x systems,
8212         distinguish s390 and s390x.
8213         * modules/host-cpu-c-abi (Files): Add m4/asm-underscore.m4.
8214         * NEWS: Mention the change regarding 'armel'.
8216 2017-01-15  Paul Eggert  <eggert@cs.ucla.edu>
8218         localeinfo: case_folded_counterparts and WEOF
8219         * NEWS: Document this.
8220         * lib/localeinfo.c (case_folded_counterparts):
8221         First arg is now wint_t, not wchar_t.  This generalizes the
8222         function to also work on WEOF, where it returns 0.
8224         dfa: port to gcc -fsanitize=undefined
8225         * lib/dfa.c (copy): Don’t pass NULL with size 0 to memcpy,
8226         as this runs afoul of gcc -fsanitize=undefined.
8228 2017-01-14  Paul Eggert  <eggert@cs.ucla.edu>
8230         strftime: %z is -00 if unknown
8231         * lib/strftime.c (DO_TZ_OFFSET): Omit arg 'negative'; it's now
8232         the caller's responsibility to set 'negative_number'.  All uses changed.
8233         (__strftime_internal): Put '-' before a zero UTC offset if the time
8234         zone abbreviation starts with "-", which is the recently-introduced
8235         tzdb convention for an unknown UTC offset that is arbitrarily set to 0.
8236         * tests/test-strftime.c: Test for this.
8238 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
8240         dfa: port to older GCC
8241         Problem reported by Assaf Gordon in:
8242         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00103.html
8243         * modules/c99: New module.  This merely attempts to use the latest
8244         C version, which should be enough to solve this particular problem.
8245         The idea is to document which Gnulib modules assume C99 or later.
8246         * modules/dfa (Depends-on): Add it.
8248 2017-01-10  Bruno Haible  <bruno@clisp.org>
8250         Update DEPENDENCIES.
8251         * DEPENDENCIES: List only https URLs. Update recommended version for
8252         autoconf, automake, gperf.
8254 2017-01-10  Jim Meyering  <meyering@fb.com>
8256         maint.mk: enforce spelling of "timestamp" (i.e., no space)
8257         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
8258         disallow /\btime\s+stamps?\b/.  Prefer "timestamp".
8260 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
8262         dfa: minor simplification with emptyset
8263         * lib/dfa.c (build_state): Simplify by using emptyset.
8265 2017-01-09  Paul Eggert  <eggert@cs.ucla.edu>
8267         dfa: shrink constraints from 4 bits to 3
8268         * lib/dfa.c (newline_constraint, letter_constraint)
8269         (other_constraint, prev_newline_dependent)
8270         (prev_letter_dependent, NO_CONSTRAINT, BEGLINE_CONSTRAINT)
8271         (ENDLINE_CONSTRAINT, BEGWORD_CONSTRAINT, ENDWORD_CONSTRAINT)
8272         (LIMWORD_CONSTRAINT, NOTLIMWORD_CONSTRAINT):
8273         Constraints need only 3 bits, not 4.  Using smaller integers
8274         shrinks the code a bit and makes grep a tad faster on x86-64.
8276         dfa: omit unnecessary ptrdiff_t check
8277         * lib/dfa.c (alloc_position_set): Do not worry about ptrdiff_t
8278         overflow, since xnmalloc does that now.
8280         dfa: omit unnecessary allocation
8281         * lib/dfa.c (dfaanalyze): Do not allocate follow set, since
8282         an all-zero follow set works just fine.
8284         dfa: omit unused local
8285         * lib/dfa.c (build_state): Fix up recent change.
8287         maint: remove stray .texi files
8288         Although these were superseded by other files like
8289         doc/posix-functions/ctime.texi, the old files were not removed.
8290         * doc/ctime.texi, doc/inet_ntoa.texi: Remove.
8292 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
8294         getprogname: fix port to IRIX
8295         * lib/getprogname.c (getprogname) [__sgi]:
8296         Don't dump core if malloc returns NULL.
8298         dfa: fix reallocation bug when matching newlines
8299         Problem reported for sed by S. Gilles (Bug#25390).
8300         * lib/dfa.c (realloc_trans_if_necessary): Move earlier.
8301         (dfastate): Reallocate before moving any newline transition ...
8302         (build_state): ... instead of reallocating here, where it is too late.
8304 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
8306         Avoid -Wundef warning about undefined WINDOWS_SOCKETS.
8307         * lib/sockets.h: Test if WINDOWS_SOCKETS is defined.
8309 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
8311         Avoid -Wundef warning about undefined __USE_FILE_OFFSET64.
8312         * lib/glob-libc.h: Test if __USE_FILE_OFFSET64 is defined.
8314 2017-01-07  Bruno Haible  <bruno@clisp.org>
8316         stdioext: Port to Minix 3.2 and newer.
8317         * lib/stdio-impl.h: Treat __minix like the newest NetBSD.
8318         * lib/fseeko.c (fseeko): Likewise.
8319         Reported by Nelson Beebe via Paul Eggert.
8321 2017-01-06  Paul Eggert  <eggert@cs.ucla.edu>
8323         getprogname: port to IRIX
8324         * lib/getprogname.c (getprogname): Port to IRIX.
8325         Based on an idea by Bastien Roucariès at:
8326         http://lists.gnu.org/r/bug-gnulib/2010-12/msg00096.html
8327         via code from Bruno Haible at:
8328         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
8330         localename-tests: port to NetBSD 7
8331         Problem reported by Nelson H. F. Beebe.
8332         * tests/test-localename.c:
8333         Test newlocale and uselocale only if both exist.
8335         glob, intprops, xalloc: work around Clang bug
8336         Work around LLVM bug 16404, which is still not fixed.
8337         https://llvm.org/bugs/show_bug.cgi?id=16404
8338         Problem reported by Nelson H. F. Beebe.
8339         * lib/glob.c, lib/intprops.h, lib/xalloc-oversized.h (__has_builtin):
8340         Remove.
8341         * lib/glob.c (size_add_wrapv):
8342         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW, _GL_HAS_BUILTIN_OVERFLOW_P):
8343         * lib/xalloc-oversized.h (xalloc_oversized):
8344         Do not use overflow builtins if Clang.
8346         dfa: fix 'return' typo
8347         Problem reported by Nelson H. F. Beebe.
8348         * lib/dfa.c (merge): Fix typo that Sun compilers rejected.
8350 2017-01-05  Pádraig Brady  <P@draigBrady.com>
8352         parse-datetime: fix generated paths for coverage files
8353         * modules/parse-datetime: Adjust the paths for parse-datetime.y
8354         within parse-datetime.c, so that gcc generates appropriate .gcno
8355         files, allowing lcov to proceed without error.  Previously it
8356         would error trying to find "lib/lib/parse-datetime.y".
8358 2017-01-05  Pádraig Brady  <P@draigBrady.com>
8360         maint.mk: support parallel execution of coverage
8361         * top/maint.mk (coverage): Run dependencies serially,
8362         thus supporting parallel processing of each one,
8363         particularly build-coverage, which builds and runs tests.
8365 2017-01-05  Bruno Haible  <bruno@clisp.org>
8367         lock tests: Prefer semaphore over mutex.
8368         * tests/test-lock.c (USE_SEMAPHORE): New constant.
8369         (struct atomic_int, init_atomic_int, get_atomic_int_value,
8370         set_atomic_int_value) [USE_SEMAPHORE]: Define using a POSIX semaphore.
8371         Suggested by Torvald Riegel <triegel@redhat.com>.
8373 2017-01-05  Bruno Haible  <bruno@clisp.org>
8375         lock: Provide guarantee to avoid writer starvation for rwlocks.
8376         The rationale is: 1) Read-preferring read-write locks are prone to
8377         writer starvation if the number of reader threads multiplied by the
8378         percentage of time they have the lock held is too high. 2) Write-
8379         preferring read-write locks are the only reliable way to avoid this.
8380         3) There have been reports of 'test-lock' hanging on glibc systems
8381         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00009.html,
8382         and glibc indeed implements read-preferring rwlocks by default, see
8383         http://man7.org/linux/man-pages/man3/pthread_rwlockattr_setkind_np.3.html
8384         and https://sourceware.org/bugzilla/show_bug.cgi?id=13701 .
8385         * m4/pthread_rwlock_rdlock.m4: New file.
8386         * m4/lock.m4 (gl_LOCK): Invoke gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
8387         * lib/glthread/lock.h [USE_POSIX_THREADS]: Test
8388         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
8389         of rwlock initialization on glibc systems without
8390         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
8391         of rwlocks altogether on non-glibc systems without
8392         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
8393         [USE_PTH_THREADS]: Use a different implementation of rwlocks altogether.
8394         * lib/glthread/lock.c [USE_POSIX_THREADS]
8395         (glthread_rwlock_init_for_glibc): New function.
8396         [USE_POSIX_THREADS] (glthread_rwlock_rdlock_multithreaded): Update
8397         comment.
8398         [USE_PTH_THREADS]: New implementation of rwlocks.
8399         [USE_WINDOWS_THREADS] (glthread_rwlock_rdlock_func): Prefer writers over
8400         readers.
8401         * modules/lock (Files): Add m4/pthread_rwlock_rdlock.m4.
8402         (Depends-on): Add 'extensions'.
8403         * tests/test-rwlock1.c: New file.
8404         * lock-tests (Files): Add it.
8405         (Depends-on): Add usleep.
8406         (Makefile.am): Add test-rwlock1 to the tests.
8408 2017-01-05  Bruno Haible  <bruno@clisp.org>
8410         thread: Fix pth port.
8411         * lib/glthread/thread.h (pth_init): Declare weak.
8412         (glthread_create, glthread_sigmask, glthread_join, gl_thread_self,
8413         gl_thread_exit): Make sure Pth is initialized before invoking any Pth
8414         function.
8416 2017-01-04  Assaf Gordon  <assafgordon@gmail.com>
8418         parse-datetime: fix debug message on lone year number
8419         Input dates such as
8420           date -d "Apr 11 22:59:00 2011"
8421         are parsed as date (Apr 11, with default year 2016), then time, then a
8422         number (2011). Based on the combination of previously seen tokens,
8423         'digits_to_date_time' determines 2011 to be a year value.
8424         This fixes the debug messages to correctly show the updated year.
8425         Before:
8426             $ date --debug -d 'Apr 11 22:59:00 2011'
8427             date: parsed date part: (Y-M-D) 2016-04-11
8428             date: parsed time part: 22:59:00
8429             date: parsed number part: today/this/now
8430         After:
8431             $ ./src/date --debug -d 'Apr 11 22:59:00 2011'
8432             date: parsed date part: (Y-M-D) 2016-04-11
8433             date: parsed time part: 22:59:00
8434             date: parsed number part: year: 2011
8435         * lib/parse-datetime.y (struct parser_control): Add 'year_seen',
8436         'debug_year_seen' member fields.
8437         (digits_to_date_time): Update 'year_seen' as needed.
8438         (debug_print_current_time): Inform about year updates.
8439         (parse_datetime2): Initialize year_seen,debug_year_seen member fields.
8441         parse-datetime: fix local timezone debug messages
8442         "Local timezones" are strings that affect only DST relative to the
8443         default timezone. The debug messages in parse-datetime.y printed
8444         wrong information when encountering local timezones.
8445         Examples:
8446         Here EET/EEST are time zones ('zone' token, with values +02:00/+03:00):
8447              TZ=Asia/Tokyo ./src/date --debug -d '2011-12-11 EET'
8448              TZ=Asia/Tokyo ./src/date --debug -d '2011-06-11 EEST'
8449         When the default timezone relates to the zone strings, EET/EEST are
8450         parsed as local timezones (tLOCAL_ZONE), and only change the DST
8451         value (0/1, respectively):
8452              TZ=Europe/Helsinki ./src/date --debug -d '2011-12-11 EET'
8453              TZ=Europe/Helsinki ./src/date --debug -d '2011-06-11 EEST'
8454         * lib/parse-datetime.y (debug_print_current_time): If local timezone
8455         was seen, inform about DST change, don't print actual timezone.
8456         (debug_strfdatetime): If local timezone was seen, use default timezone
8457         (and adjust as needed) instead of using incorrect timezone.
8458         (parse_datetime2): Use correct time-zone source string, and adjust
8459         default timezone as needed.
8461         parse-datetime: add debug warning about DST changes
8462         Incorrect date arithmetic due to daylight saving time (DST) are a
8463         common (false) bug report in coreutils.
8464         Detect two such cases and print a warning:
8465         1. year/month/day adjustments (performed on 'struct tm'),
8466            where 'mktime' returns a different isdst value.
8467         2. hour/minute/seconds/ns adjustments (performed on 'time_t'),
8468            where the result of 'localtime(3)' on the value will return a
8469            different isdst value.
8470         Note: DST changes could be harmless or unnoticeable.
8471         Examples (with 'TZ=America/New_York'):
8472         Unnoticeable: result is 2016-Dec-14
8473            $ date -d '2016-06-15 EDT + 6 months' +%b
8474            Dec
8475         Unnoticeable: result is 2016-Dec-15 11:00:00
8476            $ date -d '2016-06-15 12:00:00 EDT + 6 months' +%F
8477            2016-12-15
8478         This is unexpected:
8479            $ date -d '2016-06-01 EDT + 6 months' +%F
8480            2016-11-30
8481         The new debug warnings will show:
8482            $ ./src/date --debug -d '2016-06-01 EDT + 6 months' +%F
8483            ...
8484            date: warning: daylight saving time changed after date adjustment
8485            ...
8486         * lib/parse-datetime.y (parse_datetime2): Detect DST changes, and
8487         print an appropriate warning message.
8489         parse-datetime: add debug warning about date arithmetic
8490         Date arithmetic are done directly on the fields of 'struct tm',
8491         which can result in invalid dates. Normalization with 'mktime(3)'
8492         will then produce a different date - which might cause unexpected
8493         results.
8494         Examples:
8495           '2016-10-31 - 1 month' => 2016-09-31 normalized to 2016-10-01.
8496           '2016-02-29 + 1 year'  => 2017-02-29 normalized to 2017-03-01.
8497         Note that date normalization is not inherently wrong and not rejected,
8498         as it has legitimate uses:
8499           '2016-12-29 + 5 days' => 2016-12-34 noramlized to 2017-01-03.
8500         If the user asked to adjust months but 'mday' changed,
8501         or user asked to adjust years but 'month' changed - warn about it.
8502             $ ./src/date --debug -d '2016-10-31 - 1 month'
8503             ...
8504             date: warning: when adding relative months/years, \
8505                            it is recommended to specify the 15th of the month
8506             ...
8507             date: warning: month/year adjustment resulted in shifted dates:
8508             date:      adjusted Y M D: 2016 09 31
8509             date:    normalized Y M D: 2010 10 01
8510             ...
8511         * lib/parse-datetime.y (parse_datetime2): Detect such cases and print
8512         a warning message. Improve recommendation of when to use 15 of the
8513         month or noon for date arithmetic.
8515         parse-datetime: fix debug message of relative part after timezone
8516         Relative part (e.g '+8 days') after a timezone string was not
8517         reported (was only reported after a timezone number). Due to the
8518         parser's structure, timezone strings with numbers were handled
8519         separately.
8520         before:
8521              # Timezone number + relative part: OK
8522              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 +00:00 -8 days'
8523              ...
8524              date: parsed relative part: -8 day(s)
8525              # Timezone string + relative part: missing
8526              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 UTC -8 days'
8527              [ missing message ]
8528         After: messages are printed in both cases.
8529         * lib/parse-datetime.y ('zone' token): Call debug_print_relative_time.
8531         parse-datetime: fix incorrect debug message on lone number
8532         A lone number is an absolute value, not a relative time part.
8533         before:
8534            $ date --debug -d '20130101'
8535            date: parsed number part: today/this/now
8536         After:
8537            $ ./src/date --debug -d '20130101'
8538            date: parsed number part: (Y-M-D) 2013-01-01
8539         * lib/parse-datetime.y ('item'/'number' tokens): Call
8540         'debug_print_current_time' instead of 'debug_print_relative_time'.
8542 2017-01-02  Paul Eggert  <eggert@cs.ucla.edu>
8544         doc: modernize for C11 etc.
8545         * doc/gnulib-readme.texi (Portability guidelines): Modernize a bit
8546         for C11, MinGW, etc.  This responds to Paul Smith's question in:
8547         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00014.html
8549         dfa: prefer functions to FETCH_WC macro
8550         * lib/dfa.c (FETCH_WC): Remove, replacing with ...
8551         (fetch_wc, bracket_fetch_wc): ... new functions.  These store the
8552         wint_t result into DFA->lex.wctok instead of to a separate arg.
8553         All callers changed.  Move more local decls closer to where
8554         they're used.
8556         dfa: narrow more local var scopes
8557         * lib/dfa.c: Move more local decls to be more local.
8559         dfa: remove duplicate assignment
8560         Problem reported by Bruno Haible in:
8561         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00007.html
8562         * lib/dfa.c (parse_bracket_exp): Simplify.
8564 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
8566         dfa: simplify constraint-dependency checking
8567         * lib/dfa.c (prev_newline_constraint, prev_letter_constraint)
8568         (prev_other_constraint): Remove.
8569         (prev_newline_dependent, prev_letter_dependent):
8570         Simplify, to avoid an unnecessary bitwise AND operation.
8572         dfa: prefer functions and constants to macros
8573         * lib/dfa.c: Prefer constants to macros where either will do.
8574         (streq, isasciidigit, newline_constraint)
8575         (letter_constraint, other_constraint, succeeds_in_context)
8576         (prev_newline_constraint, prev_letter_constraint)
8577         (prev_other_constraint, prev_newline_dependent)
8578         (prev_letter_dependent, accepting, accepts_in_context):
8579         Now static functions instead of function-like macros.
8580         Use lower-case names accordingly.  All uses changed.
8582         dfa: narrow more local var scopes
8583         * lib/dfa.c: Move some more local decls down to nearer where
8584         they're needed.
8586 2016-12-31  Jim Meyering  <meyering@fb.com>
8588         dfa: narrow the scope of many local variables
8589         * lib/dfa.c: Now that we are no longer constrained to c89, move
8590         declarations of many variables (often indices) "down" into the
8591         scope(s) where used or to the point of definition.  This is a
8592         no-semantic-change diff.
8594 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
8596         version-etc: new year
8597         * build-aux/gendocs.sh (version):
8598         * doc/gendocs_template:
8599         * doc/gendocs_template_min:
8600         * doc/gnulib.texi:
8601         * lib/version-etc.c (COPYRIGHT_YEAR):
8602         Update copyright dates by hand in templates and the like.
8603         * all files: Run 'make update-copyright'.
8605 2016-12-31  Eric Blake  <eblake@redhat.com>
8607         do-release-commit-and-tag: avoid shell syntax error
8608         * build-aux/do-release-commit-and-tag (curr_br): $branch can
8609         contain spaces when rebasing.
8611         maint.mk: hoist gnulib_dir definition earlier
8612         * top/maint.mk (gnulib_dir): Move near top of file.
8614 2016-12-31  Jim Meyering  <meyering@fb.com>
8616         maint.mk: do not always evaluate intprops-related shell
8617         * top/maint.mk (_intprops_names): Change := to just "=" to avoid
8618         using gnulib_dir undefined (gnulib_dir is defined later in the
8619         file, which will be fixed separately), and besides, there is no
8620         need to incur the cost of this shell invocation for every single
8621         use of this .mk file.  Reported by Eric Blake in
8622         https://lists.gnu.org/r/bug-gnulib/2016-12/msg00137.html
8624 2016-12-30  Jim Meyering  <meyering@fb.com>
8626         maint.mk: improve sc_prohibit_intprops_without_use
8627         * top/maint.mk (_intprops_names): Don't hard-code the list of
8628         symbol names.  Instead, derive it on the fly.
8630 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
8632         dfa: shorten sbit, success
8633         * lib/dfa.c (struct regex_syntax.sbit):
8634         (struct dfa.success): Use char, not int, for array elements, since
8635         they are all in the range 0..7.
8637         dfa: simplify multibyte_prop etc.
8638         This follows up on a change made when dfa.c was in grep, namely grep
8639         commit c797046c7c13c2647182b919a79a4c5b4ecf82b1
8640         dated 2015-08-12 07:35:03 -0700, which removed unused multibyte support.
8641         That earlier simplification allows for some more simplification
8642         and trimming down here.
8643         * lib/dfa.c (struct mb_char_classes): New member nchars_alloc.
8644         (struct lexer_state): New mamber brack.
8645         (struct dfa, addtok_mb): multibyte_prop elements are now char, not int,
8646         since they must be in the range 0..3 now.
8647         Remove members mbcsets, nmbcsets, mbcsets_alloc, since
8648         the brack member now supersedes them.
8649         (parse_bracket_exp): Update dfa->lex.brack instead of dfa->mbcsets.
8650         (addtok): Use dfa->lex.brack instead of dfa->mbcsets.
8651         (dfaparse): Remove unnecessary initializations of already-0 storage.
8652         (free_mbdata): Free d->lex.brack.chars instead of d->mbcsets.
8653         (dfassbuild): No need to clear sup->mbcsets.
8655         dfa: minor performance tweak
8656         * lib/dfa.c (setbit_wc): Test < 0, not == EOF.
8658         dfa: wrap charclass inside a struct
8659         On my platform (gcc Ubuntu 5.4.0-6ubuntu1~16.04.4 x86-64,
8660         en_US.utf8 locale) this makes 'grep -Fi -f list.txt list.txt >out'
8661         about 5% faster, where list.txt is generated by 'aspell dump
8662         master | head -n 100000 >list.txt'.  See Bug#22239.
8663         * lib/dfa.c (charclass): Wrap inside a struct.  All uses changed.
8664         (CHARCLASS_INIT, tstbit, setbit, clrbit, zeroset, fillset, notset)
8665         (equal, emptyset, charclass_index, setbit_wc, setbit_case_fold_c):
8666         Adjust to this, e.g., by using charclass * rather than charclass.
8667         All callers changed as needed.
8668         (copyset): Remove.  All uses changed to simple assignment.
8669         (parse_bracket_exp): Use zeroset instead of memset.
8671 2016-12-30  Jim Meyering  <meyering@fb.com>
8673         maint.mk: update list of intprops.h symbol names
8674         * top/maint.mk (_intprops_names): Regenerate the list of symbol names.
8675         This avoids a false failure of the sc_prohibit_intprops_without_use
8676         rule in grep.
8678 2016-12-29  Eric Blake  <eblake@redhat.com>
8680         getopt: fix parallel test failure
8681         * tests/test-getopt-posix.c (TEST_GETOPT_TMP_NAME): Set name.
8682         * tests/test-getopt-gnu.c (TEST_GETOPT_TMP_NAME): Likewise.
8683         * tests/test-getopt-main.h (main): Use different file names
8684         in case test-getopt-gnu and test-getopt-posix run in parallel.
8686 2016-12-29  Paul Eggert  <eggert@cs.ucla.edu>
8688         xalloc: x2nrealloc check for ptrdiff_t overflow
8689         * lib/xalloc.h (x2nrealloc): Check for ptrdiff_t overflow, too.
8690         * modules/xalloc, modules/xvasprintf (Depends-on): Add stdint.
8692 2016-12-24  Bruno Haible  <bruno@clisp.org>
8694         lock test: Fix performance problem on multi-core machines.
8695         * tests/test-lock.c (USE_VOLATILE): New macro.
8696         (struct atomic_int): New type.
8697         (init_atomic_int, get_atomic_int_value, set_atomic_int_value): New
8698         functions.
8699         (lock_checker_done, rwlock_checker_done, reclock_checker_done): Define
8700         as 'struct atomic_int'.
8701         (lock_checker_thread, test_lock, rwlock_checker_thread, test_rwlock,
8702         reclock_checker_thread, test_recursive_lock): Use the new functions.
8703         Reported by Eric Blake in
8704         https://www.redhat.com/archives/libvir-list/2012-March/msg00854.html
8705         and by Pádraig Brady in
8706         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00117.html.
8708 2016-12-19  Bruno Haible  <bruno@clisp.org>
8710         vma-iter: Fix endless loop on 64-bit Windows.
8711         * lib/vma-iter.c (vma_iterate): On Windows, use 'uintptr_t' instead of
8712         'unsigned long'.
8714 2016-12-19  Bruno Haible  <bruno@clisp.org>
8716         stdint: Fix WINT_MAX to match the gnulib provided wint_t on minw.
8717         * m4/wint_t.m4 (gt_TYPE_WINT_T): Define GNULIB_OVERRIDES_WINT_T here.
8718         * m4/stdint.m4 (gl_STDINT_H): Don't define GNULIB_OVERRIDES_WINT_T.
8719         Invoke gt_TYPE_WINT_T instead.
8720         (gl_STDINT_TYPE_PROPERTIES): Test GNULIB_OVERRIDES_WINT_T.
8721         * modules/stdint (Files): Add m4/wint_t.m4.
8722         * modules/wchar (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
8723         * modules/wctype-h (Makefile.am): Likewise.
8724         * lib/wchar.in.h (wint_t): Override if GNULIB_OVERRIDES_WINT_T is set,
8725         not only on MSVC.
8726         * lib/wctype.in.h (wint_t): Likewise.
8728 2016-12-19  Paul Eggert  <eggert@cs.ucla.edu>
8730         getopt-posix-tests: fix Makefile typo
8731         * modules/getopt-posix-tests (test_getopt_posix_LDADD):
8732         Fix typo: the last ‘_’ was missing in the name.
8733         I suspect that the typo explains this build failure:
8734         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/39
8735         although I can’t reproduce the problem on Solaris 10 sparc.
8737 2016-12-18  Paul Eggert  <eggert@cs.ucla.edu>
8739         dfa: improve worst-case 'replace' performance
8740         See my note in Bug#22357#71.
8741         * lib/dfa.c (insert, delete): Rework to avoid duplicate test.
8742         (merge_constrained): New function, which is like
8743         the old 'merge' function, except with a new argument C2.
8744         Simplify the body by avoiding the need for different sections
8745         of code depending on whether one input is exhausted.
8746         (merge): Use the new function.
8747         (delete): Return the constraint of the deleted position,
8748         not the entire position.  Caller changed.
8749         (replace): Change from O(N*(N + log N)) to O(N log N) algorithm.
8751 2016-12-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
8753         dfa: performance improvement for removal of epsilon closure
8754         See Bug#22357#32.
8755         * lib/dfa.c (delete): Use binary search to find deleted index.
8756         (replace): New function.  It replaces a position with the followed set.
8757         (epsclosure): Replace it with a new algorithm.  Update caller.
8759 2016-12-18  Bruno Haible  <bruno@clisp.org>
8761         Split tests for getopt-posix and getopt-gnu.
8762         * tests/test-getopt-posix.c: New file.
8763         * tests/test-getopt-gnu.c: New file, with code from test-getopt.c.
8764         * tests/test-getopt-main.h: Renamed from tests/test-getopt.c. Remove
8765         stuff moved to test-getopt-gnu.c. Test TEST_GETOPT_GNU instead of
8766         GNULIB_TEST_GETOPT_GNU.
8767         * modules/getopt-posix-tests (Files): Add test-getopt-posix.c,
8768         test-getopt-main.h. Remove test-getopt.c, test-getopt_long.h.
8769         (Makefile.am): Test test-getopt-posix instead of test-getopt.
8770         * modules/getopt-gnu-tests: New file.
8771         * modules/getopt-gnu (configure.ac): Don't define GNULIB_TEST_GETOPT_GNU.
8773 2016-12-18  Bruno Haible  <bruno@clisp.org>
8775         posix-modules: Add options for specific platforms.
8776         * posix-modules (func_usage): Document options --for-mingw, --for-msvc.
8777         (exclude_for_mingw, exclude_for_msvc, exclude): New variables.
8778         Invoke func_tmpdir. Filter out the excludes.
8780 2016-12-18  Bruno Haible  <bruno@clisp.org>
8782         getopt: Fix link error for users of getopt() in <unistd.h>.
8783         * lib/getopt.in.h (getopt etc.): Do the macro definitions also when
8784         __need_getopt is defined. Undefine all macros before defining them.
8785         * modules/getopt (Include): Clarify that including <unistd.h> is also
8786         OK.
8787         * tests/test-getopt.c: Add comment.
8789 2016-12-17  Bruno Haible  <bruno@clisp.org>
8791         getaddrinfo tests: Avoid compilation error on MSVC.
8792         * tests/test-getaddrinfo.c: Don't check the prototypes of freeaddrinfo,
8793         getaddrinfo on native Windows.
8795 2016-12-17  Bruno Haible  <bruno@clisp.org>
8797         getlogin, getlogin_r: Fix link errors on MSVC.
8798         * m4/getlogin.m4 (gl_LIB_GETLOGIN): New macro.
8799         * modules/getlogin (configure.ac): Require gl_LIB_GETLOGIN.
8800         (Link): New section.
8801         * modules/getlogin_r (Files): Add m4/getlogin.m4.
8802         (configure.ac): Require gl_LIB_GETLOGIN.
8803         (Link): New section.
8804         * NEWS: Mention the new link requirements.
8805         * modules/getlogin-tests (test_getlogin_LDADD): New variable.
8806         * modules/getlogin_r-tests (test_getlogin_r_LDADD): New variable.
8808 2016-12-17  Bruno Haible  <bruno@clisp.org>
8810         Un-deprecate the 'progname' module.
8811         * NEWS: Describe the appropriate use-cases of 'progname' versus
8812         'getprogname'. Based on discussion summary at
8813         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00105.html
8815 2016-12-17  Bruno Haible  <bruno@clisp.org>
8817         Reorganize NEWS a bit.
8818         * NEWS: Move some not so important changes away from section
8819         "Important Notes".
8821 2016-12-17  Bruno Haible  <bruno@clisp.org>
8823         tanhf: Avoid redefinition error on MSVC.
8824         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANHF.
8825         * m4/tanhf.m4 (gl_FUNC_TANHF): Set REPLACE_TANHF to 1 if the function
8826         may be defined as an inline function.
8827         * modules/math (Makefile.am): Substitute REPLACE_TANHF.
8828         * lib/math.in.h (tanhf): Override if REPLACE_TANHF is 1.
8830 2016-12-17  Bruno Haible  <bruno@clisp.org>
8832         tanf: Avoid redefinition error on MSVC.
8833         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANF.
8834         * m4/tanf.m4 (gl_FUNC_TANF): Set REPLACE_TANF to 1 if the function
8835         may be defined as an inline function.
8836         * modules/math (Makefile.am): Substitute REPLACE_TANF.
8837         * lib/math.in.h (tanf): Override if REPLACE_TANF is 1.
8839 2016-12-17  Bruno Haible  <bruno@clisp.org>
8841         sqrtf: Avoid redefinition error on MSVC.
8842         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SQRTF.
8843         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Set REPLACE_SQRTF to 1 if the function
8844         may be defined as an inline function.
8845         * modules/math (Makefile.am): Substitute REPLACE_SQRTF.
8846         * lib/math.in.h (sqrtf): Override if REPLACE_SQRTF is 1.
8848 2016-12-17  Bruno Haible  <bruno@clisp.org>
8850         sinhf: Avoid redefinition error on MSVC.
8851         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINHF.
8852         * m4/sinhf.m4 (gl_FUNC_SINHF): Set REPLACE_SINHF to 1 if the function
8853         may be defined as an inline function.
8854         * modules/math (Makefile.am): Substitute REPLACE_SINHF.
8855         * lib/math.in.h (sinhf): Override if REPLACE_SINHF is 1.
8857 2016-12-17  Bruno Haible  <bruno@clisp.org>
8859         sinf: Avoid redefinition error on MSVC.
8860         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINF.
8861         * m4/sinf.m4 (gl_FUNC_SINF): Set REPLACE_SINF to 1 if the function
8862         may be defined as an inline function.
8863         * modules/math (Makefile.am): Substitute REPLACE_SINF.
8864         * lib/math.in.h (sinf): Override if REPLACE_SINF is 1.
8866 2016-12-17  Bruno Haible  <bruno@clisp.org>
8868         logf: Avoid redefinition error on MSVC.
8869         * m4/logf.m4 (gl_FUNC_LOGF): Set REPLACE_LOGF to 1 if the function
8870         may be defined as an inline function.
8872 2016-12-17  Bruno Haible  <bruno@clisp.org>
8874         log10l: Avoid redefinition error on MSVC.
8875         * m4/log10l.m4 (gl_FUNC_LOG10L): Set REPLACE_LOG10L to 1 if the function
8876         may be defined as an inline function.
8878 2016-12-17  Bruno Haible  <bruno@clisp.org>
8880         log10f: Avoid redefinition error on MSVC.
8881         * m4/log10f.m4 (gl_FUNC_LOG10F): Set REPLACE_LOG10F to 1 if the function
8882         may be defined as an inline function.
8884 2016-12-17  Bruno Haible  <bruno@clisp.org>
8886         hypotl: Avoid redefinition error on MSVC.
8887         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Set REPLACE_HYPOTL to 1 if the function
8888         may be defined as an inline function.
8890 2016-12-17  Bruno Haible  <bruno@clisp.org>
8892         hypotf: Avoid redefinition error on MSVC.
8893         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Set REPLACE_HYPOTF to 1 if the function
8894         may be defined as an inline function.
8896 2016-12-17  Bruno Haible  <bruno@clisp.org>
8898         fmodl: Avoid redefinition error on MSVC.
8899         * m4/fmodl.m4 (gl_FUNC_FMODL): Set REPLACE_FMODL to 1 if the function
8900         may be defined as an inline function.
8902 2016-12-17  Bruno Haible  <bruno@clisp.org>
8904         fmodf: Avoid redefinition error on MSVC.
8905         * m4/fmodf.m4 (gl_FUNC_FMODF): Set REPLACE_FMODF to 1 if the function
8906         may be defined as an inline function.
8908 2016-12-17  Bruno Haible  <bruno@clisp.org>
8910         expf: Avoid redefinition error on MSVC.
8911         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_EXPF.
8912         * m4/expf.m4 (gl_FUNC_EXPF): Set REPLACE_EXPF to 1 if the function
8913         may be defined as an inline function.
8914         * modules/math (Makefile.am): Substitute REPLACE_EXPF.
8915         * lib/math.in.h (expf): Override if REPLACE_EXPF is 1.
8917 2016-12-17  Bruno Haible  <bruno@clisp.org>
8919         coshf: Avoid redefinition error on MSVC.
8920         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSHF.
8921         * m4/coshf.m4 (gl_FUNC_COSHF): Set REPLACE_COSHF to 1 if the function
8922         may be defined as an inline function.
8923         * modules/math (Makefile.am): Substitute REPLACE_COSHF.
8924         * lib/math.in.h (coshf): Override if REPLACE_COSHF is 1.
8926 2016-12-17  Bruno Haible  <bruno@clisp.org>
8928         cosf: Avoid redefinition error on MSVC.
8929         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSF.
8930         * m4/cosf.m4 (gl_FUNC_COSF): Set REPLACE_COSF to 1 if the function
8931         may be defined as an inline function.
8932         * modules/math (Makefile.am): Substitute REPLACE_COSF.
8933         * lib/math.in.h (cosf): Override if REPLACE_COSF is 1.
8935 2016-12-17  Bruno Haible  <bruno@clisp.org>
8937         atan2f: Avoid redefinition error on MSVC.
8938         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATAN2F.
8939         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Set REPLACE_ATAN2F to 1 if the function
8940         may be defined as an inline function.
8941         * modules/math (Makefile.am): Substitute REPLACE_ATAN2F.
8942         * lib/math.in.h (atan2f): Override if REPLACE_ATAN2F is 1.
8944 2016-12-17  Bruno Haible  <bruno@clisp.org>
8946         atanf: Avoid redefinition error on MSVC.
8947         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATANF.
8948         * m4/atanf.m4 (gl_FUNC_ATANF): Set REPLACE_ATANF to 1 if the function
8949         may be defined as an inline function.
8950         * modules/math (Makefile.am): Substitute REPLACE_ATANF.
8951         * lib/math.in.h (atanf): Override if REPLACE_ATANF is 1.
8953 2016-12-17  Bruno Haible  <bruno@clisp.org>
8955         asinf: Avoid redefinition error on MSVC.
8956         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ASINF.
8957         * m4/asinf.m4 (gl_FUNC_ASINF): Set REPLACE_ASINF to 1 if the function
8958         may be defined as an inline function.
8959         * modules/math (Makefile.am): Substitute REPLACE_ASINF.
8960         * lib/math.in.h (asinf): Override if REPLACE_ASINF is 1.
8962 2016-12-17  Bruno Haible  <bruno@clisp.org>
8964         acosf: Avoid redefinition error on MSVC.
8965         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ACOSF.
8966         * m4/acosf.m4 (gl_FUNC_ACOSF): Set REPLACE_ACOSF to 1 if the function
8967         may be defined as an inline function.
8968         * modules/math (Makefile.am): Substitute REPLACE_ACOSF.
8969         * lib/math.in.h (acosf): Override if REPLACE_ACOSF is 1.
8971 2016-12-17  Bruno Haible  <bruno@clisp.org>
8973         Avoid redefinition errors on MSVC.
8974         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): Set REPLACE_SNPRINTF to 1 if
8975         the function may be defined as an inline function.
8976         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): Set REPLACE_VSNPRINTF to 1 if
8977         the function may be defined as an inline function.
8979 2016-12-17  Bruno Haible  <bruno@clisp.org>
8981         Avoid redefinition errors on MSVC.
8982         * lib/stdio.in.h: Include <stdlib.h> and <io.h> when necessary.
8983         * lib/unistd.in.h: Include <stdio.h> when necessary.
8985 2016-12-17  Bruno Haible  <bruno@clisp.org>
8987         stdint: Fix WINT_MAX to match the gnulib provided wint_t on MSVC.
8988         * m4/stdint.m4 (gl_STDINT_H): Define GNULIB_OVERRIDES_WINT_T.
8989         * modules/stdint (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
8990         * lib/stdint.in.h [GNULIB_OVERRIDES_WINT_T]: Redefine WINT_MIN and
8991         WINT_MAX.
8993 2016-12-17  Bruno Haible  <bruno@clisp.org>
8995         Avoid autoconf warning.
8996         * modules/frexpl (configure.ac): Require, not invoke, gl_FUNC_FREXPL.
8997         * modules/frexp (configure.ac): Require, not invoke, gl_FUNC_FREXP.
8999 2016-12-17  Bruno Haible  <bruno@clisp.org>
9001         fpending: Revert workaround against Emacs bug.
9002         * lib/stdio-impl.h [__MINGW32__]: Revert conditional.
9003         The Emacs bug is fixed by Eli Zaretskii in
9004         http://lists.gnu.org/r/emacs-devel/2016-12/msg00715.html
9006 2016-12-17  Bruno Haible  <bruno@clisp.org>
9008         getlogin_r tests: Port to mingw.
9009         * tests/test-getlogin_r.c: Don't include <pwd.h> on native Windows. Fixes
9010         regression introduced on 2014-05-19.
9012 2016-12-17  Bruno Haible  <bruno@clisp.org>
9014         getlogin: Port to newer mingw.
9015         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_GETLOGIN.
9016         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Set HAVE_DECL_GETLOGIN.
9017         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETLOGIN, not
9018         HAVE_GETLOGIN.
9019         * lib/unistd.in.h (getlogin): Test HAVE_DECL_GETLOGIN, not
9020         HAVE_GETLOGIN.
9021         * doc/posix-functions/getlogin.texi: Mention the issue.
9022         * tests/test-getlogin.c: Don't include <pwd.h> on native Windows. Fixes
9023         regression introduced on 2014-05-14.
9025 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
9027         builtin-expect: improve port to IBM XL C
9028         Problem reported for z/OS by Daniel Richard G. in:
9029         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00079.html
9030         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
9031         Test for <builtins.h> directly.
9033         builtin-expect: port to IBM XL C
9034         Problem reported for z/OS by Daniel Richard G. in:
9035         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00074.html
9036         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
9037         Also allow __builtin_expect defined via a standard include file.
9039         regex: fix dependency
9040         Problem reported by Bruno Haible in:
9041         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00073.html
9042         * modules/regex: Depend on builtin-expect.
9044         builtin-expect: new module
9045         Fix fnmatch to use it.
9046         Problem reported for z/OS by Daniel Richard G.
9047         * lib/fnmatch.c (__builtin_expect):
9048         * lib/glob.c (__builtin_expect):
9049         * lib/grantpt.c (__builtin_expect) [!_LIBC]:
9050         * lib/memmem.c (__builtin_expect) [!_LIBC]:
9051         * lib/scandir.c (__builtin_expect):
9052         * lib/strstr.c (__builtin_expect) [!_LIBC]:
9053         Remove macro; config.h now does this.
9054         * lib/gl_anytreehash_list1.h (add_to_bucket):
9055         * lib/regex_internal.h (BE):
9056         Assume __builtin_expect.
9057         * m4/builtin-expect.m4, modules/builtin-expect: New files.
9058         * modules/avltreehash-list, modules/fnmatch, modules/glob:
9059         * modules/grantpt, modules/memmem-simple, modules/rbtreehash-list:
9060         * modules/scandir, modules/strstr-simple:
9061         Depend on builtin-expect.
9063 2016-12-15  Bruno Haible  <bruno@clisp.org>
9065         init.sh: Add possibility to not delete temporary files.
9066         * tests/init.sh (remove_tmp_): If the environment variable KEEP is set
9067         to yes, don't erase the temporary directory.
9069 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
9071         regex: fix integer-overflow bug in never-used code
9072         Problem reported by Clément Pit–Claudel in:
9073         http://lists.gnu.org/r/emacs-devel/2016-12/msg00654.html
9074         * lib/regex_internal.h: Include intprops.h.
9075         * lib/regexec.c (re_search_2_stub): Use it to avoid undefined
9076         behavior on integer overflow.
9077         * modules/regex (Depends-on): Add intprops.
9079         fpending: fix port to MinGW on Emacs
9080         * lib/stdio-impl.h [__MINGW32__]: Do not include errno.h.
9081         Problem reported by Eli Zaretskii in:
9082         http://lists.gnu.org/r/emacs-devel/2016-12/msg00642.html
9083         Is Plan 9 still a valid porting target, anyway?
9085 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
9087         safe-alloc: use xalloc-oversized
9088         * lib/safe-alloc.c: Include xalloc-oversized.h.
9089         (safe_alloc_oversized): Remove.  All uses changed to xalloc_oversized.
9090         * modules/safe-alloc (Depends-on): Add xalloc-oversized.
9092         xalloc: do not exceed PTRDIFF_MAX
9093         * lib/xmalloc.c (xcalloc) [HAVE_GNU_CALLOC]: Do not omit
9094         xalloc_oversized check, since objects larger than PTRDIFF_MAX
9095         bytes have pointer-subtraction problems.
9097         malloca: do not exceed PTRDIFF_MAX
9098         * lib/malloca.h: Include xalloc-oversized.
9099         (nmalloca): Use xalloc_oversized instead of rolling our own.
9100         * modules/malloca (Depends-on):
9101         * modules/relocatable-prog-wrapper (Depends-on):
9102         Add xalloc-oversized.
9104         quotearg: pacify GCC better
9105         * modules/quotearg (Depends-on): Add minmax, stdint.
9106         * lib/quotearg.c: Include minmax.h, stdint.h.
9107         (nslots): Now int, as there seems little point to going to extra
9108         work merely to support the INT_MAX slot, which nobody ever uses.
9109         (quotearg_n_options): Redo size-overflow checks to pacify GCC
9110         and to catch (mostly-theoretical) ptrdiff_t problems too.
9111         This can be done via one comparison.
9113 2016-12-14  Paul Eggert  <eggert@cs.ucla.edu>
9115         xalloc-oversized: check for PTRDIFF_MAX too
9116         This avoids undefined behavior when subtracting pointers to
9117         objects containing more than PTRDIFF_MAX bytes.
9118         * lib/xalloc-oversized.h (__xalloc_oversized, xalloc_oversized):
9119         Also return 1 if the result would exceed PTRDIFF_MAX>
9120         * modules/xalloc-oversized (Depends-on):
9121         Add stdint.
9123         dfa: fix glitches in previous commit
9124         Sorry, I don't know how I managed to commit the wrong version.
9125         * lib/dfa.c (MIN): Move up.
9126         (xpalloc): Now static.
9128         dfa: fix some unlikely integer overflows
9129         I found these while reviewing the recent Coverity-related fix.
9130         This patch changes part of dfa.c to prefer ptrdiff_t instead of
9131         size_t for object counts.  Using ptrdiff_t is the style typically
9132         used in Emacs; although it wastes a sign bit as sizes can never be
9133         negative, it makes -fsanitize=undefined more likely to catch
9134         integer overflows in index calculation, and nowadays the upside is
9135         typically more important than the downside.  Although perhaps the
9136         rest of dfa.c should be changed to prefer ptrdiff_t as well (much
9137         of dfa.c already does, since it uses state_num which is signed),
9138         that is a bigger change and is not needed to fix the bugs I found.
9139         * lib/dfa.c: Include stdint.h and intprops.h.
9140         (TOKEN_MAX): New macro.
9141         (position_set, struct mb_char_classes, struct dfa, maybe_realloc)
9142         (charclass_index, parse_bracket_exp, addtok, insert, merge)
9143         (realloc_trans_if_necessary, free_mbdata):
9144         Use ptrdiff_t instead of size_t for object counts related to xpalloc.
9145         This is safe because xpalloc checks that the sizes do not exceed
9146         either SIZE_MAX or PTRDIFF_MAX.
9147         (xpalloc): New function, mostly taken from Emacs.
9148         (maybe_realloc, copy, realloc_trans_if_necessary): Use it.
9149         (maybe_realloc): Add NITEMS_MAX to signature.  All callers changed.
9150         (charclass_index): Check for integer overflow in computing
9151         charclass index; it must not exceed TOKEN_MAX - CSET, as CSET is
9152         added to it later.
9153         (alloc_position_set): Check for integer overflow.  On typical
9154         platforms this check has zero overhead, since the constant
9155         expression is false.
9156         (realloc_trans_if_necessary):
9157         Remove assertion, which I hope Coverity no longer needs.
9159         * modules/dfa (Depends-on): Add intprops, stdint.
9161 2016-12-12  Jim Meyering  <meyering@fb.com>
9163         dfa: add an assertion to avoid coverity false positive
9164         * lib/dfa.c (realloc_trans_if_necessary): Otherwise, coverity
9165         warned that "newalloc1 - 2" could overflow.
9167 2016-12-13   Arnold D. Robbins  <arnold@skeeve.com>
9169         dfa: remove DFA_CASE_FOLD flag in favor of RE_ICASE
9170         * dfa.h (DFA_CASE_FOLD): Remove.
9171         * dfa.c (dfasyntax): Set dfa->syntax.case_fold based on RE_ICASE.
9173 2016-12-13  John W. Eaton  <gnu@jweaton.org>
9175         link: fix test to declare use of rename()
9176         * m4/link.m4 (gl_FUNC_LINK): Include <stdio.h> needed with
9177         -Werror=implicit-function-declaration
9179 2016-12-12  Bruno Haible  <bruno@clisp.org>
9181         fpending: Port to native Windows with MSVC.
9182         * lib/fpending.c: Include stdio-impl.h.
9183         (__fpending): Include all known implementations. Err out if it's not
9184         ported.
9185         * m4/fpending.m4 (gl_PREREQ_FPENDING): Remove macro.
9186         * modules/fpending (Files): Add lib/stdio-impl.h.
9187         (configure.ac): Don't invoke gl_PREREQ_FPENDING.
9189 2016-12-12  Bruno Haible  <bruno@clisp.org>
9191         stdioext: Port to native Windows with MSVC.
9192         * lib/stdio-impl.h (WINDOWS_OPAQUE_FILE): New macro.
9193         (struct _gl_real_FILE): New type.
9194         (fp_, _IOREAD, _IOWRT, _IORW, _IOEOF, _IOERR): New macros, for native
9195         Windows.
9196         * lib/fbufmode.c (fbufmode): Add code for native Windows.
9197         * lib/fflush.c (clear_ungetc_buffer): Treat native Windows like the
9198         other SystemV derived implementations.
9199         * lib/fpurge.c (fpurge): Likewise.
9200         * lib/freadable.c (freadable): Likewise.
9201         * lib/freadahead.c (freadahead): Likewise.
9202         * lib/freading.c (freading): Likewise.
9203         * lib/freadptr.c (freadptr): Likewise.
9204         * lib/freadseek.c (freadptrinc): Likewise.
9205         * lib/fseeko.c (fseeko): Likewise.
9206         * lib/fseterr.c (fseterr): Likewise.
9207         * lib/fwritable.c (fwritable): Likewise.
9208         * lib/fwriting.c (fwriting): Likewise.
9209         Reported by Gisle Vanem <gvanem@yahoo.no>.
9211 2016-12-11  Jim Meyering  <meyering@fb.com>
9213         non-recursive-gnulib-prefix-hack.m4: remove leading "(" in case stmt
9214         * m4/non-recursive-gnulib-prefix-hack.m4: That leading "(" happens
9215         to work with most shells, but not with the one provided by many
9216         Solaris 10 systems, so running configure with such a /bin/sh evokes
9217         e.g., "./configure: syntax error at line 33602: `(' unexpected".
9218         Reported by Assaf Gordon in
9219         https://lists.gnu.org/r/sed-devel/2016-12/msg00002.html
9221 2016-12-10  Bruno Haible  <bruno@clisp.org>
9223         threadlib: Optimize out runtime test on Solaris >= 10.
9224         * m4/threadlib.m4 (gl_THREADLIB_BODY): Don't set
9225         PTHREAD_IN_USE_DETECTION_HARD if configuring on Solaris 10 or newer.
9226         Reported by Peter Felecan at <https://savannah.gnu.org/bugs/?32087>.
9228 2016-12-10  Bruno Haible  <bruno@clisp.org>
9230         stdint: Update doc about Solaris 9.
9231         * doc/posix-headers/stdint.texi: Add info about Solaris 9.
9233 2016-12-09  Bruno Haible  <bruno@clisp.org>
9235         c-ctype tests: Fix link error on Solaris 9.
9236         * modules/c-ctype-tests (Depends-on): Add 'isblank'.
9237         Reported at <https://savannah.gnu.org/bugs/?46827>.
9239 2016-12-09  Paul Eggert  <eggert@cs.ucla.edu>
9241         dfa: fix performance bug that recomputes trans
9242         * lib/dfa.c (build_state): Fix performance bug introduced in Nov
9243         25 on-demand changes.  The bug caused build_state to reset all
9244         d->trans elements to -2 even when d->trans was already non-null.
9245         Use C99 style decls after statements in this function.
9247         same-inode: port to MinGW
9248         Here st_ino is always 0, so change the definition of SAME_INODE so
9249         that 1 means the two files are the same, 0 with st_ino != 0 means
9250         they differ, and 0 with st_ino == 0 means we don’t know.  Problem
9251         reported by Bruno Haible (Bug#25146).
9252         * doc/posix-headers/sys_stat.texi (sys/stat.h): Update.
9253         * lib/same-inode.h (SAME_INODE): Return 0 on MinGW.
9255 2016-12-04  Bruno Haible  <bruno@clisp.org>
9257         javacomp-script: Support Java 7 and 8.
9258         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.7, 1.8 and
9259         target-version 1.7, 1.8.
9261 2016-12-02  Daiki Ueno  <ueno@gnu.org>
9263         * gnulib-tool (func_import): Relax the regex used for "LGPLv3+ or
9264         GPLv2" rewriting.
9266 2016-12-02  Nikos Mavrogiannopoulos  <nmav@gnutls.org>
9268         * gnulib-tool (func_import): Adhere to the license guideline when
9269         rewriting the license text to "LGPLv3+ or GPLv2":
9270         https://www.gnu.org/prep/maintain/maintain.html#Licensing-of-GNU-Packages
9272 2016-12-02  Bruno Haible  <bruno@clisp.org>
9274         localcharset: Avoid theoretical buffer overrun.
9275         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Don't use the
9276         return value from setlocale if it would lead to a buffer overrun.
9278 2016-12-01  Bruno Haible  <bruno@clisp.org>
9280         Relicense some modules under LGPLv2+.
9281         Kevin Cernekee's approval is in
9282         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00090.html.
9283         * modules/fseterr (License): Change to LGPLv2+.
9284         * modules/mbchar (License): Likewise.
9285         * modules/mbiter (License): Likewise.
9286         * modules/mbsnlen (License): Likewise.
9287         * modules/wcwidth (License): Likewise.
9289 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
9291         scandir: Fix _D_ALLOC_NAMLEN() on OS/2 kLIBC
9292         * lib/scandir.c (_D_ALLOC_NAMLEN): Consider the fields after d_name on
9293         OS/2 kLIBC.
9295 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
9297         alphasort, scandir: Port to OS/2 kLIBC
9298         * lib/alphasort.c (alphasort): Implement according to OS/2 kLIBC
9299         declaration.
9300         * lib/scandir.c (scandir): Add declaration for OS/2 kLIBC.
9302 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
9304         relocatable: Fix that /@unixroot prefix is not working on OS/2 kLIBC
9305         * lib/relocatable.c (relocate): Do not touch pathname if it is started
9306         with '/@unixroot'.
9308 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
9310         sys_socket: typedef sa_family_t correctly on OS/2 kLIBC
9311         * lib/sys_socket.in.h (sa_family_t): Typedef to unsigned char on
9312         OS/2 kLIBC unless TCPV40HDRS is defined.
9314 2016-11-29  Jim Meyering  <meyering@fb.com>
9316         dfa: avoid new infinite loop
9317         This would infloop: echo cx | LC_ALL=C grep -E 'c\b[x ]'
9318         * lib/dfa.c (dfastate): When constructing a new state table, we could
9319         initially declare that we had found a match, and later find that
9320         constraints eliminate that possibility, yet continue to use the
9321         now stale "matched" indicator.  That would lead to an infinite loop.
9322         The solution is to update "matched" when necessary.
9323         Introduced by commit v0.1-983-g403adf1.
9325 2016-11-27  Norihiro Tanaka  <noritnk@kcn.ne.jp>
9327         dfa: avoid match middle in multibyte character
9328         * lib/dfa.c (transit_state): If fails in matching single byte characters
9329         on a state including period expression in non-UTF8 multibyte locales,
9330         skip trailing bytes.
9331         (dfa_supported): Revert previous change.
9333 2016-11-27  Jim Meyering  <meyering@fb.com>
9335         dfa: avoid false match in non-UTF8 multibyte locales
9336         * lib/dfa.c (dfa_supported): Treat any non-UTF8 multibyte locale
9337         as "not supported" so that callers will resort to using regex-based
9338         matcher.  This will surely hurt performance, but correctness trumps
9339         performance here, and the affected locales are less and less relevant,
9340         these days.  See grep's bug report https://bugs.gnu.org/24975.
9342 2016-11-27  Mike Frysinger  <vapier@gentoo.org>
9344         ptsname_r: leverage AC_HEADER_MAJOR to provide major()
9345         * lib/ptsname_r.c: Include the appropriate headers.
9346         [__sun]: Delete sys/sysmacros.h include.
9347         [_AIX || __osf__]: Likewise.
9348         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Depend on AC_HEADER_MAJOR.
9350 2016-11-27  Pádraig Brady  <P@draigBrady.com>
9352         md4,md5,sha*: allow _STRING_INLINE_unaligned enable unaligned operation
9353         * lib/md4.c (md4_process_bytes): The existing define is made internal
9354         in recent versions of glibc, so also use this new public define.
9355         * lib/md5.c (md5_process_bytes): Likewise.
9356         * lib/sha1.c (sha1_process_bytes): Likewise.
9357         * lib/sha256.c (sha256_process_bytes): Likewise.
9358         * lib/sha512.c (sha512_process_bytes): Likewise.
9360 2016-11-27  Pádraig Brady  <P@draigBrady.com>
9362         maint: use a more standard return from mbrtowc test
9363         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): Don't return 1
9364         from the test program as this often indicates an
9365         unhandled case in the test program.
9366         (gl_MBRTOWC_INCOMPLETE_STATE): Likewise.
9367         (gl_MBRTOWC_SANITYCHECK): Likewise.
9368         (gl_MBRTOWC_NULL_ARG2): Likewise.
9369         (gl_MBRTOWC_NUL_RETVAL): Likewise.
9371 2016-11-26  Paul Eggert  <eggert@cs.ucla.edu>
9373         freopen: work around glibc bug with closed fd
9374         Work around glibc bug#15589, where freopen mishandles the case
9375         where stdin etc. are already closed.
9376         * doc/posix-functions/freopen.texi (freopen): Document the bug.
9377         * lib/freopen.c (_GL_ALREADY_INCLUDING_STDIO_H): Define this
9378         instead of __need_FILE, as the latter does not work with glibc.
9379         Include <fcntl.h>, for open flags.
9380         (rpl_freopen): Work around glibc bug.
9381         * m4/freopen.m4 (gl_FUNC_FREOPEN): Check for bug.
9382         * modules/freopen (Depends-on): Add fcntl-h.
9383         * tests/test-freopen.c (main): Test for bug.
9385 2016-11-25  Paul Eggert  <eggert@cs.ucla.edu>
9387         fnmatch: fix typo introduced on 2016-08-17
9388         This fixes the port to non-GCC compilers that lack __builtin_expect.
9389         * lib/fnmatch.c (__builtin_expect): Change A&&B to !A||B.
9391         dfa: simplify with new function fillset
9392         * lib/dfa.c (fillset): New function.
9393         Use it for clarity when applicable.
9395         dfa: fix glitches with on-demand states
9396         Also, adjust commentary to better match new code.
9397         Some of these glitches predate the recent change.
9398         * lib/dfa.c (dfaanalyze): Clear trcount here, so that it counts
9399         only non-initial states.
9400         (dfastate): Rename locals to better match new roles.
9401         Move them into nested scopes if this is easy.
9402         Omit unnecessary calls to zeroset.
9403         Simplify test for whether to throw in the positions of state 0.
9404         Omit C99-ism (decl after statement) since Gawk still wants C89.
9405         (build_state): Omit unnecessary test and assignment.
9406         Fix some confusion that counted transition tables inaccurately
9407         and could cause a memory leak.
9408         (dfaexec_main): Redo to make it clearer to the compiler that
9409         -1 and -2 are the only negative state numbers here.
9411 2016-11-25  Norihiro Tanaka  <noritnk@kcn.ne.jp>
9413         dfa: addition of new state on demand
9414         * src/dfa.c (dfastate): Add argument UC, the current input character.
9415         Fill only a group including the character in transition table.
9416         (realloc_trans_if_necessary): Add the dummy state which means that a
9417         transition table is assigned but the next state is not assigned.
9418         (build_state): Return the next state.  All callers updated.
9419         (transit_state_singlebyte): If we get the dummy state,
9420         fill the transition table.
9421         (dfaexec_main): Handle the dummy state.
9422         (free_mbdata, dfafree): Consider the dummy state.
9424 2016-11-24  Daiki Ueno  <ueno@gnu.org>
9426         srclist: sync with released gettext
9427         * config/srclist.txt: Set "release" option to the files under
9428         $GETTEXT.
9430 2016-11-24  Daiki Ueno  <ueno@gnu.org>
9432         srclist: add "release" option
9433         * config/srclist.txt: Change the format so that the first column
9434         of each line points to the top-level directory of the source
9435         archive.
9436         * config/srclist-update: Accept "release" option that checks files
9437         from the most recently tagged revision in the source archive.
9439 2016-11-21  Bruno Haible  <bruno@clisp.org>
9441         snippet/c++defs: Simplify _GL_CXXALIAS_* macros.
9442         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
9443         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1,
9444         _GL_CXXALIAS_SYS, _GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2):
9445         Inline and remove member function 'rpl ()' of the wrapper struct.
9447 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
9449         dfa: fix logic typo
9450         Problem reported by Stephane Chazelas (Bug#24973).
9451         * lib/dfa.c (using_simple_locale): Fix typo that caused some
9452         non-simple locales like fr_FR to be treated as simple.
9454 2016-11-20  Jim Meyering  <meyering@fb.com>
9456         fix test driver leaks: exclude, malloc, realloc
9457         * tests/test-exclude.c (main): Fix trivial leak.
9458         * tests/test-malloc-gnu.c (main): Likewise.
9459         * tests/test-realloc-gnu.c (main): Likewise.
9460         With these changes, grep's tests are now leak free.
9461         I.e., running them with ASAN elicits no failure:
9462           make CFLAGS='-O0 -ggdb3' AM_CFLAGS=-fsanitize=address \
9463             AM_LDFLAGS='-fsanitize=address -static-libasan' check
9465 2016-11-11  Bruno Haible  <bruno@clisp.org>
9467         libunistring: Relicense under dual "LGPLv3+ or GPLv2" license.
9468         * modules/libunistring: (License): Change from LGPL to
9469         "LGPLv3+ or GPLv2".
9470         * modules/libunistring-optional: Likewise.
9471         * modules/unicase/*: Likewise.
9472         * modules/uniconv/*: Likewise.
9473         * modules/unictype/*: Likewise.
9474         * modules/unigbrk/*: Likewise.
9475         * modules/unilbrk/*: Likewise.
9476         * modules/uniname/*: Likewise.
9477         * modules/uninorm/*: Likewise.
9478         * modules/unistdio/*: Likewise.
9479         * modules/unistr/*: Likewise.
9480         * modules/uniwbrk/*: Likewise.
9481         * modules/uniwidth/*: Likewise.
9483 2016-11-12  Bruno Haible  <bruno@clisp.org>
9485         Relicense some modules under LGPLv2+.
9486         Paul Eggert's approval is in
9487         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00037.html.
9488         Eric Blake's approval is in
9489         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00042.html.
9490         Ludovic Courtès's approval is in
9491         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00038.html.
9492         * modules/isnand-nolibm (License): Change to LGPLv2+.
9493         * modules/isnanf-nolibm (License): Likewise.
9494         * modules/isnanl-nolibm (License): Likewise.
9496 2016-11-19  Bruno Haible  <bruno@clisp.org>
9498         Relicense some modules under LGPLv2+.
9499         lib/float+.h is already under LGPLv2+ since 2007-07-13, per
9500         modules/vasnprintf.
9501         Paolo Bonzini's approval for lib/frexp.c and lib/frexpl.c is in
9502         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00074.html.
9503         All other significant changes to the files in lib/ of these modules
9504         are from me.
9505         * modules/memcmp2 (License): Change to LGPLv2+.
9506         * modules/amemxfrm (License): Likewise.
9507         * modules/fpieee (License): Likewise.
9508         * modules/fpucw (License): Likewise.
9509         * modules/frexp-nolibm (License): Likewise.
9510         * modules/frexpl-nolibm (License): Likewise.
9511         * modules/printf-frexp (License): Likewise.
9512         * modules/printf-frexpl (License): Likewise.
9513         * modules/printf-safe (License): Likewise.
9514         * modules/signbit (License): Likewise.
9516 2016-11-17  Bruno Haible  <bruno@clisp.org>
9518         Enable Unicode decoder safety unconditionally.
9519         * lib/unistr.in.h (u32_mbtouc_unsafe): Assume CONFIG_UNICODE_SAFETY.
9520         * lib/unistr/u8-mblen.c (u8_mblen): Likewise.
9521         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
9522         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
9523         * lib/unistr/u8-prev.c (u8_prev): Likewise.
9524         * lib/unistr/u8-strmblen.c (u8_strmblen): Likewise.
9525         * lib/unistr/u8-strmbtouc.c (u8_strmbtouc): Likewise.
9526         * lib/unistr/u16-mblen.c (u16_mblen): Likewise.
9527         * lib/unistr/u16-mbtouc-unsafe.c (u16_mbtouc_unsafe): Likewise.
9528         * lib/unistr/u16-mbtouc-unsafe-aux.c (u16_mbtouc_unsafe_aux): Likewise.
9529         * lib/unistr/u16-prev.c (u16_prev): Likewise.
9530         * lib/unistr/u16-strmblen.c (u16_strmblen): Likewise.
9531         * lib/unistr/u16-strmbtouc.c (u16_strmbtouc): Likewise.
9532         * lib/unistr/u32-mblen.c (u32_mblen): Likewise.
9533         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Likewise.
9534         * lib/unistr/u32-prev.c (u32_prev): Likewise.
9535         * lib/unistr/u32-next.c (u32_next): Likewise.
9536         * lib/unistr/u32-strmblen.c (u32_strmblen): Likewise.
9537         * lib/unistr/u32-strmbtouc.c (u32_strmbtouc): Likewise.
9538         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
9539         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
9540         * tests/unistr/test-u16-prev.c (check_invalid): Enable the
9541         CONFIG_UNICODE_SAFETY tests unconditionally.
9542         * tests/unistr/test-u32-mblen.c (main): Likewise.
9543         * tests/unistr/test-u32-mbtouc.h (test_function): Likewise.
9544         * tests/unistr/test-u32-prev.c (check_invalid): Likewise.
9545         * tests/unistr/test-u32-next.c (main): Likewise.
9546         * tests/unistr/test-u32-strmblen.c (main): Likewise.
9547         * tests/unistr/test-u32-strmbtouc.c (main): Likewise.
9548         * tests/unistr/test-u32-mbtouc.c (FULL_SAFETY): Remove macro.
9549         * lib/unistr/u8-check.c (u8_check): Remove old dead code.
9550         * lib/unistr/u8-mbtouc.c (u8_mbtouc): Likewise.
9551         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
9552         * lib/unistr/u8-mbtoucr.c (u8_mbtoucr): Likewise.
9553         * lib/unistr/u8-uctomb.c (u8_uctomb): Likewise.
9554         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
9555         * lib/unistr/u16-check.c (u16_check): Update comment.
9556         * NEWS: Mention the changes that callers should be aware of.
9558 2016-11-19  Bruno Haible  <bruno@clisp.org>
9560         relocatable-prog-wrapper: Fix breakage on Cygwin.
9561         * modules/relocatable-prog-wrapper (Files): Add lib/stat.c, lib/lstat.c.
9562         (Depends-on): Remove intprops.
9563         * lib/relocwrapper.c: Update dependency tree.
9564         (strerror): Undefine.
9565         * build-aux/install-reloc (func_create_wrapper): Do not compile
9566         strerror.c and strerror-override.c. Erase stat.o and lstat.o.
9568 2016-11-19  Bruno Haible  <bruno@clisp.org>
9570         strerror: Make it compile in C++ mode.
9571         * lib/strerror.c (strerror): Ignore the return value of memcpy().
9573 2016-11-15  Pedro Alves  <palves@redhat.com>
9575         sys_time: add gnulib::timeval for C++
9576         * lib/sys_time.in.h [__cplusplus && defined GNULIB_NAMESPACE]:
9577         Define "timeval" in the GNULIB_NAMESPACE namespace, and #undef any
9578         timeval macro.
9580 2016-11-14  Pedro Alves  <palves@redhat.com>
9582         snippet/c++defs: fix real-floating arg functions in C++ mode
9583         Also, define isfinite, isinf, isnan, signbit in the gnulib
9584         namespace instead of in the global namespace.
9585         * build-aux/snippet/c++defs.h (_GL_BEGIN_NAMESPACE)
9586         (_GL_END_NAMESPACE): New.
9587         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_2): Use them.
9588         (isfinite, isinf, isnan, signbit) [__cplusplus &&
9589         GNULIB_NAMESPACE]: Define them in the GNULIB_NAMESPACE namespace
9590         instead of in the global namespace.
9591         * tests/test-math-c++.cc: Check that the isfinite, isinf, isnan,
9592         signbit overloads exist in the GNULIB_NAMESPACE namespace, instead
9593         of in the global namespace.
9595 2016-11-13  Jim Meyering  <meyering@fb.com>
9597         strftime: don't use __THROW
9598         Each use of __THROW would provoke this from gcc-7-to-be:
9600           lib/strftime.c:371:1: warning: '__leaf__' attribute has no effect \
9601             on unit local functions [-Wattributes]
9602           static int iso_week_days (int, int) __THROW;
9603           ^~~~~~
9604         * lib/strftime.c (__THROW): Don't define.
9605         Remove each use of __THROW.
9606         * lib/strftime.c (memcpy_lowcase, memcpy_uppcase): Remove __THROW.
9607         (tm_diff, iso_week_days, __strftime_internal): Likewise.
9609 2016-11-14  Paul Eggert  <eggert@union>
9611         obstack: port to gcc -fcheck-pointer-bounds
9612         Problem found by 'make check' failure on bleeding-edge coreutils
9613         on an MPX-enabled CPU (Intel Core i3-7100U) running GCC (Ubuntu
9614         6.2.0-5ubuntu12), configured via "./configure
9615         --enable-gcc-warnings CFLAGS='-mmpx -fcheck-pointer-bounds -g3
9616         -O2' LDFLAGS='-static-libmpx -static-libmpxwrappers'".
9617         * lib/obstack.h (__FLEXIBLE_ARRAY_MEMBER):
9618         New macro, copied from fts_.h.
9619         (struct _obstack_chunk.contents): Use it.
9621 2016-11-14  Eric Blake  <eblake@redhat.com>
9623         strerror_r-posix: Another fix, for HAVE_DECL_STRERROR_R on mingw.
9624         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R, gl_FUNC_STRERROR_R_WORKS):
9625         Avoid _ONCE variants, which may supply a conflicting AC_DEFINE().
9627 2016-11-14  Pádraig Brady  <P@draigBrady.com>
9629         strptime: fix compile error in recent change
9630         * lib/strptime.c (__strptime_internal): Fix ported code.
9632 2016-11-11  Bruno Haible  <bruno@clisp.org>
9634         gnulib-tool: Support for the dual "LGPLv3+ or GPLv2" license.
9635         * gnulib-tool (--lgpl): Accept value 3orGPLv2.
9636         (func_import): Extend determination of license_incompatibilities.
9637         (func_create_testdir): Extend table of license compatibility. Handle
9638         also the licenses GPLv3+, GPL, LGPLv3+.
9640 2016-11-12  Paul Eggert  <eggert@cs.ucla.edu>
9642         strftime: tune %q
9643         * lib/strftime.c (__strftime_internal): Assume tp->tm_mon is in range.
9645         Merge strftime.c changes from glibc
9646         This incorporates:
9647         2007-10-16 [BZ #5184] Add tzset_called argument
9648         2008-06-13 [BZ #6612] pass reference to tzset_called around
9649         2009-10-30 Implement Burmese language locale for Myanmar
9650         2010-01-09 Add support for XPG7 testing
9651         2015-09-26 [BZ #18985] out of range data to strftime() causes a segfault
9652         2015-10-20 Convert miscellaneous function definitions to prototype style
9653         * lib/strftime.c: Copy glibc license, since gnulib-tool rewrites
9654         it anyway and this lessens the difference between gnulib and glibc.
9655         (USE_IN_EXTENDED_LOCALE_MODEL) [_LIBC]: Define.
9656         (__THROW): Define if standard headers do not.
9657         (LOCALE_PARAM): Rename from LOCALE_PARAM_PROTO.  All uses changed.
9658         (memcpy_locase, memcpy_uppcase, tm_diff, __strftime_internal):
9659         Declare with __THROW.
9660         (__strftime_internal): Rename from strftime_case_. Add arg for
9661         whether tzset is called.  All uses changed.  Call tzset at most
9662         once.  Allow %OC, for Burmese.
9663         (a_wkday, f_wkday, a_month, f_month) [_NL_CURRENT]:
9664         Don't assume values are in range.
9666 2016-11-12  Eric Blake  <eblake@redhat.com>
9668         strerror_r-posix: Fix override of AC_FUNC_STRERROR_R
9669         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): New override.
9670         (gl_FUNC_STRERROR_R): Don't reuse AC_DEFINE() with a potentially
9671         different value.
9673 2006-11-12  Pedro Alves  <palves@redhat.com>
9675         Fix gnulib C++ namespace support and std::frexp
9676         * lib/math.in.h (frexp): Use _GL_CXXALIASWARN1 instead of
9677         _GL_CXXALIASWARN.
9679 2006-11-12  Pedro Alves  <palves@redhat.com>
9681         GNULIB_NAMESPACE::func need not pull in rpl_func
9682         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
9683         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1, _GL_CXXALIAS_SYS)
9684         (_GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2): Define a wrapper
9685         struct instead of a function pointer.
9687 2016-11-09  Frediano Ziglio  <fziglio@redhat.com>
9689         manywarnings: fix -Wno-missing-field-initializers detection
9690         * m4/manywarnings.m4: Fix -Wno-missing-field-initializers detection
9691         to be independent of -Wunused-variable.  I.E. ensure the latter
9692         warning doesn't occur so that detection of the former is accurate.
9694 2016-11-05  Pádraig Brady  <pbrady@fb.com>
9696         strftime,strptime: support %q to represent the quarter
9697         * lib/strftime.c (strftime_case_): Add %q case.
9698         * lib/strptime.c (__strptime_internal): Likewise.
9699         * tests/test-strftime.c (quarter_test): A new test case.
9701 2016-11-03  Eric Blake  <eblake@redhat.com>
9703         bootstrap: Fix get_version() for AIX 5.3
9704         * build-aux/bootstrap (get_version): Factor out sed script, since
9705         indented comments choke AIX 5.3 sed.
9706         Reported-by: Michael Felt <aixtools@gmail.com>
9708 2016-11-03  Paul Eggert  <eggert@cs.ucla.edu>
9710         intprops: port to older XL C
9711         Problem reported by Alexander Samoilov in:
9712         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00166.html
9713         http://savannah.nongnu.org/bugs/?49448
9714         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM__TYPEOF__]:
9715         Define to 1 only for XL C 12.1 or later, since this bug
9716         occurs in XL C for AIX 6.0 but not in 12.1.
9718 2016-11-02  Pádraig Brady  <P@draigBrady.com>
9720         backupfile: initialize default suffix within the implementation
9721         * lib/backupfile.c (find_backup_file_name): Initialize the
9722         global variable here, to simplify usage, and to only call
9723         getenv() when needed.
9725 2016-11-01  Paul Eggert  <eggert@cs.ucla.edu>
9727         futimens: remove FIXME for old Linux kernels
9728         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Belatedy do a "simplify
9729         this in 2012" FIXME, like that for utimensat.
9731         utimensat: remove FIXME for old Linux kernels
9732         * lib/utimensat.c (rpl_utimensat): Update FIXME comment.
9733         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Belatedy do a "simplify
9734         this in 2012" FIXME, by assuming the file system bug is absent
9735         unless demonstrated to be present.  We no longer need to worry
9736         about Linux kernel 2.6.32 when building with newer kernels.
9738 2016-10-16  Bruno Haible  <bruno@clisp.org>
9740         qsort_r: Fix macrology for platforms that lack the function.
9741         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for qsort_r.
9742         (gl_STDLIB_H_DEFAULTS): Initialize HAVE_QSORT_R.
9743         * modules/stdlib (Makefile.am): Substitute HAVE_QSORT_R.
9744         * lib/stdlib.in.h (qsort_r): Provide declaration if the function does
9745         not exist.
9746         * m4/qsort_r.m4 (gl_FUNC_QSORT_R): Use AC_CHECK_FUNCS to test whether
9747         the function exists.
9748         * modules/qsort_r: Add comments.
9750 2016-10-26  Paul Eggert  <eggert@cs.ucla.edu>
9752         sys_types: fix Texinfo typos
9753         * doc/glibc-functions/gnu_dev_major.texi:
9754         * doc/glibc-functions/gnu_dev_makedev.texi:
9755         * doc/glibc-functions/gnu_dev_minor.texi: Fix typos.
9757 2016-10-26  John David Anglin  <dave.anglin@bell.net>
9759         getprogname: port to HP-UX
9760         See Bug#24805.
9761         * lib/getprogname.c (getprogname) [__hpux]: Port.
9762         * tests/test-getprogname.c (STREQ) [__hpux]:
9763         Special-case for HP-UX limitations on program name length.
9765 2016-10-20  Bruno Haible  <bruno@clisp.org>
9767         Update doc about target platforms.
9768         * doc/gnulib-intro.texi (Target Platforms): Update list.
9770 2016-10-15  Bruno Haible  <bruno@clisp.org>
9772         opendir, readdir, closedir: Relicense under LGPLv2+.
9773         * modules/opendir (License): Change to LGPLv2+.
9774         * modules/readdir (License): Likewise.
9775         * modules/closedir (License): Likewise.
9777 2016-10-16  Bruno Haible  <bruno@clisp.org>
9779         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
9780         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Override the values set by the
9781         AC_FUNC_STRERROR_R macro. Define HAVE_DECL_STRERROR_R_ORIG.
9782         * lib/strerror_r.c: Use HAVE_DECL_STRERROR_R_ORIG instead of
9783         HAVE_DECL_STRERROR_R.
9785 2016-10-16  Bruno Haible  <bruno@clisp.org>
9787         Make the 'argp' module work without the 'error' module.
9788         * m4/argp.m4 (gl_ARGP): Require AC_FUNC_STRERROR_R.
9790 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
9792         diffseq: restore TOO_EXPENSIVE heuristic
9793         * lib/diffseq.h: Problem with diffutils reported by Andreas Schwab
9794         (Bug#24715).  The simplest solution is to restore the
9795         TOO_EXPENSIVE heuristic that I added to GNU diff in 1993, while
9796         using a higher threshold to avoid Bug#16848 on smaller files.
9797         * lib/diffseq.h (struct context): Restore member too_expensive.
9798         (struct partition): Restore members lo_minimal, hi_minimal.
9799         (diag, compareseq): Restore arg find_minimal.  All uses changed.
9800         (diag): Restore the TOO_EXPENSIVE heuristic that I added back in
9801         1993 to make 'diff' run faster (but not as well) on large inputs,
9802         but use a threshold of 4096 instead of the old 256.
9803         * lib/fstrcmp.c (strcmp_bounded):
9804         * lib/git-merge-changelog.c (compute_differences):
9805         Adjust to diffseq.h changes.
9807 2016-10-22  Bruno Haible  <bruno@clisp.org>
9809         iconv: Avoid compilation error when bootstrapping GNU libiconv.
9810         * m4/iconv.m4 (AM_ICONV): When the system does not have an iconv()
9811         declaration yet, define ICONV_CONST to empty.
9813 2016-10-15  Bruno Haible  <bruno@clisp.org>
9815         Avoid gnulib-tool warnings about the dependencies of 'parse-datetime'.
9816         * gnulib-tool (func_get_license): Special-case the 'parse-datetime'
9817         module.
9819 2016-10-16  Bruno Haible  <bruno@clisp.org>
9821         system-quote tests: Avoid compiler warning on AIX.
9822         * tests/test-system-quote-child.c (fopen): Redefine like the system's
9823         <stdio.h> does.
9825 2016-10-16  Bruno Haible  <bruno@clisp.org>
9827         Fix some "gcc -Wall" warnings.
9828         * tests/test-ffsl.c (main): Use variable x, not i.
9829         * tests/test-posix_spawn3.c (parent_main): Consider the return value of
9830         freopen.
9831         * tests/test-sethostname1.c (main): Explicitly ignore the return value
9832         of sethostname.
9834 2016-10-16  Bruno Haible  <bruno@clisp.org>
9836         gnulib-tool: Make --create-testdir on all modules work again.
9837         * gnulib-tool (func_create_testdir): Don't include the
9838         non-recursive-gnulib-prefix-hack module.
9840 2016-10-21  Daiki Ueno  <ueno@gnu.org>
9842         libunistring: change the maintainer to 'all'
9843         * modules/gen-uni-tables, modules/libunistring:
9844         * modules/ucs4-utf16, modules/ucs4-utf8, modules/unicodeio:
9845         * modules/unitypes, modules/utf16-ucs4, modules/utf16-ucs4-unsafe:
9846         * modules/utf8-ucs4, modules/utf8-ucs4-unsafe:
9847         * modules/unicase/*, modules/uniconv/*, modules/unictype/*:
9848         * modules/unilbrk/*, modules/uniname/*, modules/uninorm/*:
9849         * modules/unistdio/*, modules/unistr/*, modules/uniwbrk/*:
9850         * modules/uniwidth/*: Change the maintainer to 'all'.
9852 2016-10-16  Bruno Haible  <bruno@clisp.org>
9854         Simplify "configure: checking ..." messages.
9855         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use AC_MSG_CHECKING instead of
9856         AC_MSG_NOTICE.
9857         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
9859 2016-10-20  Paul Eggert  <eggert@cs.ucla.edu>
9861         quotearg-tests: pacify gcc -Wall
9862         Problem reported by Bruno Haible in:
9863         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00066.html
9864         * tests/test-quotearg-simple.c (use_quote_double_quotes): Move here ...
9865         * tests/test-quotearg.h: ... from here.
9867 2016-10-20  Pádraig Brady  <P@draigBrady.com>
9869         canonicalize-lgpl: fix for missing SIZE_MAX on older systems
9870         * lib/canonicalize-lgpl.c [SIZE_MAX]: Define if needed.
9871         Needed on Centos <= 4.
9873 2016-10-20  Jim Meyering  <meyering@fb.com>
9875         printf.m4: fix a bug in detecting printf %j support
9876         * m4/printf.m4 (gl_PRINTF_SIZES_C99): Fail any system for which
9877         uintmax_t is defined in neither stdint.h nor inttypes.h.
9878         Before, this macro might have mistakenly set
9879         gl_cv_func_printf_sizes_c99=yes on such a system.
9880         Spotted by Zev Weiss.
9882 2016-10-19  Paul Eggert  <eggert@cs.ucla.edu>
9884         sched: substitute HAVE_SYS_CDEFS_H too
9885         Problem reported by Tom G. Christensen in:
9886         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00084.html
9887         * m4/sched_h.m4 (gl_SCHED_H): Set and substitute HAVE_SYS_CDEFS_H.
9888         * modules/sched (Depends-on): Substitute HAVE_SYS_CDEFS_H.
9890 2016-10-19  Pádraig Brady  <P@draigBrady.com>
9892         quotearg: never write beyond the returned length
9893         * lib/quotearg.c (quotearg_buffer_restyled): Switch to a read-only
9894         scan of the string when we initially encounter a single quote when
9895         shell quoting, so that if we then switch to a more concise quoting method
9896         we will not have written beyond that returned length.
9897         This is significant for sh-quote, which has separate routines
9898         to determine the length and do the actual quoting.
9899         * tests/test-quotearg.h: Reinstate the buffer bounds checking
9900         now that we never write more than the returned length.
9902 2016-10-18  Bruno Haible  <bruno@clisp.org>
9904         getprogname tests: Avoid failure in packages that use libtool.
9905         * tests/test-getprogname.c (main): Strip "lt-" prefix.
9906         Based on a patch by Jim Meyering.
9908 2016-10-16  Bruno Haible  <bruno@clisp.org>
9910         getprogname: Fix test failure on Cygwin. Comments.
9911         * lib/getprogname.h: Add comments.
9912         * lib/getprogname.c: Add comments. Fix #elif indentation.
9913         * tests/test-getprogname.c (main): On Cygwin, expect a result without
9914         ".exe" suffix.
9916 2016-10-16  Bruno Haible  <bruno@clisp.org>
9918         Make sure the libunistring detection rejects older versions with a
9919         known bug.
9920         * modules/unistr/u8-strtok (configure.ac): Bump required version.
9921         * modules/unistr/u16-strtok (configure.ac): Likewise.
9922         * modules/unistr/u32-strtok (configure.ac): Likewise.
9924 2016-10-18  Bruno Haible  <bruno@clisp.org>
9926         sh-quote, system-quote: revert regression of unit test.
9927         * tests/test-sh-quote.c (check_one): Do detect buffer overruns.
9928         * tests/test-system-quote-main.c (check_one): Likewise.
9930 2016-10-16  Pádraig Brady  <P@draigBrady.com>
9932         quotearg: fix stale tests
9933         * tests/test-quotearg.c [locale_results]: Add the missing str7
9934         entries to the expected results.
9935         * tests/test-system-quote-main.c (check_one): Don't enforce that we
9936         don't write beyond the returned length, since that's no longer the
9937         case if we switch to a more concise quoting style.
9938         * tests/test-sh-quote.c (check_one): Likewise.
9939         (main): Adjust for the new more concise quoting style.
9940         Reported by Bruno Haible.
9942 2016-10-16  Jim Meyering  <meyering@fb.com>
9944         non-recursive-gnulib-prefix-hack: fix inconsequential typo
9945         * m4/non-recursive-gnulib-prefix-hack.m4: Change a hard-coded "lib"
9946         to "$1".  This macro is always invoked with $1 == lib.
9947         Spotted by Bruno Haible
9949 2016-10-16  Bruno Haible  <bruno@clisp.org>
9951         Fix a test crash.
9952         * tests/test-duplocale.c (main): Skip the test if the 'newlocale' call
9953         fails.
9955 2016-10-16  Pádraig Brady  <P@draigBrady.com>
9957         test-limits-h: suppress -Woverlength-strings
9958         * tests/test-limits-h.c [__GNUC__]: Ignore -Woverlength-strings.
9960 2016-10-15  Bruno Haible  <bruno@clisp.org>
9962         gettime, timespec, utimens: Relicense under LGPL.
9963         * modules/gettime (License): Change to LGPL.
9964         * modules/timespec (License): Likewise.
9965         * modules/utimens (License): Likewise.
9967 2016-10-14  Bruno Haible  <bruno@clisp.org>
9968             Pádraig Brady  <P@draigBrady.com>
9970         canonicalize-lgpl: Support the case path_max > INT_MAX.
9971         * lib/canonicalize-lgpl.c (__realpath): Declare n as ssize_t, not int.
9972         Fix overflow check, for platforms where 'size_t' is larger than 'long'.
9974 2016-10-13  Jim Meyering  <meyering@fb.com>
9976         getprogname: IBM z/OS: avoid NULL-dereference
9977         * lib/getprogname.c (getprogname) [__MVS__]: Don't dereference NULL
9978         upon strdup failure.
9980 2016-10-12  Jim Meyering  <meyering@fb.com>
9982         test-stdint: use _GL_VERIFY rather than "verify" for some tests
9983         * tests/test-stdint.c (verify_width): Implement with _GL_VERIFY
9984         and an abbreviated diagnostic rather than verify with the full one,
9985         because the full-length strings would evoke warnings from gcc with
9986         -Woverlength-strings.
9988 2016-10-13  Paul Eggert  <eggert@cs.ucla.edu>
9990         stdint: port SIZE_MAX to glibc s390
9991         Problem reported by Eric Blake in:
9992         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00031.html
9993         * doc/posix-headers/stdint.texi (stdint.h): Document the fix.
9994         * m4/stdint.m4 (gl_STDINT_H): Check that SIZE_MAX has the
9995         correct type, if possible.
9997 2016-10-13  Daniel Richard G.  <skunk@iSKUNK.ORG>
9999         getprogname: port to IBM z/OS
10000         * lib/getprogname.c (getprogname): Use w_getpsent() to get the name.
10002 2016-10-11  Jim Meyering  <meyering@fb.com>
10004         maint: remove stray space after "." in AC_DEFINE comment.
10005         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Remove space-after-".".
10006         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
10008 2016-10-05  Jim Meyering  <meyering@fb.com>
10010         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
10011         * lib/long-options.c (parse_long_options): Add a break statement
10012         to avoid this new warning/failure:
10013         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
10014           --create-testdir --dir=/t/x --with-tests --test long-options
10015         ../../gllib/long-options.c: In function 'parse_long_options':
10016         ../../gllib/long-options.c:66:12: error: this statement may \
10017           fall through [-Werror=implicit-fallthrough]
10018                    (*usage_func) (EXIT_SUCCESS);
10019                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
10021 2016-10-05  Jim Meyering  <meyering@fb.com>
10023         utimecmp: avoid new GCC 7 warning from -Wbool-operation
10024         Testing this module would fail when using GCC 7 like this:
10025         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
10026           --dir=/tmp/x --with-tests --test utimecmp
10027         ../../gllib/utimecmp.c: In function ‘utimecmp’:
10028         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
10029           [-Werror=bool-operation]
10030                          time_t s = src_s & ~ (res == 2 * BILLION);
10031                                             ^
10032         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
10033           [-Werror=bool-operation]
10034                src_s &= ~ (res == 2 * BILLION);
10035                         ^
10036         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
10037         Instead, make it explicit that we intend to apply it to 0 or 1.
10039 2016-10-10  Norihiro Tanaka  <noritnk@kcn.ne.jp>
10041         dfa: save memory for states
10042         * src/dfa (dfaexec_main): Beginning of dfa execution, release caches of
10043         states if dfa has a lot of caches.
10045 2016-10-10  Eli Zaretskii  <eliz@gnu.org>
10047         wchar, wctype-h: fix for MinGW 3.22.2
10048         * lib/wchar.in.h [__MINGW32__]: Add one more condition for
10049         special invocation, to fix issues with MinGW 3.22.2 wchar.h
10050         when included from <string.h>.
10051         * lib/wctype.in.h [__MINGW32__]: Add special invocation
10052         convention for MinGW 3.22.2, to solve issues with their
10053         wctype.h when included from <ctype.h>.
10055 2016-10-05  Jim Meyering  <meyering@fb.com>
10057         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
10058         * lib/long-options.c (parse_long_options): Add a break statement
10059         to avoid this new warning/failure:
10060         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
10061           --create-testdir --dir=/t/x --with-tests --test long-options
10062         ../../gllib/long-options.c: In function ‘parse_long_options’:
10063         ../../gllib/long-options.c:66:12: error: this statement may \
10064           fall through [-Werror=implicit-fallthrough]
10065                    (*usage_func) (EXIT_SUCCESS);
10066                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
10068         utimecmp: avoid new GCC 7 warning from -Wbool-operation
10069         Testing this module would fail when using GCC 7 like this:
10070         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
10071           --dir=/tmp/x --with-tests --test utimecmp
10072         ../../gllib/utimecmp.c: In function ‘utimecmp’:
10073         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
10074           [-Werror=bool-operation]
10075                          time_t s = src_s & ~ (res == 2 * BILLION);
10076                                             ^
10077         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
10078           [-Werror=bool-operation]
10079                src_s &= ~ (res == 2 * BILLION);
10080                         ^
10081         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
10082         Instead, make it explicit that we intend to apply it to 0 or 1.
10084 2016-10-03  Pádraig Brady  <P@draigBrady.com>
10086         quotearg: minimize shell quoting using double quotes
10087         * lib/quotearg.c (quotearg_buffer_restyled): If an ASCII single
10088         quote in encountered then use double quotes (c style quoting)
10089         when possible, as it simplifies the quoting.
10090         * tests/test-quotearg-simple.c: Add test cases.
10091         * tests/test-quotearg.h (use_quotearg_buffer): Adjust to account
10092         for the fact we now may write beyond the returned length.
10094 2016-10-02  Jim Meyering  <meyering@fb.com>
10096         vasnprintf.c: avoid spurious warning from GCC 7
10097         The presence of cpp directives renders this "FALLTHROUGH" comment
10098         ineffective, so does not suppress the -Wimplicit-fallthrough warning
10099         from GCC 7 built from git on 2016-10-02.
10100         * lib/vasnprintf.c (VASNPRINTF): Move comment down past two cpp
10101         directives, so that it takes effect once again.  This is clearly
10102         not a proper change, and I will revert it once this bug is fixed:
10103         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77817
10105 2016-10-01  Jim Meyering  <meyering@fb.com>
10107         getprogname: correct the test for a __progname variable
10108         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Use AC_CACHE_CHECK
10109         and AC_LINK_IFELSE to check for a global __progname.  If found,
10110         define HAVE_VAR___PROGNAME.
10111         * lib/getprogname.c (getprogname): Reflect the new name of the
10112         feature- checked preprocessor symbol:
10113         s/HAVE_DECL___PROGNAME/HAVE_VAR___PROGNAME/
10115 2016-09-28  Jim Meyering  <meyering@fb.com>
10117         u8-uctomb-aux.c: build: placate GCC 7's new -Wimplicit-fallthrough
10118         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Mark each end of
10119         fall-through case with a /* fallthrough */ comment.
10121         dfa: build: avoid warning from GCC 7's new -Wimplicit-fallthrough
10122         * lib/dfa.c (dfassbuild): Mark the end of this case with a
10123         /* fallthrough */ comment.
10125         getprogname: avoid __progname vs program_invocation_short_name pitfall
10126         I.e., don't let the OpenBSD 5.1 fix induce failure when using newer
10127         glibc.  Would have caused failure with Fedora 25's glibc-2.24-3, but
10128         not with Fedora 24's glibc-2.23.1-10.
10129         * lib/getprogname.c (__progname): Move this declaration down...
10130         (getprogname): ... into the #elif block where used, and make it
10131         explicitly "extern".
10133         getprogname: port to OpenBSD 5.1
10134         * lib/getprogname.c (__progname) [HAVE_DECL___PROGNAME]: Declare.
10135         (getprogname) [HAVE_DECL___PROGNAME]: Return __progname or "?".
10136         * modules/getprogname (configure.ac): Move most of this code...
10137         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): ... to this function,
10138         increment serial number, and add a test for __progname.
10139         https://bugs.gnu.org/24562
10140         Reported by Nelson H. F. Beebe.
10142 2016-09-24  Paul Eggert  <eggert@cs.ucla.edu>
10144         sched: port to GCC 6.2.1 on macOS Sierra
10145         Problem reported by Denis Davydov in:
10146         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00056.html
10147         * lib/sched.in.h [HAVE_SYS_CDEFS_H]:
10148         Include <sys/cdefs.h> before <sched.h>.
10149         * m4/nproc.m4 (gl_PREREQ_NPROC): Include errno.h before sched.h,
10150         so that we needn’t worry about the sched.h include bug here.
10151         * m4/sched_h.m4 (gl_SCHED_H): Check for sys/cdefs.h,
10152         and include it before <sched.h> if it exists, when
10153         checking for <sched.h>.
10155         tests/init.sh: port Alpine fix to AIX 7.1
10156         * tests/init.sh (compare_): When attempting to use diff -U3,
10157         prefer diff -u to -U3 to -c to plain diff.  Do not insist on
10158         diff -u not outputting a space after leading '+', as the users
10159         of 'compare' should not be that picky about its output format.
10160         In the AIX 7.1 case, return with diff exit status (or with 2 if
10161         trouble), instead of some random nonzero exit status.
10162         * tests/test-init.sh (test_compare): Remove space after leading
10163         '+', so that AIX 7.1 'diff' passes the test.
10165 2016-09-22  Paul Eggert  <eggert@cs.ucla.edu>
10167         nl_langinfo: pacify GCC
10168         * lib/nl_langinfo.c (ctype_codeset): Remove unused local.
10169         (rpl_nl_langinfo): Cast string literals to char *, to pacify GCC.
10171         stdint: also set GL_GENERATE_LIMITS_H
10172         Problem reported by Jim Meyering in:
10173         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00052.html
10174         * m4/stdint.m4 (gl_STDINT_H): Also redo the AM_CONDITIONAL.
10176         limits-h, stdint: Don't assume extensions, fix typo
10177         * m4/limits-h.m4 (gl_LIMITS_H):
10178         * m4/stdint.m4 (gl_STDINT_H):
10179         Don't assume AC_USE_SYSTEM_EXTENSIONS.
10180         * m4/stdint.m4 (gl_STDINT_H): Fix typo in setting of LIMITS_H,
10181         reported by Jim Meyering in:
10182         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00050.html
10184 2016-09-21  Jim Meyering  <meyering@fb.com>
10186         getprogname: port to AIX
10187         * lib/getprogname.c (getprogname) [_AIX]: Use getpid, getprocs64
10188         and strdup to obtain a short program name string.  Using code from
10189         Bruno Haible and an idea from Bastien ROUCARIÈS, in
10190         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
10191         Assaf Gordon reported that this new file would fail to compile on
10192         AIX-7.1 32bit.
10194 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
10196         extensions: fix typo in comment
10197         * m4/extensions.m4: Sync from Autoconf master.
10199         stdint: support new _WIDTH macros
10200         * doc/posix-headers/stdint.texi: Document this.
10201         * lib/stdint.in.h: Add support for INTMAX_WIDTH. etc.
10202         * m4/stdint.m4 (gl_STDINT_H): Require gl_LIMITS_H.  Check for
10203         support for INTMAX_WIDTH, etc. as well as for support for just C99.
10204         * modules/stdint (Depends-on): Add limits-h.
10205         (Makefile.am): Substitute HAVE_C99_STDINT_H.
10206         * modules/stdint-tests (Depends-on): Add extensions, so that
10207         INTMAX_MAX etc. are defined.
10208         * tests/test-stdint.c: Verify the new macros.
10210         limits-h: new module
10211         This adds ISO/IEC TS 18661-1:2014 support to limits.h.
10212         * MODULES.html.sh: Add limits-h,and move size_max to stdint section.
10213         * doc/posix-headers/limits.texi: Document new module.
10214         * lib/limits.in.h, m4/limits-h.m4, modules/limits-h:
10215         * modules/limit-h-tests, tests/test-limits-h.c: New files.
10217         stdio: don't redefine __USE_MINGW_ANSI_STDIO
10218         * m4/stdio_h.m4 (gl_STDIO_H): Don't define __USE_MINGW_ANSI_STDIO
10219         if it is already defined.  Apparently GNU Emacs relies on this.  See:
10220         http://lists.gnu.org/r/emacs-devel/2016-09/msg00416.html
10222 2016-09-15  Eric Blake  <eblake@redhat.com>
10224         sys_types: avoid glibc 2.25 warnings about major()
10225         * m4/sys_types_h.m4 (AC_HEADER_MAJOR): Replace broken version in
10226         older autoconf.
10227         * doc/posix-headers/sys_types.texi (sys/types.h): Document fix.
10228         * doc/glibc-functions/gnu_dev_major.texi (gnu_dev_major): Likewise.
10229         * doc/glibc-functions/gnu_dev_makedev.texi (gnu_dev_makedev): Likewise.
10230         * doc/glibc-functions/gnu_dev_minor.texi (gnu_dev_minor): Likewise.
10232         mountlist: include sysmacros.h for glibc
10233         * m4/mountlist.m4 (gl_PREREQ_MOUTLIST_EXTRA): Include
10234         AC_HEADER_MAJOR.
10235         * lib/mountlist.c (includes): Use correct headers.
10237 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
10239         extensions: port to more ISO C TSes
10240         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Sync from Autoconf
10241         master, to add support for more recent ISO C TRs and TSes.
10243 2016-09-13  Paul Eggert  <eggert@cs.ucla.edu>
10245         intprops: new macro TYPE_WIDTH
10246         * lib/intprops.h (TYPE_WIDTH): New macro.
10247         (TYPE_MAXIMUM, _GL_SIGNED_INT_MAXIMUM, INT_STRLEN_BOUND):
10248         * lib/ftoastr.h (_GL_FLOAT_DIG_BITS_BOUND):
10249         * lib/parse-datetime.y (parse_datetime2):
10250         Use it.
10252         extensions: port to recent ISO C TRs
10253         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
10254         Sync from Autoconf master, to add support for recent ISO C TRs.
10255         * m4/stdio_h.m4 (gl_STDIO_H): Define __USE_MINGW_ANSI_STDIO here,
10256         since AC_USE_SYSTEM_EXTENSIONS no longer does that as
10257         the MinGW option is not an extension.
10259 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
10261         dfa: port to Solaris 9
10262         Problems reported by Tom G. Christensen in:
10263         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00031.html
10264         * modules/dfa (Depends-on): Add isblank.
10265         * modules/dfa-tests (dfa_match_aux_LDADD):
10266         Rename from test_stat_LDADD, to fix typo.
10267         * tests/dfa-match.sh: Don't require 'timeout'; use it if available.
10269 2016-09-10  Jim Meyering  <meyering@fb.com>
10271         strverscmp: avoid link failure on OS X
10272         * lib/strverscmp.c [!weak_alias]: Define __strverscmp to strverscmp.
10273         Reported by Assaf Gordon in https://bugs.gnu.org/24256#26
10275 2016-08-16  Jim Meyering  <meyering@fb.com>
10277         dfa: new module, importing grep's DFA matcher
10278         Since grep's DFA matcher is now being used by two gnulib-enabled
10279         projects, grep and sed, it makes sense to version-control its
10280         sources and unit tests in one place: here.
10281         * modules/dfa: New module.
10282         * modules/dfa-tests: New file.
10283         * lib/dfa.c: New file, from grep.
10284         * lib/dfa.h: Likewise.
10285         * lib/localeinfo.c: Likewise.
10286         * lib/localeinfo.h: Likewise.
10287         * tests/dfa-match-aux.c: Likewise.
10288         * tests/dfa-invalid-char-class.sh: Likewise.
10289         * tests/dfa-match.sh: Likewise, with minor changes.
10290         * MODULES.html.sh (Misc): Add "dfa" to this list.
10292 2016-09-09  Jim Meyering  <meyering@fb.com>
10294         getprogname-tests: don't depend on assert-h
10295         * modules/getprogname-tests (Depends-on): Remove assert-h.
10296         It was not needed, and in fact would cause build failure for
10297         coreutils on some systems.  Reported by Assaf Gordon in https:
10298         //lists.gnu.org/r/coreutils/2016-09/msg00016.html
10300 2016-09-07  Jim Meyering  <meyering@fb.com>
10302         getprogname-tests: work also when EXEEXT is nonempty
10303         * modules/getprogname-tests (Makefile.am): Define EXEEXT.
10304         * tests/test-getprogname.c (main): Use it.
10305         Suggested by Gisle Vanem.
10307 2016-09-07  Gisle Vanem  <gvanem@yahoo.no>
10309         getprogname: fix errors in previous change
10310         * lib/getprogname.c (getprogname) [HAVE_GETEXECNAME]:
10311         s/program_invocation_name/base/
10312         [HAVE_DECL___ARGV]: Handle NULL __argv or __argv[0].
10314 2016-09-08  Pádraig Brady  <P@draigBrady.com>
10316         parse-datetime: restrict debug output to input string
10317         * lib/parse-datetime.y (parse_datetime2): If we parse
10318         all of the input but determine it's invalid, ensure
10319         we don't output the now invalid input pointer.
10320         This issue was seen with `date -d 'now +1'`.
10322 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
10324         flexmember: new macro FLEXALIGNOF
10325         * lib/flexmember.h: Include <stddef.h>, for offsetof.
10326         (FLEXALIGNOF): Rename from _GL_XALLOC_ALIGNOF, as Emacs can use
10327         this macro.  Update comments.
10329 2016-09-07  Jim Meyering  <meyering@fb.com>
10331         getprogname: port to systems with __argv (mingw, msvc)
10332         * lib/getprogname.c (getprogname): Include "dirname.h" and use
10333         last_component: more general than open coding it with hard-coded "/".
10334         * lib/getprogname.h (getprogname): Prefer "char const *" consistently.
10335         * modules/getprogname (Depends-on): Add dirname-lgpl.
10336         (configure.ac): Check for __argv in <stdlib.h>.
10337         * modules/getprogname-tests: New file.
10338         * tests/test-getprogname.c: New file.
10339         Suggested by Gisle Vanem in
10340         https://lists.gnu.org/r/bug-gnulib/2016-09/msg00014.html
10342 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
10344         flexmember: port better to GCC + valgrind
10345         With a char[] flexible array member in a struct with nontrivial
10346         alignment, GCC-generated code can access past the end of the
10347         array, because GCC assumes there are padding bytes to get the
10348         struct aligned.  So the common idiom of malloc (offsetof (struct
10349         s, m), n) does not properly allocate an n-byte trailing member, as
10350         malloc’s argument should be the next multiple of alignof (struct s).
10351         See GCC Bug#66661: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
10352         Although C11 apparently permits this GCC optimization (i.e., there
10353         was a bug in Gnulib not in GCC), possibly this is a defect in C11.
10354         See the thread containing:
10355         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00317.html
10356         * lib/flexmember.h: New file.
10357         * lib/fnmatch.c, lib/fts.c, lib/glob.c, lib/idcache.c:
10358         * lib/localename.c, lib/time_rz.c:
10359         Include flexmember.h.
10360         * lib/fnmatch_loop.c (struct patternlist):
10361         * lib/localename.c (struct hash_node):
10362         Use FLEXIBLE_ARRAY_MEMBER.
10363         * lib/fnmatch_loop.c (EXT):
10364         * lib/fts.c (fts_alloc):
10365         * lib/glob.c (glob_in_dir):
10366         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
10367         * lib/localename.c (gl_lock_define_initialized):
10368         * lib/time_rz.c (tzalloc):
10369         Use FLEXSIZEOF instead of offsetof.
10370         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
10371         Check that the size of the struct can be taken.
10372         * modules/flexmember (Files): Add lib/flexmember.h.
10373         * modules/fnmatch, modules/glob, modules/localename (Depends-on):
10374         Add flexmember.
10376 2016-09-06  Paul Eggert  <eggert@cs.ucla.edu>
10378         getprogname: port to Solaris 10
10379         * lib/getprogname.c: Include stdlib.h, for getexecname decl.
10380         (getprogname) [HAVE_GETEXECNAME]: Use that, for Solaris 10.
10381         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Check for getexecname.
10383         stdalign: correct mistake in alignof doc
10384         Problem reported by Joseph Myers in:
10385         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00340.html
10386         * doc/posix-headers/stdalign.texi: Do not imply that C11 prohibits
10387         alignof(S) where S is a structure containing a flexible array
10388         member.  The Gnulib substitute does not support this, but C11 does.
10390 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
10392         main.mk: remove sc_program_name, since there is no more need to
10393         use set_program_name in tools (getprogname is enough for most
10394         of the cases).
10395         * cfg.mk (local-checks-to-skip): Remove sc_program_name.
10396         * top/maint.mk (sc_program_name): Remove.
10398 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
10400         Port tests away from progname, since modules that need the
10401         program name already depend on getprogname.
10402         * modules/acl-tests (Depends-on): Remove progname.
10403         * modules/argmatch (Depends-on): Likewise.
10404         * modules/argmatch-tests (Depends-on): Likewise.
10405         * modules/argp-tests (Depends-on): Likewise.
10406         * modules/argp-version-etc-tests (Depends-on): Likewise.
10407         * modules/array-list-tests (Depends-on): Likewise.
10408         * modules/array-oset-tests (Depends-on): Likewise.
10409         * modules/avltree-list-tests (Depends-on): Likewise.
10410         * modules/avltree-oset-tests (Depends-on): Likewise.
10411         * modules/avltreehash-list-tests (Depends-on): Likewise.
10412         * modules/carray-list-tests (Depends-on): Likewise.
10413         * modules/copy-file-tests (Depends-on): Likewise.
10414         * modules/exclude-tests (Depends-on): Likewise.
10415         * modules/fchownat-tests (Depends-on): Likewise.
10416         * modules/fdopendir-tests (Depends-on): Likewise.
10417         * modules/filenamecat-tests (Depends-on): Likewise.
10418         * modules/fstatat-tests (Depends-on): Likewise.
10419         * modules/fstrcmp-tests (Depends-on): Likewise.
10420         * modules/linked-list-tests (Depends-on): Likewise.
10421         * modules/linkedhash-list-tests (Depends-on): Likewise.
10422         * modules/mkdirat-tests (Depends-on): Likewise.
10423         * modules/nonblocking-pipe-tests (Depends-on): Likewise.
10424         * modules/nonblocking-socket-tests (Depends-on): Likewise.
10425         * modules/obstack-printf-tests (Depends-on): Likewise.
10426         * modules/openat-tests (Depends-on): Likewise.
10427         * modules/parse-datetime-tests (Depends-on): Likewise.
10428         * modules/pipe-filter-gi-tests (Depends-on): Likewise.
10429         * modules/pipe-filter-ii-tests (Depends-on): Likewise.
10430         * modules/quotearg-simple-tests (Depends-on): Likewise.
10431         * modules/quotearg-tests (Depends-on): Likewise.
10432         * modules/rbtree-list-tests (Depends-on): Likewise.
10433         * modules/rbtree-oset-tests (Depends-on): Likewise.
10434         * modules/rbtreehash-list-tests (Depends-on): Likewise.
10435         * modules/spawn-pipe-tests (Depends-on): Likewise.
10436         * modules/system-quote-tests (Depends-on): Likewise.
10437         * modules/uniname/uniname-tests (Depends-on): Likewise.
10438         * modules/uninorm/nfc-tests (Depends-on): Likewise.
10439         * modules/uninorm/nfd-tests (Depends-on): Likewise.
10440         * modules/uninorm/nfkc-tests (Depends-on): Likewise.
10441         * modules/uninorm/nfkd-tests (Depends-on): Likewise.
10442         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Likewise.
10443         * modules/unistdio/u16-vsprintf-tests (Depends-on): Likewise.
10444         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Likewise.
10445         * modules/unistdio/u32-vsprintf-tests (Depends-on): Likewise.
10446         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Likewise.
10447         * modules/unistdio/u8-vsprintf-tests (Depends-on): Likewise.
10448         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Likewise.
10449         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Likewise.
10450         * modules/unlinkat-tests (Depends-on): Likewise.
10451         * modules/version-etc-tests (Depends-on): Likewise.
10452         * modules/xalloc-die-tests (Depends-on): Likewise.
10453         * modules/xmemdup0-tests (Depends-on): Likewise.
10454         * modules/xprintf-posix-tests (Depends-on): Likewise.
10455         * modules/xvasprintf-tests (Depends-on): Likewise.
10456         * tests/test-argmatch.c: Do not include progname.h.
10457         (main) Stop calling set_program_name.
10458         * tests/test-argp-version-etc.c: Likewise.
10459         * tests/test-argp.c: Likewise.
10460         * tests/test-argv-iter.c: Likewise.
10461         * tests/test-array_list.c: Likewise.
10462         * tests/test-array_oset.c: Likewise.
10463         * tests/test-avltree_list.c: Likewise.
10464         * tests/test-avltree_oset.c: Likewise.
10465         * tests/test-avltreehash_list.c: Likewise.
10466         * tests/test-carray_list.c: Likewise.
10467         * tests/test-copy-acl.c: Likewise.
10468         * tests/test-copy-file.c: Likewise.
10469         * tests/test-exclude.c: Likewise.
10470         * tests/test-fchownat.c: Likewise.
10471         * tests/test-fdopendir.c: Likewise.
10472         * tests/test-filenamecat.c: Likewise.
10473         * tests/test-fstatat.c: Likewise.
10474         * tests/test-fstrcmp.c: Likewise.
10475         * tests/test-linked_list.c: Likewise.
10476         * tests/test-linkedhash_list.c: Likewise.
10477         * tests/test-mkdirat.c: Likewise.
10478         * tests/test-nonblocking-pipe-main.c: Likewise.
10479         * tests/test-nonblocking-socket-main.c: Likewise.
10480         * tests/test-obstack-printf.c: Likewise.
10481         * tests/test-openat.c: Likewise.
10482         * tests/test-parse-datetime.c: Likewise.
10483         * tests/test-pipe-filter-gi1.c: Likewise.
10484         * tests/test-pipe-filter-gi2-main.c: Likewise.
10485         * tests/test-pipe-filter-ii1.c: Likewise.
10486         * tests/test-pipe-filter-ii2-main.c: Likewise.
10487         * tests/test-quotearg-simple.c: Likewise.
10488         * tests/test-quotearg.c: Likewise.
10489         * tests/test-rbtree_list.c: Likewise.
10490         * tests/test-rbtree_oset.c: Likewise.
10491         * tests/test-rbtreehash_list.c: Likewise.
10492         * tests/test-sameacls.c: Likewise.
10493         * tests/test-set-mode-acl.c: Likewise.
10494         * tests/test-spawn-pipe-main.c: Likewise.
10495         * tests/test-system-quote-main.c: Likewise.
10496         * tests/test-unlinkat.c: Likewise.
10497         * tests/test-version-etc.c: Likewise.
10498         * tests/test-xalloc-die.c: Likewise.
10499         * tests/test-xfprintf-posix.c: Likewise.
10500         * tests/test-xmemdup0.c: Likewise.
10501         * tests/test-xprintf-posix.c: Likewise.
10502         * tests/test-xvasprintf.c: Likewise.
10503         * tests/uniname/test-uninames.c: Likewise.
10504         * tests/uninorm/test-u32-nfc-big.c: Likewise.
10505         * tests/uninorm/test-u32-nfd-big.c: Likewise.
10506         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
10507         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
10508         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
10509         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
10510         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
10511         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
10512         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
10513         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
10514         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
10515         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
10516         * tests/test-c-stack.c: (program_name): Do not define.
10517         (main): Do not set program_name.
10518         * tests/test-closein.c: Likewise.
10519         * tests/test-xstrtol.c: Likewise.
10520         * tests/test-yesno.c: Likewise.
10522 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
10524         Port modules to use getprogname explicitly, instead of requiring
10525         progname to be used (or program_name to be provided).
10526         * lib/argmatch.c: Do not include progname.h.
10527         [TEST] (program_name): Do not define.
10528         [TEST] (main): Call getprogname instead of using program_name.
10529         * lib/c-stack.c: Do not include progname.h.
10530         (program_name): Do not define.
10531         (die): Call getprogname instead of using program_name.
10532         * lib/chdir-long.c: Do not include progname.h.
10533         [TEST_CHDIR] (main): Do not set program_name.
10534         * lib/error.c [!_LIBC]: Include progname.h.
10535         [!_LIBC] (program_name): Define using getprogname.
10536         * lib/euidaccess.c: Do not include progname.h.
10537         [TEST] (main): Do not set program_name.
10538         * lib/git-merge-changelog.c: Include getprogname.h instead of
10539         progname.h.
10540         (usage): Call getprogname instead of using program_name.
10541         (main): Likewise.  Stop calling set_program_name.
10542         * lib/group-member.c: Do not include progname.h.
10543         [TEST] (main): Do not set program_name.
10544         * modules/argmatch (Depends-on): Add getprogname.
10545         * modules/c-stack (Depends-on): Likewise.
10546         * modules/error (Depends-on): Likewise.
10547         * modules/git-merge-changelog (Depends-on): Likewise.
10548         Also remove progname.
10550 2016-09-05  Pino Toscano  <ptoscano@redhat.com>
10552         * NEWS: Document the deprecation of the 'progname' module.
10554 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
10556         getprogname: new module
10557         This provides a LGPL module for getting the name of the current
10558         program, using the same API found on *BSD systems.
10559         * lib/getprogname.c, lib/getprogname.h, m4/getprogname.m4:
10560         * modules/getprogname: New files.
10561         * MODULES.html.sh (Misc): Add getprogname.
10563 2016-09-02  Jim Meyering  <meyering@fb.com>
10565         manywarnings: add -fno-common
10566         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -fno-common
10567         to the list.  Quoting the manual, "Compiling with -fno-common is
10568         useful on targets for which it provides better performance, or if
10569         you wish to verify that the program will work on other systems that
10570         always treat uninitialized variable declarations this way [putting
10571         it in the data section]."  If diffutils had been using this sooner,
10572         it would have prevented this duplicate declaration issue:
10573         http://git.sv.gnu.org/cgit/diffutils.git/commit/?id=v3.4-10-gc2dc91f
10575 2016-08-31  Simon Josefsson  <simon@josefsson.org>
10577         parse-datetime: Fix typo.
10578         * lib/parse-datetime.y (parse_datetime2): Fix typo.
10580 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
10582         intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6
10583         * lib/intprops.h (INT_NEGATE_OVERFLOW): Tune for platforms like
10584         GCC 5 and 6 that have __builtin_sub_overflow but not
10585         __builtin_sub_overflow_p.  With the recent changes, these
10586         platforms are a tiny bit faster with the INT_NEGATE_RANGE_OVERFLOW
10587         implementation than with INT_SUBTRACT_OVERFLOW implementation,
10588         since the former needs just one runtime comparison whereas the
10589         latter needs two.
10591         strverscmp: sync with glibc
10592         Although this doesn't exactly synchronize with glibc
10593         byte-for-byte, it makes the code behave the same as glibc.
10594         * lib/strverscmp.c (S_I, S_F, S_Z): Now masks, not powers of 2.
10595         (ISDIGIT): Remove, as glibc is sticking with isdigit, and the
10596         difference shouldn't matter in practical use.  All uses changed
10597         back to isdigit.
10598         (__strverscmp, strverscmp): Use new glibc method for weak aliases.
10599         (next_state): Now unsigned char array; redo elements.
10600         (result_type): Now signed char array; redo elements.
10601         (__strverscmp): Fix glibc bug 9913 by using new states.
10602         * tests/test-strverscmp.c (main): Test glibc bug 9913.
10604 2016-08-29  Jim Meyering  <meyering@fb.com>
10606         xalloc-oversized.h: port __builtin_mul_overflow change to GCC 6.2.0
10607         * lib/xalloc-oversized.h: Port this change to GCC 6.2.0, too,
10608         similarly to how it was done to intprops.h.
10610 2016-08-29  Paul Eggert  <eggert@cs.ucla.edu>
10612         intprops.h: port recent changes to GCC 6.2.0
10613         * lib/intprops.h (__has_builtin): Move earlier.
10614         (_GL_HAS_BUILTIN_OVERFLOW): Rename from
10615         _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL and don't worry about whether
10616         the last argument can be null.  All uses changed.
10617         (_GL_HAS_BUILTIN_OVERFLOW_P): Also test __has_builtin.
10618         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
10619         Don't try to use 3rd arg null, as this doesn't work on GCC 6.2.0
10620         and it's not clear which GCC versions it works for.
10621         (_GL_INT_OP_WRAPV): Use _GL_HAS_BUILTIN_OVERFLOW instead of
10622         its definiens.
10624         intprops.h: use __typeof__ with GCC 7
10625         * lib/intprops.h (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW)
10626         (_GL_MULTIPLY_OVERFLOW): Use __typeof__ as in the GCC manual.
10627         This avoids computing the expression's value (which might overflow!).
10629 2016-08-29  Jim Meyering  <meyering@fb.com>
10631         intprops.h, xalloc-oversized.h: work with gcc 7
10632         In gcc 6, __builtin_add_overflow, __builtin_sub_overflow and
10633         __builtin_mul_overflow each accept a NULL pointer as the third
10634         argument.  However in gcc 7, that is no longer accepted.
10635         Instead, one must use the "_p"-suffixed names, with which, the
10636         third parameter is no longer a pointer.
10637         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): Correct
10638         the definition: not true for gcc 7 and subsequent.
10639         (_GL_HAS_BUILTIN_OVERFLOW_P): Define.
10640         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
10641         Provide new definitions for gcc 7 and subsequent.
10642         * lib/xalloc-oversized.h (xalloc_oversized): Provide a definition
10643         that works with gcc-7.
10645         intprops.h: fix missing-backslash problems
10646         * lib/intprops.h (_GL_ADD_OVERFLOW): Add backslash.
10647         (_GL_SUBTRACT_OVERFLOW,_GL_MULTIPLY_OVERFLOW): Likewise.
10649 2016-08-24  Paul Eggert  <eggert@cs.ucla.edu>
10651         intprops: fix paren typo on old platforms
10652         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300#13
10653         * lib/intprops.h (_GL_INT_OP_WRAPV_LONGISH)
10654         [__GNUC__ < 5 && !__has_builtin (__builtin_add_overflow)
10655         && (__STDC_VERSION__ < 201112 || _GL__GENERIC_BOGUS)
10656         && !defined LLONG_MAX]:
10657         Remove stray paren.
10659         intprops: port to OpenVMS
10660         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300
10661         * doc/posix-headers/limits.texi: Document the problem.
10662         * lib/intprops.h (LLONG_MAX, LLONG_MIN) [__INT64_MAX]:
10663         Define if not already defined.
10665 2016-08-19  Assaf Gordon  <assafgordon@gmail.com>
10667         parse-datetime: improve debug implementation
10668         Follow-up to commit 12ad79069 ("add optional debug printing").
10669         Improve parse-datetime's debug implementation: remove macros,
10670         replace global debug flag variable with a function parameter,
10671         use nstrftime for formatting.
10672         See: https://lists.gnu.org/r/bug-gnulib/2016-08/msg00021.html
10673         * lib/parse-datetime.h: (parse_datetime_debug): Remove global extern.
10674         (parse_datetime2): New function, accepts 'flags' parameter, supporting
10675         debug flag. Existing interface 'parse_datetime' left unmodified.
10676         * lib/parse-datetime.c: (parse_datetime_debug): Remove global variable.
10677         (struct parser_control): add 'parse_datetime_debug' member variable.
10678         (parse_datetime): Call new function 'parse_datetime2' without debug.
10679         (parse_datetime2): Adapted from previous 'parse_datetime', initialize
10680         pc.parse_datetime_debug variable as needed.
10681         (to_year): Accept new flags parameter, instead of using global variable.
10682         (debug_print_current_time,debug_print_relative_time,debug_mktime_not_ok):
10683         use struct 'debug' variable instead of global variable.
10684         (DEBUG,DEBUG_PRINT_CURRENT_TIME,DEBUG_PRINT_RELATIVE_TIME,
10685         DEBUG_MKTIME_NOT_OK,PROGRESS,PROGRESS0): Remove macros. Call
10686         correspnding functions directly instead of using macros.
10687         * modules/parse-datetime: Add gnulib's strftime module.
10689 2016-08-19  Daniel Richard G.  <skunk@iSKUNK.ORG>
10691         c-strcase-tests: port to EBCDIC
10692         * tests/test-c-strncasecmp.c: Allow two c_strncasecmp calls
10693         which assume ASCII encoding semantics to run only in ASCII
10694         mode, as they fail in EBCDIC.
10696         sigpipe-tests: fix typo
10697         * tests/test-sigpipe.sh: C, not B.
10699 2016-08-18  Paul Eggert  <eggert@cs.ucla.edu>
10701         canonicalize-lgpl: fix errno after malloca fails
10702         This fixes a typo I recently introduced.  Suggested by Bruno Haible in:
10703         http://lists.gnu.org/r/bug-gnulib/2016-08/msg00039.html
10704         * lib/canonicalize-lgpl.c (__realpath):
10705         Don't assume malloca sets errno on failure.
10707 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
10709         strtod: port errno handling to z/OS
10710         * lib/strtod.c (strtod): Save and restore errno more reliably.
10712 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
10714         strtod: port to z/OS
10715         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
10716         implementation.
10718 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
10720         strtod: port to z/OS
10721         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
10722         implementation.
10724         regex, string: rename to avoid '__string'
10725         * lib/regex.h, lib/string.in.h: Do not use the identifier
10726         '__string', as it is effectively reserved by string.h on z/OS.
10728         c-strcase-tests, wcwidth-tests: depend on c-ctype
10729         * modules/c-strcase-tests, modules/wcwidth-tests (Depends-on):
10730         Add c-ctype.
10732 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
10734         thread: port to z/OS
10735         * lib/glthread/thread.c, lib/glthread/thread.h:
10736         Rudimentary gl_thread support for z/OS.
10738         maint: port tests to z/OS errno behavior
10739         * tests/test-nonblocking-reader.h:
10740         * tests/test-nonblocking-writer.h:
10741         Accommodate z/OS errno code preferences. (I believe this should
10742         still be within spec; IBM is good at following the letter if not
10743         the spirit of such things.)
10745         maint: preprocessor changes to support z/OS
10746         * lib/alloca.in.h, lib/fnmatch.c, lib/get-rusage-as.c:
10747         * lib/glob.c, lib/math.in.h, lib/ptsname_r.c:
10748         * tests/infinity.h, tests/nan.h, tests/test-canonicalize-lgpl.c:
10749         * tests/test-nonblocking-pipe.h:
10751         fclose, strstr-simple, wchar: port to z/OS
10752         * m4/fclose.m4, m4/strstr.m4, m4/wchar_h.m4:
10753         Changes to the Autoconf M4 code to support z/OS.  Note that
10754         fclose() is broken in a different way on z/OS than it is on other
10755         systems, thus the special-case in fclose.m4.
10757         iconv_open-utf-tests, iconv-tests: port to EBCDIC
10758         * tests/test-iconv-utf.c, tests/test-iconv.c:
10759         Added appropriately conditional #pragmas so that the test strings
10760         in test-iconv-utf.c are correctly interpreted in ASCII instead of
10761         EBCDIC (i.e. 'J' == 0x4A and not 0xD1). This issue could be
10762         addressed in a more portable way by simply rewriting all the ASCII
10763         literal characters as octal escapes, but then you would lose the
10764         partial readability that the strings have now. Also, iconv_open()
10765         on z/OS does not recognize "ISO-8859-1", but "ISO8859-1" works.
10767         c-strcase-tests, wcwidth-tests: port to EBCDIC
10768         * tests/test-c-strcasecmp.c: Include c-ctype.h.
10769         (main) [!C_CTYPE_ASCII]: Skip tests that assume ASCII.
10770         * tests/test-wcwidth.c: Likewise.
10772 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
10774         stdbool: don't require _Bool for C++
10775         Problem reported by David Seifert in:
10776         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00005.html
10777         * NEWS, doc/posix-headers/stdbool.texi (stdbool.h): Document this.
10778         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Make the check
10779         more-forgiving for C++, in that it requires only 'bool'.  Be a bit
10780         stricter about checking that bool and _Bool are compatible in C.
10782 2016-08-16  Paul Eggert  <eggert@cs.ucla.edu>
10784         getdelim: remove dependency on realloc-posix
10785         * lib/canonicalize-lgpl.c (alloc_failed)
10786         [!FUNC_REALPATH_WORKS || defined _LIBC]: New function,
10787         (__realpath) [!FUNC_REALPATH_WORKS || defined _LIBC]: Use it.
10788         Use __set_errno where needed, for consistency.
10789         * lib/getdelim.c (alloc_failed): New function.
10790         (getdelim): Use it.
10792 2016-08-09  Assaf Gordon  <assafgordon@gmail.com>
10794         parse-datetime: add optional debug printing
10795         Print parsing information, warnings, and errors to stderr.
10796         * lib/parse-datetime.h (parse_datetimte_debug): New global variable.
10797         * lib/parse-datetime.y:
10798         (DEBUG_*):  Macros calling debug functions if debugging is enabled.
10799         (PROGRESS*): Same as DEBUG, for progress reporting.
10800         (dbg_printf): Print message to stderr, with 'date' prefix.
10801         (struct parser_control): Add 'debug_*_seen' variables.
10802         (str_days): Converts day ordinal/number to string (e.g. 'last wed').
10803         (debug_print_current_time, debug_print_relateive_time): Prints the
10804         current/relative date/time value of parser_control.
10805         (YACC parser syntax): Print parsed parts with DEBUG_* macros.
10806         (to_year): Warn about 2-digit year parsing.
10807         (yylex):   Warn about unrecognized words.
10808         (get_effective_timezone): Returns current timezone in minutes.
10809         (debug_strf{time,date,datetime}): Convert 'struct tm' to string as
10810         clearly and unambigiously as possible.
10811         (debug_mktime_not_ok): Print detailed information about failed
10812         date/time values.
10813         (parse_datetime): Add DEBUG messages for failures, warnings. Add
10814         PROGRESS messages for status messages.
10815         * modules/parse-datetime: Add 'timegm', 'gettext-h' dependencies.
10817 2016-08-06  Jim Meyering  <meyering@fb.com>
10819         tests/init.sh: exclude dash with bad "local" semantics
10820         * tests/init.sh (gl_shell_test_script_): Add a function to
10821         eliminate a shell like "dash" (unlike bash, zsh) that has
10822         surprising/risky "local var='...'" semantics.  Inspired by
10823         the problem and discussion in https://bugs.gnu.org/24116#11.
10825 2016-08-02  Ján Tomko  <jtomko@redhat.com>
10827         maint.mk: expand the prohibit_doubled_word regex
10828         This check has a static list of words that are checked for
10829         repetitions.  Expand it before running the perl script to
10830         avoid using expensive captures.  This decreases the cost
10831         for libvirt from 1.66s to 0.66s.
10832         * top/maint.mk (prohibit_doubled_word_expanded_): Define.
10833         (sc_prohibit_doubled_word): Use it.
10835 2016-07-26  Ján Tomko  <jtomko@redhat.com>
10837         useless-if-before-free: skip non-matching lines early
10838         * build-aux/useless-if-before-free: First match each line with the
10839         simple/quick /\bif\b/ and reject if there is no match. This often
10840         saves the cost of the much more involved regular expression.
10841         For libvirt, this decreases the cost from 1.44s to 1.02s.
10843 2016-07-26  Ján Tomko  <jtomko@redhat.com>
10845         maint.mk: speed up sc_po_check
10846         sc_po_check would skip files based on their names, or on the
10847         existence of files with derived names. Rewrite it to use perl
10848         instead of shell to make the check faster.
10849         * top/maint.mk (perl_translatable_files_list_): Define.
10850         (sc_po_check): Use it.
10852 2016-07-30  Ján Tomko  <jtomko@redhat.com>
10854         maint.mk: speed up require_config_h_first
10855         Instead of spawning three processes per file,
10856         rewrite the check in perl and run it once for all the files.
10857         * top/maint.mk (perl_config_h_first_): Define.
10858         (sc_require_config_h_first): Use it in place of shell code.
10860 2016-07-26  Ján Tomko  <jtomko@redhat.com>
10862         maint.mk: speed up sc_po_check
10863         sc_po_check would skip files based on their names, or on the
10864         existence of files with derived names. Rewrite it to use perl
10865         instead of shell to make the check faster.
10866         * top/maint.mk (perl_translatable_files_list_): Define.
10867         (sc_po_check): Use it.
10869 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
10871         obstack: pacify GCC 6 with -Wnull-dereference
10872         Problem reported by Assaf Gordon in:
10873         http://lists.gnu.org/r/bug-gnulib/2016-07/msg00028.html
10874         * lib/obstack.c, lib/obstack.h (obstack_alloc_failed_handler):
10875         Declare with __attribute_noreturn__.
10876         * lib/obstack.h (__attribute_noreturn__): New macro.
10878 2016-07-13  Eric Blake  <eblake@redhat.com>
10880         doc: mention glibc, OS X, Cygwin [S]SIZE_MAX buglet
10881         * doc/posix-headers/stdint.texi (stdint.h): Document the bugs.
10882         * doc/posix-headers/limits.texi (limits.h): Document the bugs.
10884 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
10886         doc: mention glibc SSIZE_MAX buglet
10887         * doc/posix-headers/limits.texi (limits.h): Document the bug.
10889 2016-07-04  Martin Kletzander  <mkletzan@redhat.com>
10891         printf-posix: Fix mingw build
10892         Commit 54615b95ff238e235e806855efc46a9abad09f2e changed the regular
10893         expression for detecting C symbol prefixes but forgot to qoute square
10894         brackets in the command line arguments for grep.  That way when
10895         building with mingw the condition was false although it ought to be
10896         true instead.  In particular scenarios this led to the following
10897         compile error:
10899             Cannot export rpl_printf: symbol not found
10900             Cannot export rpl_scanf: symbol not found
10901             collect2: error: ld returned 1 exit status
10903         Fix this by properly quoting square brackets.
10905 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
10907         mktime: call tzset as per POSIX
10908         Problem reported by Ludovic Courtès in:
10909         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00068.html
10910         * lib/mktime.c (mktime) [!_LIBC && HAVE_TZSET]: Call tzset.
10911         * m4/mktime.m4 (gl_FUNC_MKTIME): Check for tzset.
10913 2016-06-26  Pádraig Brady  <P@draigBrady.com>
10915         fts: handle readdir() errors
10916         * lib/fts.c (fts_build): readdir(3) returns NULL when finished,
10917         but also upon error when it will also set errno.  Therefore
10918         flag the error case from readdir().  We treat the case where
10919         no items are read the same as if the dir can't be accessed,
10920         i.e. by setting fts_errno to FTS_DNR.
10922 2016-06-24  Paul Eggert  <eggert@cs.ucla.edu>
10924         intprops: port better to GCC 7
10925         GCC 7 __builtin_add_overflow supports a new usage form, where the
10926         last argument is a null pointer, and which merely returns 1 if an
10927         overflow would occur.  This is a constant expression if all
10928         arguments are constants, and should generate faster code when code
10929         needs to be generated.
10930         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): New macro.
10931         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
10932         Use builtin operations if available.
10933         (INT_NEGATE_OVERFLOW): Prefer INT_SUBTRACT_OVERFLOW if builtin
10934         operations are available, as it's almost surely faster.
10936 2016-06-23  Paul Eggert  <eggert@cs.ucla.edu>
10938         intprops-test: port to GCC 6
10939         * tests/test-intprops.c: Ignore -Woverflow if any GCC version,
10940         since the bug is not fixed in GCC 6.1.
10942 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
10944         xalloc-oversized: port to GCC 7; fewer warnings
10945         GCC 7 will have a better way to deal with integer overflow.
10946         Plus, fix a warnings problem reported by Tim Ruehsen in:
10947         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00022.html
10948         * lib/xalloc-oversized.h (__xalloc_oversized): New macro.
10949         (xalloc_oversized): Use plain __builtin_mul_overflow if GCC 7 or later.
10950         For GCC 5, use __xalloc_oversized if both args are constants,
10951         or if pedantic.
10953 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
10955         regex: port to Sun C
10956         Reported by Daiki Ueno.
10957         * lib/regcomp.c (regcomp, regerror): Use _Restrict_, not
10958         __restrict, in prototype.  This fixes a problem I introduced in
10959         the 2016-02-19 merge from glibc.
10961 2016-05-31  Paul Eggert  <eggert@cs.ucla.edu>
10963         stdbool: Restore __bool_true_false_are_defined check
10964         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL):
10965         __bool_true_false_are_defined is still defined, even with C++11.
10967 2016-05-31  David Seifert  <soap@gentoo.org>  (tiny change)
10969         stdbool: Port AC_CHECK_HEADER_STDBOOL to C++11
10970         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Port to C++11.
10972 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
10974         Use GCC_LINT, not lint
10975         FreeBSD and Cygwin #define _Noreturn to empty if 'lint' is defined.
10976         Problem reported by Ken Brown in: http://bugs.gnu.org/23640
10977         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
10978         Document problem with lint and _Noreturn.
10979         * lib/diffseq.h (IF_LINT, IF_LINT2):
10980         * lib/fts.c (sccsid):
10981         * lib/getndelim2.c (IF_LINT):
10982         * lib/gl_anylinked_list2.h (gl_linked_iterator)
10983         (gl_linked_iterator_from_to):
10984         * lib/gl_anytree_list2.h (gl_tree_iterator)
10985         (gl_tree_iterator_from_to):
10986         * lib/gl_anytree_oset.h (gl_tree_iterator):
10987         * lib/gl_array_list.c (gl_array_iterator)
10988         (gl_array_iterator_from_to):
10989         * lib/gl_array_oset.c (gl_array_iterator):
10990         * lib/gl_carray_list.c (gl_carray_iterator)
10991         (gl_carray_iterator_from_to):
10992         * lib/idcache.c:
10993         * lib/inet_ntop.c (IF_LINT):
10994         * lib/regcomp.c (build_charclass_op, create_tree):
10995         * lib/regex_internal.c (re_acquire_state)
10996         (re_acquire_state_context):
10997         * lib/trigl.c (rcsid):
10998         * lib/trim.c (IF_LINT):
10999         * lib/vasnprintf.c (IF_LINT):
11000         * lib/verify.h (assume):
11001         Treat GCC_LINT like lint.
11003 2016-05-29  Bruno Haible  <bruno@clisp.org>
11005         secure_getenv: Port to many more platforms.
11006         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV): Also check for get*id
11007         functions.
11008         * lib/secure_getenv.c (secure_getenv): Add alternate implementations
11009         for non-BSD Unix platforms and for native Windows.
11010         * doc/glibc-functions/secure_getenv.texi: Remove known issue.
11011         Prompted by a request from Nikos Mavrogiannopoulos.
11013 2016-05-27  Eric Blake  <eblake@redhat.com>
11015         canonicalize: Fix broken probe for realpath.
11016         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Fix regression
11017         in logic introduced in 54615b95.
11019 2016-05-26  Eric Blake  <eblake@redhat.com>
11021         unsetenv: relax to LGPLv2+
11022         * modules/unsetenv (License): Match setenv license.
11024 2016-05-20  Ludovic Courtès  <ludo@gnu.org>
11026         gendocs.sh: Set default TOP_NODE_UP_URL in HTML output.
11027         Suggested by Gavin Smith <gavinsmith0123@gmail.com>.
11028         Reported by myglc2 <myglc2@gmail.com> in <http://bugs.gnu.org/22651>.
11029         * build-aux/gendocs.sh (MANUAL_TITLE, PACKAGE, EMAIL)
11030         (commonarg, dirargs, dirs, infoarg, generate_ascii)
11031         (generate_html, generate_info, generate_tex, outdir)
11032         (source_extra, split, srcfile, texarg): Move above 'version'.
11033         (htmlarg): Likewise, and add "-c TOP_NODE_UP_URL=/manual".
11035 2016-05-17  Paul Eggert  <eggert@cs.ucla.edu>
11037         manywarnings: update for GCC 6.1
11038         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
11039         Add GCC 6.1 options that apply to C.
11040         * build-aux/gcc-warning.spec: Add GCC 6.1 options that
11041         do not apply to C, are obsolescent, etc.
11043 2016-05-12  Paul Eggert  <eggert@cs.ucla.edu>
11045         glob: size_t overflow checks
11046         * lib/glob.c (__has_builtin): New macro.
11047         (size_add_wrapv, glob_use_alloca): New static functions.
11048         (glob, glob_in_dir): Check for size_t overflow in several places,
11049         and fix some size_t checks that were not quite right.
11051         glob: don't assume INT_MAX < SIZE_MAX
11052         * lib/glob.c (glob): Prefer SIZE_MAX to ~((size_t) 0), as the
11053         latter is not portable to (probably theoretical) hosts where
11054         SIZE_MAX <= INT_MAX.
11056 2016-05-09  Bruno Haible  <bruno@clisp.org>
11058         Fix undefined behaviour in gettext.h.
11059         * lib/gettext.h (dcpgettext_expr, dcnpgettext_expr): Avoid accessing a
11060         pointer's value after the storage it points to has been freed.
11061         Reported by Michael Pyne in https://savannah.gnu.org/bugs/?47847.
11062         Spotted by Coverity.
11064 2016-05-08  Paul Eggert  <eggert@cs.ucla.edu>
11066         git-version-gen: avoid undefined shift
11067         Problem reported by Mosè Giordano in:
11068         http://lists.gnu.org/r/bug-gnulib/2016-05/msg00012.html
11069         * build-aux/git-version-gen: Avoid undefined behavior if invoked
11070         with --prefix or --fallback but without a later argument.  While
11071         we're at it, omit unnecessary quotes.
11073 2016-05-04  Paul Eggert  <eggert@cs.ucla.edu>
11075         glob: merge glibc changes into lib/glob.c
11076         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c,
11077         dated 2016-05-04 12:09:35 2016 +0200.  Here are the changes:
11078         2016-05-04 CVE-2016-1234: glob: Do not copy d_name field of
11079           struct dirent [BZ #19779]
11080         2016-04-29 glob: Simplify the interface for the GLOB_ALTDIRFUNC
11081           callback gl_readdir
11082         2015-10-20 Convert miscellaneous function definitions to prototype style
11083         2015-10-20 Convert 113 more function definitions to prototype style
11084           (files with assertions)
11085         2015-06-12 Fix getlogin_r namespace (bug 18527).
11086         2014-02-10 Use glibc_likely instead __builtin_expect.
11087         2013-10-20 When glob pattern contains a trailing slash match only
11088           directories. Fixes bug 10278.
11089         2013-09-04 glob: silence -Wattribute warnings
11090         2013-06-07 Avoid use of "register" as optimization hint.
11091         2012-09-25 Use size_t instead of int for internal variables in glob
11092           (bug 14621)
11093         2011-07-20 Check for overflows in expressions
11094         2011-05-28 Remove unused variable
11095         2011-05-22 Add a few more alloca size checks
11096         2010-03-27 Whitespace fixes
11097         2010-03-27 Fix one more issue with the glob patch
11098         2010-03-24 Fix glob with empty pattern
11099         2008-05-27 Remove useless more "if" tests before "free"
11100         * modules/glob (Depends-on): Add stdint.
11102 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
11104         mktime: port to stricter signed overflow checking
11105         * lib/mktime.c: Omit 'pragma GCC optimize ("wrapv")'.
11106         (long_int): Require width for INT_MAX * 3 * (seconds per year),
11107         instead of merely for INT_MAX * 2.  In practice platforms that
11108         do the latter also do the former.
11109         (TIME_T_MIN, TIME_T_MAX, TIME_T_MIDPOINT, SHR): Remove.
11110         (shr): New static function, replacing SHR.  All uses changed.
11111         (mktime_min, mktime_max): New constants, replacing TIME_T_MIN
11112         and TIME_T_MAX.  All uses changed.
11113         (ydhms_diff, guess_time_tm, ranged_convert, __mktime_internal):
11114         Use long_int, not time_t.
11115         (long_int_avg): New static function, replacing time_t_avg.
11116         All uses changed.  Round toward positive infinity, as that
11117         generates slightly better code.
11118         (time_t_add_ok, time_t_int_add_ok): Remove.  All uses replaced
11119         by INT_ADD_WRAPV.
11120         (guess_time_tm): Accept time, not a pointer to it.  All uses changed.
11121         (convert_time): New static function.
11122         (ranged_convert): Use it
11123         (ranged_convert): Check for *T out of [mktime_min, mktime_max] range.
11124         Use simpler test for loop exit.
11125         (__mktime_internal): Store negative of guessed offset, to simplify
11126         overflow checking.  Remove no-longer-needed test for small time_t
11127         overflows.
11129         mktime: speed up DEBUG_MKTIME benchmarks
11130         Call tzset just once, at the start, rather than for every test
11131         case.  This lets us measure the CPU cost of mktime as opposed to
11132         that of tzset.  This is relevant when TZ is not set and glibc is
11133         being used.  This speeds up tests by a factor of 40 on my Fedora
11134         23 x86-64 platform.
11135         * lib/mktime.c (main) [DEBUG_MKTIME]: Call localtime at the start,
11136         to call tzset and as a sanity check.  Later on, use localtime_r
11137         instead of localtime.
11139         mktime: resurrect DEBUG_MKTIME testing
11140         * lib/mktime.c [DEBUG_MKTIME]: Do not include <config.h>.
11141         Include <string.h>, for strcmp.
11143         mktime: simplify DEBUG_MKTIME
11144         * lib/mktime.c (DEBUG_MKTIME): Define to 0 if not defined.
11145         Simplify later usage accordingly.
11147         Port mktime_internal offset to unsigned time_t
11148         This avoids some assumptions about wraparound arithmetic on
11149         signed integer overflow.
11150         * lib/mktime-internal.h (mktime_offset_t): New type.
11151         (mktime_internal): Use it in decl.
11152         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]: New type.
11154         * lib/mktime.c (__mktime_internal, localtime_offset):
11155         * lib/timegm.c (timegm): Use it.
11156         * m4/mktime.m4 (gl_TIME_T_IS_SIGNED): New macro.
11157         (gl_FUNC_MKTIME): Require it.
11159 2016-04-27  Paul Eggert  <eggert@cs.ucla.edu>
11161         xstrtol: prohibit monstrosities like "1bB"
11162         Problem reported by Young Mo Kang in: http://bugs.gnu.org/23388
11163         * lib/xstrtol.c (__xstrtol): Allow trailing second suffixes like
11164         "B" only if the first suffix needs a base.
11165         * tests/test-xstrtol.sh: Test this.
11167 2016-04-21  Pádraig Brady  <P@draigBrady.com>
11169         xstrtod: reinstate setting of *result upon ERANGE
11170         * lib/xstrtod.c (XSTRTOD): The user may decide to use
11171         the returned limits upon ERANGE, so allow and document that.
11173 2016-04-20  Tino Calancha  <f92capac@gmail.com>  (tiny change)
11175         xstrtod: modify *result only if no errors
11176         * lib/xstrtod.c (XSTRTOD).
11178 2016-04-19  Paul Eggert  <eggert@cs.ucla.edu>
11180         btowc: document problems in C locale
11181         * doc/posix-functions/btowc.texi (btowc): Mention incompatibility
11182         with mbrtowc.  See: http://bugs.gnu.org/23269#32
11184 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
11186         mktime: improve integer overflow checking
11187         * lib/mktime.c: Include stdbool.h, intprops.h, verify.h.
11188         (WRAPV): Remove; no longer needed.
11189         (verify): Remove.  Replace all uses with call to verify.h 'verify'.
11190         (TYPE_IS_INTEGER, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
11191         Remove.  Use intprops.h defns instead.
11192         (leapyear, isdst_differ, time_t_add_ok, time_t_int_ok):
11193         Use bool for Boolean, for clarity.
11194         (time_t_add_ok, time_t_int_add_ok): Use INT_ADD_WRAPV to
11195         detect integer overflow.
11196         * modules/mktime (Depends-on): Add intprops, stdbool, verify.
11198         intprops: check two's complement assumption
11199         Suggested by Eric Blake in:
11200         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00016.html
11201         * lib/intprops.h: Include <verify.h>.  Verify that signed char,
11202         short, int, long, and (if available) long long are two's complement.
11203         * modules/intprops (Depends-on): Add 'verify'.
11205         intprops, mktime, strtol: assume two's complement
11206         These macros were not portable to every conforming C11 ones'
11207         complement platform.  It's not worth the hassle of porting to some
11208         platforms that use ones' complement or signed magnitude, as such
11209         platforms are almost purely theoretical nowadays and porting even
11210         to some of them makes the code harder to review for little
11211         practical benefit.  Problem reported by Florian Weimer in:
11212         https://sourceware.org/ml/libc-alpha/2016-04/msg00295.html
11213         * lib/intprops.h (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
11214         (TYPE_SIGNED_MAGNITUDE, _GL_INT_TWOS_COMPLEMENT):
11215         * lib/mktime.c (TYPE_TWOS_COMPLEMENT):
11216         * lib/strtol.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
11217         (TYPE_SIGNED_MAGNITUDE):
11218         Remove.  All uses rewritten to assume two's complement, which is
11219         all we can reasonably test nowadays anyway.
11220         * top/maint.mk (_intprops_names): Remove the removed macros.
11222 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
11224         stdint: port to strict C11 left shift
11225         * lib/stdint.in.h (_STDINT_MIN, _STDINT_MAX):
11226         Pacify clang -Wshift-negative-value, which should be an issue only
11227         on clang setups where stdint.h does not conform to C11 or to C++11.
11228         Problem reported by Philipp Stephani in: http://bugs.gnu.org/23261
11230 2016-04-09  Paul Eggert  <eggert@penguin.cs.ucla.edu>
11232         mbrtowc: work around glibc bug#19932
11233         Fix mbrtowc so that it never returns -1 in the C locale,
11234         as this conflicts with a future version of POSIX
11235         http://austingroupbugs.net/view.php?id=663#c2738
11236         and causes problems with GNU grep: http://bugs.gnu.org/23234
11237         See glibc bug 19932:
11238         https://sourceware.org/bugzilla/show_bug.cgi?id=19932
11239         * doc/posix-functions/mbrlen.texi (mbrlen):
11240         * doc/posix-functions/mbrtowc.texi (mbrtowc):
11241         Document the glibc bug.
11242         * lib/mbrtowc.c [C_LOCALE_MAYBE_EILSEQ]:
11243         Include hard-locale.h, locale.h.
11244         (rpl_mbrtowc): Work around the C_LOCALE_MAYBE_EILSEQ bug,
11245         if the bug is possible.
11246         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): New macro.
11247         (gl_FUNC_MBRTOWC): Use it, and define C_LOCALE_MAYBE_EILSEQ as needed.
11248         * modules/hard-locale (License): Now LGPLv2+, for mbrtowc.
11249         * modules/mbrtowc (Depends-on): Add hard-locale.
11250         * modules/mbrtowc-tests (Files, TESTS): Add tests/test-mbrtowc5.sh.
11251         * tests/test-mbrtowc.c (main): Test for bug fix if arg is '5'.
11252         * tests/test-mbrtowc5.sh: New file.
11254 2016-04-03  Pedro Alves  <palves@redhat.com>
11256         stdint: detect good enough pre-C++11 stdint.h in C++ mode
11257         When gnulib is configured in C++ mode for a system with a working C99
11258         implementation of stdint.h that predates C++11, gnulib ends up
11259         substituting stdint.h anyway.  This works on most targets, but on e.g.,
11260         64-bit MinGW, it doesn't, as gnulib's substitute assumes LP64, while
11261         MinGW is LLP64.  Instead of trying to detect the right types, detect
11262         good-enough-pre-C++11 stdint.h and in such case define
11263         __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS in config.h.
11264         * m4/stdint.m4 (gl_STDINT_H): Always define __STDC_CONSTANT_MACROS
11265         / __STDC_LIMIT_MACROS while checking whether the system stdint.h
11266         conforms to C99.  If it does, check whether it hides symbols
11267         behind the __STDC_{CONSTANT|LIMIT}_MACROS macros.  Then if it
11268         does, define those macros in config.h.
11270 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
11272         argp: merge changes from glibc
11273         Among other things, this should fix problems found by a Coverity
11274         scan and reported by Andrei Borzenkov:
11275         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00015.html
11276         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00016.html
11277         * lib/argp-ba.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h:
11278         * lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h:
11279         * lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c:
11280         * lib/argp.h:
11281         Merge changes from glibc.
11282         * tests/test-argp-2.sh: Adjust to match new behavior.
11284 2016-04-01  Paul Eggert  <eggert@cs.ucla.edu>
11286         stddef: support configuring with g++
11287         Problem reported by Ángel González in:
11288         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00003.html
11289         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS, max_align_t):
11290         Do not define if _GCC_MAX_ALIGN_T is defined.
11292 2016-03-25  Paul Eggert  <eggert@cs.ucla.edu>
11294         test-framework-sh: minor cleanups
11295         * tests/init.sh (testdir_prefix_): Output a trailing newline,
11296         since strictly speaking POSIX requires this.
11297         (setup_): Do not use the variable 'fail', as that makes the
11298         trace output harder to read ('fail' is typically used by
11299         tests to mean the test failed).  Treat // portably.
11300         Check that new directory is not merely a sibling of the tmp dir.
11301         Avoid unnecessary invocation of tr.
11303         test-framework-sh: revert port to NetBSD 7.0
11304         It was a false alarm; I misinterpreted Assaf Gordon's report.
11305         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
11306         Restore.
11307         (test_dir_): Adjust to mktempd_ change.
11308         (mktempd_): Restore 2nd arg.  Use -t again.
11309         (base_template_, template_, nx_): Resurrect old code.
11311         Port better to Alpine Linux
11312         Its diff implementation does not support -c, but does support -U3.
11313         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
11314         * tests/init.sh (diff_opt_): New var.
11315         (compare_): Prefer diff -U3 to diff -c to plain diff.
11317 2016-03-24  Paul Eggert  <eggert@cs.ucla.edu>
11319         test-framework-sh: port to NetBSD 7.0
11320         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
11321         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
11322         Remove.  All uses removed.
11323         (test_dir_): Adjust to mktempd_ change.
11324         (mktempd_): Omit 2nd arg.  Stop using -t, as it is not portable.
11325         (base_template_, template_, nx_): Simplify by hardcoding.
11327 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
11329         gitlog-to-changelog: suppress ignored chatter
11330         * build-aux/gitlog-to-changelog: Do not warn about skipping
11331         an SHA if it would have been ignored anyway.
11333 2016-03-22  Geert Janssens  <janssens-geert@telenet.be>
11335         setlocale: add "sv" to Windows language table
11336         * lib/setlocale.c (language_table) [W32]: Add "sv".
11337         Reported in <https://savannah.gnu.org/bugs/?44588>.
11339 2016-03-21  Paul Eggert  <eggert@cs.ucla.edu>
11341         sys_select: port to new Cygwin
11342         Problem reported by Ken Brown in:
11343         https://lists.gnu.org/r/bug-gnulib/2016-03/msg00054.html
11344         * lib/sys_select.in.h [__CYGWIN__]: Avoid "unknown type name"
11345         diagnostics.
11347 2016-03-17  Jim Meyering  <meyering@fb.com>
11349         test-userspec.c: do not trigger gcc's new -Wmisleading-indentation
11350         * tests/test-userspec.c (main): Remove unnecessary braces and fix
11351         misleading indentation. Here is the diagnostic gcc-6.0-to-be issued:
11352           test-userspec.c:176:9: error: statement is indented as if it were \
11353             guarded by... [-Werror=misleading-indentation]
11354                    {
11355                    ^
11356           test-userspec.c:173:7: note: ...this 'if' clause, but it is not
11357                  if (!diag && !T[i].result)
11358                  ^~
11360 2016-03-15  Paul Eggert  <eggert@cs.ucla.edu>
11362         time_rz: port to clang -Wunused-const-variable
11363         * lib/time_rz.c (TZ): Remove.  All uses removed.
11365         std-gnu11: improve clang support
11366         * m4/std-gnu11.m4: Sync with autoconf, incorporating:
11367         2016-03-15 Also try clang
11368         2016-03-15 Port C11 and C++11 testing to clang
11370         select: port more to Intel 2016.1.150 compiler
11371         Problem reported by Balázs Hajgató in:
11372         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00036.html
11373         * m4/select.m4 (gl_FUNC_SELECT): Require AC_C_RESTRICT.
11375 2016-03-14  Paul Eggert  <eggert@cs.ucla.edu>
11377         select: try to port to 2016.1.150 compiler
11378         Problem reported by Balázs Hajgató in:
11379         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00026.html
11380         * lib/sys_select.in.h (select): Use 'restrict' on arguments where
11381         POSIX specifies 'restrict'.
11383 2016-03-13  Paul Eggert  <eggert@cs.ucla.edu>
11385         localename-tests: memory allocation fixes
11386         * tests/test-localename.c (test_locale_name)
11387         (test_locale_name_thread): Don't call freelocale on a locale
11388         that was the base of a successful newlocale, as that
11389         results in a double free.  Problem reported by Assaf Gordon.
11390         (test_locale_name_thread): Free saved names after use, to pacify
11391         gcc -fsanitize=address.
11393 2016-03-08  Paul Eggert  <eggert@cs.ucla.edu>
11395         intprops: make .h file license match module
11396         * lib/intprops.h: Change the license wording to match glibc format.
11397         This is what is in modules/intprops anyway.  See:
11398         https://sourceware.org/bugzilla/show_bug.cgi?id=19738#c8
11400 2016-03-08  Eric Blake  <eblake@redhat.com>
11402         acl: fix missing return on Cygwin
11403         * lib/set-permissions.c (set_acls) [HAVE_FACL && GETACL]: Don't
11404         fall off end of function. Fixes http://bugs.gnu.org/22949
11406 2016-03-05  Bruno Haible  <bruno@clisp.org>
11408         extern-inline: port to PGI CC
11409         * m4/extern-inline.m4 (gl_EXTERN_INLINE): For PGI CC, don't use the
11410         keyword 'inline'.
11411         Reported by Adam James Stewart in:
11412         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00006.html
11414 2016-02-20  Paul Eggert  <eggert@cs.ucla.edu>
11416         signbit: port back to pre-C++11 GCC
11417         * lib/math.in.h (signbit): Do previous change only if
11418         __cplusplus < 201103.  See Jonathan Wakely in:
11419         https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/UY3VX3W7XEXYTUKHG5BALU4ACUD7ZLGE/
11421 2016-02-19  Kamil Dudka  <kdudka@redhat.com>
11423         mountlist: recognize autofs-mounted remote file systems, too
11424         Originally reported at: https://bugzilla.redhat.com/1309247
11425         * lib/mountlist.c (ME_REMOTE): Return true if a file system is named
11426         "-hosts" because it is used by autofs to mount remote file systems.
11428 2016-02-19  Paul Eggert  <eggert@cs.ucla.edu>
11430         signbit: port to C++ with GCC 6
11431         * lib/math.in.h (signbit) [__cplusplus]:
11432         Do not replace with GCC builtin.  Reported by Orion Poplawski in:
11433         http://lists.gnu.org/r/bug-gnulib/2016-02/msg00005.html
11435         * lib/regex_internal.h (IDX_MAX) [_REGEX_LARGE_OFFSETS]: Now SSIZE_MAX.
11437         regex: make it closer to libc
11438         Make Idx a signed type, rather than possibly unsigned.
11439         The unsignedness was not really buying us anything, since the code
11440         overflows for other reasons before getting to PTRDIFF_MAX.  Making
11441         it signed allows us to use -1 and -2 with abandon, like libc does,
11442         thus lessening the number of differences between gnulib and libc.
11443         Also, it should help avoid gratuitous warnings like the one
11444         reported by Nelson H. F. Beebe in: http://bugs.gnu.org/22702
11445         * lib/regex.h (__re_idx_t): Remove.  All uses changed to regoff_t.
11448         regex: merge patches from libc
11450         2015-10-21  Joseph Myers  <joseph@codesourcery.com>
11451         2015-10-20  Joseph Myers  <joseph@codesourcery.com>
11452         Convert miscellaneous function definitions to prototype style.
11453         * lib/regcomp.c (re_compile_pattern, re_set_syntax)
11454         (re_compile_fastmap, regcomp, regerror, regfree, re_comp):
11455         * lib/regexec.c (regexec, re_match, re_search, re_match_2, re_search_2)
11456         (re_search_2_stub, re_search_stub, re_set_registers, re_exec)
11457         (re_search_internal):
11458         Convert to prototype-style function definition.
11459         Use internal_function for internal functions.
11461 2016-02-10  Paul Eggert  <eggert@cs.ucla.edu>
11463         stdalign: port to older HP and IBM cc
11464         * lib/stdalign.in.h (_Alignas): Port better to older HP and IBM
11465         C compilers, by checking their version numbers.  These version
11466         numbers appear in MariaDB and in Qt code that dates way back and
11467         that conditiionally uses the 'aligned' attribute.
11469 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
11471         stdalign: port to clang 3.7.0
11472         Problem reported by Herbert J. Skuhra in:
11473         http://lists.gnu.org/r/emacs-devel/2016-02/msg00476.html
11474         * lib/stdalign.in.h (alignas): Fix typo that prevented 'alignas'
11475         from being defined on clang 3.7.0, which has a buggy stdalign.h.  See:
11476         https://llvm.org/bugs/show_bug.cgi?id=26547
11478 2016-02-08  Paul Eggert  <eggert@cs.ucla.edu>
11480         readdir_r: now obsolescent
11481         * doc/posix-functions/readdir_r.texi (readdir_r): Now obsolescent.
11482         * lib/mountlist.c (read_file_system_list): Add a FIXME.
11484 2016-02-06  Paul Eggert  <eggert@cs.ucla.edu>
11486         misc: port better to gcc -fsanitize=address
11487         Without these patches, ./configure CFLAGS='-fsanitize=address'
11488         would compute incorrect values.  This patch fixes some (but not all)
11489         test failures with recent glibc, with this configuration.
11490         * m4/acl.m4 (gl_ACL_GET_FILE):
11491         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF):
11492         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS):
11493         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO):
11494         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE):
11495         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
11496         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
11497         * m4/getgroups.m4 (gl_FUNC_GETGROUPS):
11498         * m4/getline.m4 (gl_FUNC_GETLINE):
11499         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF):
11500         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF):
11501         * m4/regex.m4 (gl_REGEX):
11502         * m4/strndup.m4 (gl_FUNC_STRNDUP):
11503         * tests/test-calloc-gnu.c (main):
11504         * tests/test-duplocale.c (main):
11505         * tests/test-getgroups.c (main):
11506         * tests/test-getline.c (main):
11507         * tests/test-inttostr.c (main):
11508         * tests/test-localename.c (test_locale_name)
11509         (test_locale_name_thread, test_locale_name_environ)
11510         (test_locale_name_default):
11511         * tests/test-regex.c (main):
11512         * tests/test-setlocale1.c (main):
11513         * tests/test-stat.h (test_stat_func):
11514         Free heap-allocated storage before exiting.
11515         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX):
11516         Don't match *_foo symbols inserted by AddressSanitizer.
11517         * tests/test-regex.c, tests/test-stat.c: Include stdlib.h, for 'free'.
11519 2016-02-02  Jim Meyering  <meyering@fb.com>
11521         verify-tests: also remove stray test-verify.Tpo
11522         * modules/verify-tests (Makefile.am): Arrange for "make clean"
11523         to remove the test-verify.Tpo file that is left behind by
11524         the automake-generated rule upon compilation failure.
11525         Otherwise, that .Tpo file would cause a failed "make distcheck"
11526         at least for grep.
11528 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
11530         std-gnu11: new module
11531         This makes it easier for applications to prefer C11 and C++11
11532         to older variants, when compiling C and C++ code.
11533         Unlike most m4/*.m4 files, m4/std-gnu11.m4 is GPLed, as it copies
11534         a nontrivial chunk of GPLed Autoconf source code.
11535         * COPYING: Mention the m4/*.m4 copyright situation.
11536         * MODULES.html.sh (std-gnu11): New module.
11537         * m4/std-gnu11.m4, modules/std-gnu11: New files.
11539 2016-01-25  Paul Eggert  <eggert@cs.ucla.edu>
11541         get-permissions, strftime: fix grammar in comments
11542         * lib/get-permissions.c, lib/strftime.c: Merge into the comments
11543         some grammar fixes Alan Mackenzie made to GNU Emacs.
11545 2016-01-25  Daiki Ueno  <ueno@gnu.org>
11547         gettext: mark as obsolete
11548         Suggested by Paul Eggert in:
11549         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00101.html
11550         * modules/gettext (Status): Mark as obsolete.
11551         (Notice): Suggest to use 'gettext-h' instead.
11552         * modules/gettext-h (Description): Suggest GNU gettext, instead of
11553         the 'gettext' module.
11555 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
11557         gnulib-tool: don't give up on ln -s so easily
11558         * gnulib-tool (func_ln_s): Don't give up on a later ln -s merely
11559         because an earlier one failed.  The targets could be on different
11560         file systems.  Problem reported by KO Myung-Hun in:
11561         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00081.html
11563         closedir: fix OS/2-related typos
11564         Problem reported by KO Myung-Hun in:
11565         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00107.html
11566         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Fix a couple of typos
11567         in the last couple of changes.
11569 2016-01-24  KO Myung-Hun  <komh78@gmail.com>
11571         openat_proc_name: fix that last '/' is overwritten on OS/2 kLIBC
11572         * lib/openat-proc.c (openat_proc_name): Increase dirlen by 1 after
11573         copying a directory.
11575 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
11577         regex: treat [x] as x if x is a unibyte encoding error
11578         Problem reported by Aharon Robbins in:
11579         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00091.html
11580         * lib/regcomp.c (parse_byte) [!_LIBC && RE_ENABLE_I18N]: New function.
11581         (build_range_exp) [!_LIBC && RE_ENABLE_I18N]: Use it.
11583         closedir, dirfd, opendir: port to OpenSolaris 5.10
11584         * m4/closedir.m4 (gl_FUNC_CLOSEDIR):
11585         * m4/dirfd.m4 (gl_FUNC_DIRFD):
11586         * m4/opendir.m4 (gl_FUNC_OPENDIR):
11587         Don't use ${word##pat} substitution, as it doesn't work in
11588         OpenSolaris 5.10 /bin/sh.  Problem reported by Assaf Gordon in:
11589         http://bugs.gnu.org/22443#11
11591 2016-01-23  Paul Eggert  <eggert@cs.ucla.edu>
11593         bootstrap: use American spelling
11594         * build-aux/bootstrap: Honor American spelling.
11596 2016-01-22  Karl Berry  <karl@freefriends.org>
11598         * doc/posix-functions/localtime.texi,
11599         * doc/posix-functions/localtime_r.texi: @item needed for @itemize text.
11601 2016-01-21  Bruno Haible  <bruno@clisp.org>
11603         hash-pjw-bare: fix comment
11604         * lib/hash-pjw-bare.h (hash_pjw_bare): Fix comment.
11606         wcwidth: Replace also on OpenBSD 5.8
11607         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check the value of wcwidth(0xFF1A).
11608         * doc/posix-functions/wcwidth.texi: Update.
11610 2016-01-20  Pádraig Brady  <P@draigBrady.com>
11612         gnu-web-doc-update: fix addition of new files
11613         If there were already added (emnpty) dirs,
11614         then cvs aborts the add with the message:
11615           cvs [add aborted]: there is a version in <./dirname> already
11616         * build-aux/gnu-web-doc-update: Add directories separately
11617         to the addition of files, to avoid the above issue
11618         impacting the addition of files.
11620 2016-01-19  Daiki Ueno  <ueno@gnu.org>
11622         utimens-tests: avoid pulling gettext .m4 files
11623         Although this is not the right fix to the original problem:
11624         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html
11625         it makes it possible again for consumer projects to use arbitrary
11626         version of gettext, through the steps described at:
11627         http://www.gnu.org/software/gnulib/manual/html_node/gettextize-and-autopoint.html
11628         See here for details:
11629         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00079.html
11630         * modules/futimens-tests (Depends-on): Add 'gettext-h' in place of
11631         'gettext'.
11632         * modules/utimens-tests (Depends-on): Add 'gettext-h' in place of
11633         'gettext'.
11635 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
11637         regex: pacify static checkers
11638         Problem and draft fix reported by Aharon Robbins in:
11639         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
11640         * lib/regcomp.c (build_charclass_op, create_tree) [lint]:
11641         Clear memory to pacify static checkers.
11643         regex: fix [ diagnostic
11644         Problem and fix reported by Aharon Robbins in:
11645         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
11646         * lib/regcomp.c (REG_EBRACK_IDX): Fix misleading diagnostic about [.
11648         regex: fix memory leaks
11649         Problem and draft fix reported by Aharon Robbins in:
11650         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
11651         * lib/regcomp.c (build_range_exp, build_charclass_op)
11652         * lib/regex_internal.c (re_dfa_add_node):
11653         Fix memory leak on failure.
11655 2016-01-18  Pádraig Brady  <P@draigBrady.com>
11657         fts: don't unconditionally use leaf optimization for NFS
11658         NFS st_nlink are not accurate on all implementations,
11659         leading to aborts() if that assumption is made.
11660         See <https://bugzilla.redhat.com/1299169>
11661         * lib/fts.c (leaf_optimization_applies): Remove NFS from
11662         the white list, and document the issue.
11664 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
11665             KO Myung-Hun  <komh@chollian.net>
11667         gnulib-tool: don't assume ln -s works
11668         * gnulib-tool (func_ln_s): New function.
11669         (func_ln): Use it.
11671 2016-01-15  KO Myung-Hun  <komh@chollian.net>
11673         utimes: detect utimes() correctly on OS/2 kLIBC
11674         utimes() of OS/2 kLIBC has some limitations.
11675         1. OS/2 itself supports a file date since 1980 year in local time.
11676         2. OS/2 itself supports only even seconds for a file time.
11677         3. utimes() of OS/2 kLIBC does not work on an opened file.
11678         * m4/utimes.m4: Detect utimes() correctly on OS/2 kLIBC.
11679         * doc/posix-functions/utimes.texi: Document the above limitations of
11680         utimes() on OS/2 kLIBC.
11682 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
11683             KO Myung-Hun  <komh@chollian.net>
11685         openat_proc_name: port to OS/2 kLIBC
11686         OS/2 kLIBC provides a function to retrive a path from a fd. Use it
11687         instead of /proc/self/fd.
11688         * lib/openat-proc.c (openat_proc_name):
11689         Don't assume file name length is less than INT_MAX.
11690         Port to OS/2 kLIBC with __libc_Back_ioFHToPath().
11692 2016-01-14  KO Myung-Hun  <komh@chollian.net>
11694         stdint: check _INTPTR_T_DECLARED for intptr_t etc.
11695         OS/2 kLIBC's stdint.h defines _INTPTR_T_DECLARED and needs its own
11696         definitions of intptr_t and uintptr_t (which use int and unsigned)
11697         to avoid clashes with declarations of system functions like sbrk.
11698         * lib/stdint.in.h (intptr_t, uintptr_t): Check
11699         _INTPTR_T_DECLARED before defining them.
11701         opendir, closedir, dirfd, fdopendir: port to OS/2 kLIBC
11702         * lib/closedir.c (closedir): Unregister fd if closedir() succeeds.
11703         * lib/dirent.in.h (_gl_register_dirp_fd, _gl_unregister_dirp_fd):
11704         Declare on kLIBC.
11705         * lib/dirfd.c (struct dirp_fd_list): New. Structures to keep track of
11706         fd associated with dirp.
11707         (_gl_register_dirp_fd): New. Register fd associated with dirp to
11708         dirp_fd_list.
11709         (_gl_unregister_dirp_fd): New. Unregister fd with closing it.
11710         (dirfd): Implemented for kLIBC.
11711         * lib/fdopendir.c (fdopendir): Implemented for kLIBC.
11712         * lib/opendir.c (opendir): New. Register fd and dirp pair if open()
11713         succeeds.
11714         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Replace if OS/2.
11715         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
11716         (REPLACE_DIRFD): Define to 1 if replaced.
11717         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
11718         * modules/closedir (Depends-on): Add dirfd.
11719         * modules/dirfd (Depends-on): Add 'test $REPLACE_DIRFD = 1' to errno
11720         condition.
11721         (configure.ac): Add dirfd to LIBOBJS if $REPLACE_DIRFD = 1 as well.
11722         * modules/opendir (Depends-on): Add dirfd.
11724         dup, dup2, fcntl: support a directory fd on OS/2 kLIBC
11725         On OS/2 kLIBC, dup(), dup2() and fcntl() do not work on a directory fd.
11726         * lib/dup.c (dup_nothrow): New.
11727         * lib/dup2.c (klibc_dup2dirfd): New. dup2() for a directory fd.
11728         (klibc_dup2): New.
11729         * lib/fcntl.c (klibc_fcntl): New.
11730         * m4/dup.m4 (gl_FUNC_DUP): Check if dup() works on a directory fd.
11731         * m4/dup2.m4 (gl_FUNC_DUP2): Check if dup2() works on a directory fd.
11732         * m4/fcntl.m4 (gl_FUNC_FCNTL): Check if F_DUPFD works on a directory
11733         fd.
11735         pipe_filter_ii_execute: port to OS/2 kLIBC
11736         Pipes on kLIBC do not support O_NONBLOCK like Win32.
11737         * lib/pipe-filter-ii.c (start_wrapper, _beginthreadex, CloseHandle,
11738         WaiForSingleObject, WaitForMultipleObjects): New on OS/2 kLIBC.
11739         Reuse Win32 code on OS/2 kLIBC.
11740         * lib/spawn-pipe.c: Reuse Win32 code on OS/2 kLIBC.
11741         * lib/w32spawn.h: Do not include windows.h on OS/2 kLIBC.
11743         wchar: fix "conflicting types" error for __wcwidth on OS/2 kLIBC
11744         On OS/2 kLIBC, wcwidth is a macro that expands to the name of a
11745         static inline function.  The implementation of wcwidth in wcwidth.c
11746         causes a "conflicting types" error.
11747         * lib/wchar.in.h: Undefine wcwidth on OS/2 kLIBC.
11749         w32spawn: clear SHELL_SPECIAL_CHARS and SHELL_SPACE_CHAR on OS/2 kLIBC
11750         spawn() on OS/2 kLIBC is not silly like one on Windows
11751         * libc/w32spawn.h (SHELL_SPECIAL_CHARS, SHELL_SPACE_CHAR): Set both to
11752         empty string on OS/2 kLIBC.
11754         pipe-filter-aux: undefine HAVE_SELECT on KLIBC
11755         On OS/2 kLIBC, select() works only on sockets.
11756         * lib/pipe-filter-aux.h (HAVE_SELECT): Undefine on OS/2 kLIBC.
11758         binary-io: don't put fd in binary mode if it is a console on EMX
11759         * lib/binary-io.h (SET_BINARY): Don't put fd in binary mode if it is
11760         a console on EMX.
11762 2016-01-15  Pádraig Brady  <P@draigBrady.com>
11764         doc: mention unfixed issues with unsupported localtime() values
11765         * doc/posix-functions/localtime.texi: Mention that FreeBSD 10
11766         returns nonsense for localtime(2^56).
11767         * doc/posix-functions/localtime_r.texi: Likewise.
11769 2016-01-14  Pádraig Brady  <P@draigBrady.com>
11771         doc: mention setlocale() issues on OpenBSD
11772         * doc/posix-functions/setlocale.texi: Mention setlocale(LC_ALL,"")
11773         never fails, and the need to check categories individually.
11775 2016-01-14  Pádraig Brady  <P@draigBrady.com>
11777         sig2str: list all signals on FreeBSD >= 7
11778         FreeBSD >= 7 is contravening POSIX by not defining NSIG
11779         to the maximal statically defined signal value.
11780         It does define _SIG_MAXSIG though, so base SIGNUM_BOUND on that.
11781         * lib/sig2str.h (SIGNUM_BOUND): Define to (_SIG_MAXSIG - 2)
11782         where available, even when NSIG is defined.
11784 2016-01-13  Paul Eggert  <eggert@cs.ucla.edu>
11786         acl-permissions: port to USE_ACL==0 platforms
11787         I ran into this problem when building bleeding-edge GNU Emacs
11788         with gcc -fsanitize=address on Fedora 23.  On this platform
11789         the ACL library does not pass the 'configure' test and Emacs
11790         then does not build due in part to what appear to be typos in the
11791         ACL part of Gnulib.
11792         * lib/acl-internal.c (free_permission_context):
11793         * lib/acl-internal.h (struct permission_context):
11794         Test whether USE_ACL is nonzero, not whether it is defined.
11796 2016-01-12  Martin Sebor  <msebor@redhat.com>
11798         mktime: rename macro to avoid glibc clash
11799         * lib/mktime.c [DEBUG] (DEBUG): Rename to DEBUG_MKTIME.  See:
11800         https://sourceware.org/ml/libc-alpha/2016-01/msg00267.html
11802 2016-01-12  Paul Eggert  <eggert@cs.ucla.edu>
11804         Port "$@" to OpenIndiana ksh93
11805         In http://lists.gnu.org/r/bug-autoconf/2015-12/msg00000.html
11806         Pavel Raiskup reports that ${1+"$@"} runs afoul of a bug in /bin/sh
11807         (derived from ksh 93t+ 2010-03-05).  ${1+"$@"} works around an ancient
11808         bug long-dead shells, so remove the workaround.
11809         * build-aux/announce-gen, build-aux/do-release-commit-and-tag:
11810         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
11811         * build-aux/prefix-gnulib-mk, build-aux/update-copyright:
11812         * build-aux/useless-if-before-free, tests/test-update-copyright.sh:
11813         Use "$@" instead of ${1+"$@"}.
11815         Port Universal Time settings to strict POSIX
11816         * build-aux/announce-gen, build-aux/bootstrap:
11817         * build-aux/do-release-commit-and-tag, build-aux/git-version-gen:
11818         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
11819         * build-aux/gnupload, build-aux/mkinstalldirs:
11820         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
11821         * build-aux/update-copyright, build-aux/useless-if-before-free:
11822         * build-aux/vc-list-files, tests/test-strftime.c:
11823         Use TZ="UTC0", not TZ="UTC".  Either works on GNU platforms,
11824         but POSIX says the behavior of TZ="UTC" is undefined.
11826 2016-01-02  Paul Eggert  <eggert@cs.ucla.edu>
11828         msvc-inval: fix problem with unset shell var
11829         Problem reported by Karl Berry in:
11830         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00004.html
11831         * modules/msvc-inval (Depends-on):
11832         AC_REQUIRE gl_MSVC_INVAL instead of merely calling it.
11833         * modules/msvc-nothrow (Depends-on): Likewise for gl_MSVC_NOTHROW.
11835 2016-01-01  Pádraig Brady  <P@draigBrady.com>
11837         tests: for compare_(), use cmp -s where available
11838         * tests/init.sh (compare_): Only fall back to cmp without
11839         the POSIX defined -s option, where this is not available.
11841 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
11843         version-etc: new year
11844         * build-aux/gendocs.sh (version):
11845         * doc/gendocs_template:
11846         * doc/gendocs_template_min:
11847         * doc/gnulib.texi:
11848         * lib/version-etc.c (COPYRIGHT_YEAR):
11849         Update copyright dates by hand in templates and the like.
11850         * all files: Run 'make update-copyright'.
11852 2015-12-31  Paul Eggert  <eggert@cs.ucla.edu>
11854         human: fix output buffer overrun by 1
11855         * lib/human.c (human_readable): Fix off-by-one typo in buffer
11856         calculation that could lead to a one-byte buffer overrun.
11858 2015-12-28  Daiki Ueno  <ueno@gnu.org>
11860         maint: fix operator precedence in mbrtowc test
11861         This is a fix for test breakage introduced by commit 45228d96; the
11862         equality expression must be parenthesized when negated with '!',
11863         otherwise we always get:
11865           test-mbrtowc.c:49: assertion 'ret == (size_t)(-2)' failed
11867         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Negate the entire expression.
11868         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
11870 2015-12-23  James Youngman  <jay@gnu.org>
11872         regexprops-generic: update from regex.h
11873         * doc/regexprops-generic.texi: update by running the regexprops binary
11874         from findutils (the command line is 'regexprops "Regular Expressions"
11875         generic').  The recent (ish) change (5a5a9388) to regex.h aligning
11876         gnulib with GNU grep had made this document out-of-date.
11878 2015-12-23  Pádraig Brady  <P@draigBrady.com>
11880         strftime-tests: avoid false failure on OS X
11881         * tests/test-strftime.c (struct localtime_rz_test): Add an
11882         ahistorical member which is used to warn rather than fail
11883         when tm_isdst isn't set for such entries.  This is the case for
11884         "1970-01-01 13:00:00 +1300 (NZDT)" on Darwin 13/14 at least.
11886 2015-12-20  Kamil Dudka  <kdudka@redhat.com>
11888         fts: ensure leaf optimization is used for NFS
11889         NFS provides usable dirent.d_type but not necessarily for all entries
11890         of large directories.  See <https://bugzilla.redhat.com/1252549>
11891         * lib/fts.c (leaf_optimization_applies): Append NFS on the white list.
11893 2015-12-20  Pádraig Brady  <P@draigBrady.com>
11895         fts: enable leaf optimization for XFS
11896         XFS provides usable dirent.d_type only for DT_DIR,
11897         but the noleaf optimization still applies.
11898         * lib/fts.c (leaf_optimization_applies): Add XFS to the white list.
11900 2015-12-17  Paul Eggert  <eggert@cs.ucla.edu>
11902         intprops: comment fix
11903         * lib/intprops.h: Fix comment.  Reported by Pádraig Brady in:
11904         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00013.html
11906         intprops-test: work around GCC bug 68971
11907         Problem reported by Pádraig Brady in:
11908         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00011.html
11909         * tests/test-intprops.c: Ignore -Woverflow in GCC 6 and earlier.
11910         (main): Add a case that better tests 64-bit long in this area.
11912 2015-12-09  Pavel Raiskup  <praiskup@redhat.com>
11914         gnulib-tool: allow multiple --local-dir usage
11915         * gnulib-tool: Use --local-dir to construct compound
11916         $local_gnulib_path path instead of $local_gnulib_dir.  Determine
11917         PATH_SEPARATOR early.
11918         (local_gnulib_dir): Rename into $local_gnulib_path everywhere.
11919         (func_gnulib_dir): Cut out PATH_SEPARATOR detection code into
11920         func_determine_path_separator because that needs to be detected
11921         earlier now.
11922         (func_determine_path_separator): New function.
11923         (func_path_foreach, func_path_foreach_inner): New functions.
11924         (func_path_prepend, func_path_append): Likewise.
11925         (func_lookup_local_file, func_lookup_local_file_cb): Likewise.
11926         (func_lookup_file, func_all_modules): Use new functions to work
11927         with local_gnulib_path.
11928         (func_modules_in_dir, func_exists_module): New callbacks for
11929         func_path_foreach.
11930         (func_exists_module, func_get_tests_module): Likewise.
11931         (func_is_local_file, func_should_symlink): New helper methods.
11932         (func_add_file, func_update_file): Use new func_should_symlink
11933         instead, DRY.
11934         (func_reconstruct_cached_local_gnulib_path): New helper.
11935         (func_reconstruct_cached_dir): New callback.
11936         (func_import): The cached_local_gnulib_dir renamed to
11937         cached_local_gnulib_path similarly to local_gnulib_dir.
11938         Use new func_reconstruct_cached_local_gnulib_path.
11939         (func_count_relative_local_gnulib_path): New sub-method.
11940         (func_create_testdir): Use func_should_symlink, DRY.
11941         (func_create_megatestdir): Use new functions to work with
11942         local_gnulib_path correctly.
11943         (func_append_local_dir): New helper.
11945 2015-12-08  Pádraig Brady  <P@draigBrady.com>
11947         fix freadptr to work with ungetc on all uClibc configs
11948         Reported at https://bugs.busybox.net/show_bug.cgi?id=4099
11949         where GNU coreutils cut(1) generates invalid output on uClibc
11950         when __UCLIBC_HAS_STDIO_GETC_MACRO__ is not defined.
11951         * lib/freadptr.c (freadptr): Return NULL if there are
11952         ungotten chars.  In this case freadseek() will iterate
11953         again to process the ungotten character.
11955 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
11957         xalloc-oversized: improve performance with GCC 5
11958         * lib/xalloc-oversized.h (xalloc_oversized):
11959         Improve performance with GCC 5 by using __builtin_mul_overflow.
11961 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
11963         intprops: new public macro EXPR_SIGNED
11964         Emacs can use this macro, so make it public.
11965         * doc/intprops.texi (Arithmetic Type Properties): Rename from
11966         'Integer Type Determination', since some of these macros apply
11967         to non-integer types.  Clarify what kinds of constant expressions
11968         these macros return.  Say when the arguments can be non-integers.
11969         Mention newly published macro EXPR_SIGNED.
11970         * lib/intprops.h (EXPR_SIGNED): Rename from _GL_INT_SIGNED, to
11971         make it public.  All uses changed.
11973         intprops: fix typo in clang port
11974         * lib/intprops.h (_GL_INT_OP_WRAPV): Fix misspelling of
11975         '__builtin_add_overflow' that is not caught by compiler.
11977 2015-11-05  Paul Eggert  <eggert@cs.ucla.edu>
11979         test-timespec: fix typo in previous change
11980         * tests/test-timespec.c (main): Fix typo that reduced test quality.
11982         timespec-sub: fix overflow bug; add tests
11983         * lib/timespec-add.c (timespec_add):
11984         * lib/timespec-sub.c (timespec_sub):
11985         Work even if time_t is narrower than int (a theoretical
11986         possibility).  Redo code for a bit more clarity.
11987         * lib/timespec-sub.c (timespec_sub):
11988         Fix off-by-2 bug if a.tv_sec == TYPE_MINIMUM (time_t) and 0 < b.tv_sec.
11989         * modules/timespec-tests, tests/test-timespec.c: New files.
11991         intprops-test: suppress -Woverlength-strings
11992         Problem reported by Pádraig Brady in:
11993         http://lists.gnu.org/r/bug-gnulib/2015-11/msg00008.html
11994         It is not worth the hassle to port this test to compilers that
11995         cannot handle long strings in diagnostics.
11996         * tests/test-intprops.c [__GNUC__]: Ignore -Woverlength-strings.
11998 2015-11-03  Pádraig Brady  <P@draigBrady.com>
12000         quotearg: add quotearg_n_style_colon()
12001         This quotes with default options of the specified style,
12002         but with quoting enabled for instances of ':'.
12003         * lib/quotearg.h (quotearg_n_style_colon): Description and declaration.
12004         * lib/quotearg.c (quotearg_n_style_colon): New function implementation.
12006 2015-11-04  Paul Eggert  <eggert@cs.ucla.edu>
12008         intprops: revise _WRAPV macros, revert _OVERFLOW
12009         The incompatible changes to the _OVERFLOW macros were too much of
12010         a hassle in practice, so revert them.  Instead, change the new
12011         _WRAPV macros to make them closer in behavior to GCC 5's new
12012         builtin_add_overflow etc. functions.  No other software was using
12013         these newly-added macros yet, so this should be OK.
12014         * NEWS: Revert previous change, since the incompatible change
12015         has been reverted, and nobody used the incompatible version.
12016         * doc/intprops.texi (Wraparound Arithmetic, Integer Type Overflow):
12017         Document revised behavior.
12018         (Integer Range Overflow): Adjust example to match above revisions.
12019         * lib/intprops.h (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW)
12020         (INT_MULTIPLY_OVERFLOW): Revert previous change, so that
12021         these can be used in integer constant expressions again.
12022         (INT_CONST_ADD_OVERFLOW, INT_CONST_SUBTRACT_OVERFLOW)
12023         (INT_CONST_MULTIPLY_OVERFLOW): Remove, as these are no longer
12024         needed.
12025         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
12026         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
12027         (INT_REMAINDER_WRAPV, INT_LEFT_SHIFT_WRAPV):
12028         Remove, as they did not seem that useful.
12029         (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, INT_MULTIPLY_WRAPV)
12030         (_GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH)
12031         (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
12032         Support new semantics.
12033         (__has_builtin): New macro, if not alreay defined.
12034         (_GL__GENERIC_BOGUS, _GL_INT_OP_CALC, _GL_INT_OP_CALC1): New macros.
12035         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
12036         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
12037         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
12038         (INT_CONST_LEFT_SHIFT_WRAPV): Remove.
12039         (CHECK_SBINOP, CHECK_SSUM, CHECK_SUM1, CHECK_SSUM1)
12040         (CHECK_SDIFFERENCE, CHECK_SPRODUCT, CHECK_PRODUCT1, CHECK_SPRODUCT1):
12041         New macros.
12042         (CHECK_BINOP, CHECK_UNOP, main, CHECK_SUM): Test new behavior.
12044 2015-11-03  Jim Meyering  <meyering@fb.com>
12046         intprops: add parentheses for when OP has precedence lower than "-"
12047         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED): In "a OP b - c",
12048         "a OP b" must be parenthesized for when OP is like "<<", which has
12049         lower precedence than the following "-". Reported by Pádraig Brady.
12051 2015-11-03  Pádraig Brady  <P@draigBrady.com>
12053         quotearg: constify get_quoting_style parameters
12054         * lib/quotearg.h (get_quoting_style): Mark parameter as const.
12055         * lib/quotearg.c (get_quoting_style): Likewise.
12057 2015-11-02  Pádraig Brady  <P@draigBrady.com>
12059         quotearg: add support for $'' shell escaping
12060         * lib/quotearg.h: Add "shell-escape" and "shell-escape-always"
12061         items and descriptions.
12062         * lib/quotearg.c (quotearg_buffer_restyled): Add support for the
12063         above types by quoting like "shell", but using $'...' syntax
12064         for non printable characters, which should provide unambiguous
12065         printable output for any input.
12066         * tests/test-quotearg-simple.c: Update accordingly.
12068 2015-11-02  Pádraig Brady  <P@draigBrady.com>
12070         maint: use a more standard return from mbrtowc test
12071         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Don't return 1
12072         from the test program as this is non standard and often
12073         indicates an unhandled case in the test program.
12074         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
12076 2015-10-30  Paul Eggert  <eggert@cs.ucla.edu>
12078         intprops: add WRAPV and const flavors for GCC 5
12079         If available, use GCC 5's builtin functions for efficient integer
12080         overflow checking.  Also, add macros like INT_ADD_WRAPV efficently
12081         and safely compute the low-order bits of the correct answer.
12082         A downside of these efficient functions is that they cannot be
12083         used in constant expressions, so add macros like INT_CONST_ADD_OVERFLOW
12084         and INT_CONST_ADD_WRAPV that can be used even in constant expressions.
12085         * NEWS: Document the incompatible changes to INT_ADD_OVERFLOW etc.
12086         * doc/intprops.texi (Integer Properties, Integer Type Overflow):
12087         Document the changes.
12088         (Wraparound Arithmetic): New section.
12089         (Integer Range Overflow):
12090         Put this subsection last, since it's least useful.
12091         * lib/intprops.h (INT_CONST_ADD_OVERFLOW)
12092         (INT_CONST_SUBTRACT_OVERFLOW, INT_CONST_MULTIPLY_OVERFLOW):
12093         New macros, with the meaning that INT_ADD_OVERFLOW etc. used to have.
12094         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
12095         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
12096         (INT_REMAINDER_WRAPV, _GL_INT_OP_WRAPV, _GL_EXPR_CAST)
12097         (_GL_INT_OP_WRAPV_LONGISH, INT_ADD_WRAPV, INT_SUBTRACT_WRAPV)
12098         (INT_MULTIPLY_WRAPV, _GL_OP_OVERFLOW, _GL_OP_WRAPV, _GL_OP_WRAPV_GENSYM):
12099         New macros.
12100         (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW, INT_MULTIPLY_OVERFLOW):
12101         Generate calls to GCC builtins if available, for speed.
12102         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
12103         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
12104         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
12105         (INT_CONST_LEFT_SHIFT_WRAPV): New macros.
12106         (main, CHECK_BINOP, CHECK_UNOP, CHECK_SUM, CHECK_PRODUCT)
12107         (CHECK_QUOTIENT, CHECK_REMAINDER):
12108         Test WRAPV and CONST flavors (when available) too.
12110 2015-10-30  Pádraig Brady  <P@draigBrady.com>
12112         doc: use extended timezone format in iso-8601 example
12113         * doc/parse-datetime.texi: The standard states that extended format
12114         is to be used consistently throughout.
12115         Note that lib/parse-datetime.y can handle either tz format.
12117 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
12119         stdalign: port to Sun C 5.9
12120         * doc/posix-headers/stdalign.texi: Document this.
12121         * lib/stdalign.in.h (_Alignas): Sun C 5.9 also supports
12122         __attribute__ ((__aligned__ (...))).
12124 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
12126         time_rz: fix comment about tzalloc
12127         * lib/time_rz.c (tzalloc): Fix comment.
12129 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
12131         stdalign: work around pre-4.9 GCC x86 bug
12132         * lib/stdalign.in.h (_Alignof): Work around bug in pre-4.9 GCC on
12133         x86, when -std=gnu11 is used.  Problem reported by Jim Meyering in:
12134         http://lists.gnu.org/r/bug-gnulib/2015-10/msg00038.html
12136 2015-10-18  Pádraig Brady  <P@draigBrady.com>
12138         maint.mk: sc_tight_scope: remove extraneous expressions
12139         * top/maint.mk (tight_scope): This is not really required since
12140         commit 3ef58f46 as sed_wrap ensures we don't get an empty expression
12141         that matches all nm entries.  But it does remove extraneous entries
12142         that may be confusing or cause issue in future maintenance.
12144 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
12146         time_rz: return NULL if localtime_r fails
12147         * lib/time_rz.c (localtime_rz): Return NULL if localtime_r fails,
12148         while still attempting to pacify bleeding-edge GCC.
12150         fts: port to C11 alignof
12151         * doc/posix-headers/stdalign.texi (stdalign.h):
12152         Document the C11 restriction.
12153         * lib/fts.c: Include stddef.h, for max_align_t.
12154         (fts_alloc): Align using max_align_t, not FTSENT.
12155         * modules/fts (Depends-on): Add stddef.
12157 2015-10-18  Jim Meyering  <meyering@fb.com>
12159         time_rz: avoid warning from bleeding-edge gcc's -Wnonnull
12160         Compiling with gcc version 6.0.0 20151017 (experimental) (GCC), I
12161         would see this:
12163         lib/time_rz.c: In function 'localtime_rz':
12164         lib/time_rz.c:292:15: error: nonnull argument 'tm' compared to NULL \
12165           [-Werror=nonnull]
12166                    if (tm && !save_abbr (tz, tm))
12167                        ^
12169         That was complaining about "tm" because it is a parameter that was
12170         declared with the __nonnull__ attribute.
12171         * lib/time_rz.c (localtime_rz): Don't bother setting "tm" to the
12172         result of localtime_r.
12174 2015-10-17  Jim Meyering  <meyering@fb.com>
12176         maint.mk: _gl_TS_function_match: fix "extern" name extracting regexp
12177         * top/maint.mk (_gl_TS_function_match): This heuristic extern-function-
12178         name-extraction regexp mistakenly used \S+, and would mistakenly
12179         extract "*F" from "extern int *F()" rather than the desired "F".
12180         Use \w+ instead.
12182 2015-10-17  Jim Meyering  <meyering@fb.com>
12184         maint.mk: sc_tight_scope: factor and support OS X
12185         * top/maint.mk (_gl_tight_scope): Address three issues:
12186         - factor out four instances of code that wraps a string in "^...$"
12187         - allow nm-reported symbol names to have an optional leading "_"
12188         - add "main" to the list of ignored variable names, because on os x,
12189         "main" has nm-reported type "S" in the variable-checking section.
12191 2015-10-16  Dmitry Smirnov  <onlyjob@member.fsf.org>
12193         safe-alloc-tests: fix typo in license header
12194         * tests/test-safe-alloc.c: Mention LGPL 2.1, not 3.1
12196 2015-10-15  Simon Reinhardt  <simon@keinstein.org>
12198         copy-file: fix mem leak in error case
12199         * lib/copy-file.c (qcopy_file_preserving): Free the 32KiB buffer
12200         upon error opening or performing I/O to the src and dest files.
12202 2015-10-15  Mike Frysinger  <vapier@chromium.org>
12204         localename: control langinfo.h inclusion
12205         This header is only used to work around buggy behavior in old
12206         versions of glibc, so do not include it all the time.  Otherwise
12207         we get build failures on systems that do not provide langinfo.h.
12208         * lib/localename.c: Wrap langinfo.h include with same ifdefs used
12209         in the source later on.
12210         The patch was originally submitted to gettext as:
12211         https://lists.gnu.org/r/bug-gettext/2015-10/msg00011.html
12213 2015-10-13  Paul Eggert  <eggert@cs.ucla.edu>
12215         binary-io, math, pthread, sys_socket, u64, unistd: port to strict C
12216         * lib/binary-io.c, lib/math.c, lib/pthread.c, lib/sys_socket.c:
12217         * lib/u64.c, lib/unistd.c:
12218         Append 'typedef int dummy;', to pacify compilers that are picky
12219         about empty translation units.
12221 2015-10-12  Pino Toscano  <ptoscano@redhat.com>
12223         accept4-tests: fix to avoid non portable flags
12224         * tests/test-accept4.c (main): Pass only SOCK_* flags to accept4(),
12225         as they are the only documented ones, and passing others may trigger
12226         EINVAL (seen on FreeBSD 10.1-RELEASE).
12227         * doc/glibc-functions/accept4.texi: Mention that we don't provide
12228         the SOCK_CLOEXEC or SOCK_NONBLOCK defines.
12230 2015-10-06  Pavel Raiskup  <praiskup@redhat.com>
12232         gnulib-tool: fix tests of 'extensions' module
12233         This complements f8fe25fab60e3c687a124 commit.
12234         * gnulib-tool (func_emit_pre_early_macros): New function, it wraps
12235         emitting of initial gl_EARLY macros.
12236         (func_import, func_create_testdir): All dumps of gl_PROG_AR_RANLIB
12237         replaced with func_emit_pre_early_macros call.
12239 2015-10-06  Paul Eggert  <eggert@cs.ucla.edu>
12241         unicase/locale-language: fix typo in utf-8 cookie
12242         * lib/unicase/locale-languages.gperf: Fix gperf input file format.
12243         Problem reported by Zbigniew Jędrzejewski-Szmek.
12245 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
12247         xalloc: do not worry about GCC 5 warning on 32 bit
12248         * lib/xalloc.h: Revert previous change.
12249         I found a better way to fix this in coreutils.
12251 2015-10-02  Pádraig Brady  <P@draigBrady.com>
12253         xalloc: avoid GCC 5.1 warning on 32 bit
12254         * lib/xalloc.h: Disable -Wstrict-overflow for uses of
12255         xalloc_oversized(), which was seen to give this warning
12256         on GCC 5.1 on 32 bit: "assuming signed overflow does not occur
12257         when simplifying conditional".
12259 2015-10-02  Daiki Ueno  <ueno@gnu.org>
12261         uniname/uniname-tests: avoid compiler warnings
12262         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Remove
12263         unused local variables.
12264         (test_alias_lookup): Fix alias name display in failure cases.
12266 2015-09-26  Paul Eggert  <eggert@cs.ucla.edu>
12268         c-ctype: do not worry about EBCDIC + char signed
12269         Drop support for EBCDIC with char being signed, as this breaks too
12270         many programs.  Problem reported by Ben Pfaff in:
12271         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00053.html
12272         * lib/c-ctype.h: Verify that we are not using EBCDIC with
12273         char being signed.
12274         (_C_CTYPE_LOWER_A_THRU_F_N): New macro.
12275         (_C_CTYPE_LOWER_N, _C_CTYPE_A_THRU_F): Use it.
12276         (_C_CTYPE_DIGIT, _C_CTYPE_LOWER, _C_CTYPE_PUNCT, _C_CTYPE_UPPER):
12277         (c_isascii, c_isgraph, c_isprint, c_ispunct, c_tolower, c_toupper):
12278         * tests/test-c-ctype.c (test_all):
12279         Simplify by assuming standard char values cannot be negative.
12280         * tests/test-c-ctype.c (NCHARS, to_char): Remove; all uses removed.
12282 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
12284         c-ctype: port better to z/OS EBCDIC
12285         Problems reported by Daniel Richard G. in:
12286         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00050.html
12287         * lib/c-ctype.h (_C_CTYPE_CNTRL): Rewrite in terms of
12288         the C standard escapes and _C_CTYPE_OTHER_CNTRL.
12289         (_C_CTYPE_OTHER_CNTRL): New macro.
12290         * tests/test-c-ctype.c (test_all): Test from CHAR_MIN, not
12291         from SCHAR_MIN, as the functions are defined only from values
12292         promoted from char or from unsigned char, not necessarily from
12293         signed char.
12295 2015-09-25  Pavel Raiskup  <praiskup@redhat.com>
12297         gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash
12299         The gl_PROG_AR_RANLIB (it is always called by gl_EARLY) sets AR
12300         and ARFLAGS variables.  Doing this unconditionally could break
12301         later Automake's AM_PROG_AR invocation (at least it's
12302         AC_CHECK_TOOLS call to detect correct 'ar' binary).
12304         Original purpose of the gl_PROG_AR_RANLIB was only to handle the
12305         Amsterdam Compiler Kit, so make the previous code to have effects
12306         only on ACK, and rather automatically call the Automake's
12307         AM_PROG_AR as soon as possible to decide other cases.
12309         References:
12310         http://lists.gnu.org/r/bug-gnulib/2015-07/msg00001.html
12312         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): AC_BEFORE AM_PROG_AR.
12313         Set the AR/ARFLAGS to ACK defaults OR call AM_PROG_AR.  If neither
12314         is possible, keep setting AR/ARFLAGS to reasonable defaults.
12315         * gnulib-tool (func_import): Put the gl_USE_SYSTEM_EXTENSIONS
12316         right before gl_PROG_AR_RANLIB into gnulib-comp.m4 (if the
12317         'extensions' module is used.
12318         * modules/extensions (configure.ac-early): Remove as this snippet
12319         is added to gnulib-comp.m4 earlier anyway.
12321 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
12323         sockets: MS Windows initalization fixes
12324         Problem reported by Test User in:
12325         http://lists.gnu.org/r/help-shishi/2015-09/msg00001.html
12326         * lib/sockets.h (SOCKETS_1_0, SOCKETS_2_0, SOCKETS_2_1):
12327         Correct the endianness.
12328         * lib/sockets.c (gl_sockets_startup): Return 2 on any version
12329         number mismatch, not just on <.  Cleanup before any such failure.
12331 2015-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
12333         gc: fix detection of installed libgcrypt version
12334         * m4/gc.m4: Use AM_PATH_LIBCRYPT to test for libcrypt versions
12335         at least as recent as 1.4.4.  The previously used macro is not
12336         available now, since modules were removed in version 1.6.0.
12338 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
12340         c-ctype: rewrite to use inline functions
12341         This simplifies maintenance, since it makes for just one
12342         implementation of each function, letting the compiler have the fun
12343         of optimization.  In practice this works well nowadays with GCC.
12344         E.g., c_isascii might need only three instructions even though the
12345         source code lists every ASCII character individually in a large
12346         switch statement.
12347         Also, fix some z/OS porting bugs reported by Daniel Richard G. in:
12348         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00037.html
12349         * NEWS: Document the API change.
12350         * lib/c-ctype.c: Drastically simplify, since this now just expands
12351         inline functions.
12352         * lib/c-ctype.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
12353         (C_CTYPE_INLINE): New macro.
12354         (C_CTYPE_CONSECUTIVE_DIGITS, C_CTYPE_CONSECUTIVE_LOWERCASE)
12355         (C_CTYPE_CONSECUTIVE_UPPERCASE): Remove.
12356         Verify that either ASCII or EBCDIC is being used.
12357         (_C_CTYPE_SIGNED_EBCDIC, _C_CTYPE_CNTRL, _C_CTYPE_A_THRU_F_N)
12358         (_C_CTYPE_DIGIT_N, _C_CTYPE_LOWER_N, _C_CTYPE_UPPER_N)
12359         (_C_CTYPE_CASES, _C_CTYPE_A_THRU_F, _C_CTYPE_DIGIT, _C_CTYPE_LOWER)
12360         (_C_CTYPE_UPPER, _C_CTYPE_PUNCT_PLAIN):
12361         New private macros.
12362         (_C_CTYPE_CNTRL): In EBCDIC, '\x07' is a control, not '\xff'.
12363         (c_isalnum, c_isalpha, c_isascii, c_isblank, c_iscntrl, c_isdigit)
12364         (c_isgraph, c_islower, c_isprint, c_ispunct, c_isspace, c_isupper)
12365         (c_isxdigit, c_tolower, c_toupper): Now inline functions.
12366         (c_tolower, c_toupper): When converting, return the unsigned char,
12367         as that is what z/OS does.
12368         * lib/c-strcaseeq.h (CASEEQ): Simplify in the light of the removal
12369         of some c-ctype.h macros.
12370         * modules/c-ctype (Depends-on): Add extern-inline; remove verify.
12371         * tests/test-c-ctype.c (test_all): Fix test for c_toupper and
12372         c_tolower promotion to be compatible with z/OS.
12374 2015-09-24  Pavel Raiskup  <praiskup@redhat.com>
12376         gitlog-to-changelog: trim only trailing whitespaces
12377         This is fix for --format regression introduced by commit
12378         2b93079a5d1baa4d;  it caused that --format='%s%n%n%b%n' (see the
12379         doubled %n string) had no effect anymore.  This format
12380         specification has been used e.g. by GNU paxuitils (commit
12381         edfd8bcc3).
12383         * build-aux/gitlog-to-changelog (main): Stop squashing multiple
12384         newlines in commmit messages.
12386 2015-09-23  Paul Eggert  <eggert@cs.ucla.edu>
12388         Test that c_iscntrl agrees with iscntrl, etc.
12389         Suggested by Daniel Richard G. in:
12390         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00034.html
12391         * modules/c-ctype-tests (Depends-on): Add ctype.
12392         * tests/test-c-ctype.c: Include <ctype.h>.
12393         (NCHARS): New constant.
12394         (test_agree_with_C_locale): New function.
12395         (main): Use it.
12396         (test_all): Use named constants.
12398         c-ctype: improve c_isascii testing
12399         * tests/test-c-ctype.c (test_all): Port c_isascii test to EBCDIC.
12400         Add a test to count the number of ASCII characters.
12402 2015-09-22  Paul Eggert  <eggert@cs.ucla.edu>
12404         savewd: remove SAVEWD_CHDIR_READABLE
12405         It was problematic in the light of file systems that ignore umask.
12406         Problem reported by Sebastian Unger in: http://bugs.gnu.org/21534
12407         * NEWS: Document this.
12408         * lib/mkancesdirs.c (mkancesdirs): MAKE_DIR now returns 0 if
12409         successful, -1 (setting errno) on failure, rather than something
12410         more complicated than that.
12411         * lib/mkdir-p.c (make_dir_parents):
12412         Do not use SAVEWD_CHDIR_READABLE.
12413         * lib/savewd.c (savewd_chdir):
12414         Remove support for SAVEWD_CHDIR_READABLE.
12415         * lib/savewd.h (SAVEWD_CHDIR_READABLE): Remove.
12417         c-ctype: port better to EBCDIC
12418         Problems reported by Daniel Richard G. in
12419         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00020.html
12420         * lib/c-ctype.c: Include <limits.h>, for CHAR_MIN and CHAR_MAX.
12421         Include "verify.h".
12422         (C_CTYPE_ASCII, C_CTYPE_CONSECUTIVE_DIGITS)
12423         (C_CTYPE_CONSECUTIVE_LOWERCASE, C_CTYPE_CONSECUTIVE_UPPERCASE):
12424         Define as enum constants with value false, if not defined, so that
12425         code can use 'if' instead of 'ifdef'.  Using 'if' helps make the
12426         code more portable, as both branches of the 'if' are compiled on
12427         all platforms.
12428         (C_CTYPE_EBCDIC): New constant.
12429         Verify that the character set is either ASCII or EBCDIC.
12430         (to_char): New static function.
12431         (c_isascii, c_iscntrl):
12432         Assume standard control-character assignments for EBCDIC.
12433         (c_isalnum, c_isalpha, c_isdigit, c_islower, c_isgraph, c_isprint)
12434         (c_ispunct, c_isupper, c_isxdigit, c_tolower, c_toupper):
12435         Rewrite to use 'if' instead of 'ifdef'.
12436         Use to_char if non-ASCII.  Prefer <= to >=.
12437         Prefer true and false to 1 and 0, for booleans.
12438         (c_iscntrl): Use 'if', not 'ifdef'.
12439         * modules/c-ctype (Depends-on): Add verify.
12440         * tests/test-c-ctype.c: Include <limits.h>, for CHAR_MIN
12441         (to_char): New function.
12442         (test_all): Port to EBCDIC.  Add some more tests, e.g., for c_ispunct.
12444 2015-09-21  Pádraig Brady  <P@draigBrady.com>
12446         nanosleep: fix return code for interrupted replacement
12447         * lib/nanosleep.c (nanosleep): In the replaced nanosleep, ensure
12448         that we return -1 in the case the call is interrupted by a signal,
12449         rather than the current value of 1.
12450         Diagnosed and tested by Daniel Richard G.
12452 2015-09-19  Paul Eggert  <eggert@cs.ucla.edu>
12454         Diagnose ERE '()|\1'
12455         Problem reported by Hanno Böck in: http://bugs.gnu.org/21513
12456         * lib/regcomp.c (parse_reg_exp): While parsing alternatives, keep
12457         track of the set of previously-completed subexpressions available
12458         before the first alternative, and restore this set just before
12459         parsing each subsequent alternative.  This lets us diagnose the
12460         invalid back-reference in the ERE '()|\1'.
12462         regex: merge patches from libc
12464         2015-09-08  Joseph Myers  <joseph@codesourcery.com>
12465         Move bits/libc-lock.h and bits/libc-lockP.h out of bits/ (bug 14912).
12466         * lib/regex_internal.h:
12467         Include <libc-lock.h> instead of <bits/libc-lock.h>.
12469         2015-06-09  Joseph Myers  <joseph@codesourcery.com>
12470         Fix regcomp wcscoll, wcscmp namespace (bug 18497).
12471         * lib/regcomp.c (build_range_exp): Call __wcscoll instead of
12472         wcscoll.
12473         * lib/regexec.c (check_node_accept_bytes): Likewise.
12475         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
12476         Fix regex wcrtomb namespace (bug 18496).
12477         * lib/regex_internal.c (build_wcs_upper_buffer): Call __wcrtomb
12478         instead of wcrtomb.
12480         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
12481         Fix regex wctype namespace (bug 18495).
12482         * lib/regcomp.c (re_compile_fastmap_iter): Call __towlower
12483         instead of towlower.
12484         * lib/regex_internal.c (build_wcs_upper_buffer): Call __iswlower
12485         instead of iswlower.  Call __towupper instead of towupper.
12486         * lib/regex_internal.h (IS_WIDE_WORD_CHAR): Call __iswalnum
12487         instead of iswalnum.
12489         2015-01-07  Chris Metcalf  <cmetcalf@ezchip.com>
12490         * lib/regcomp.c (parse_bracket_exp): Initialize type to
12491         COLL_SYM in a couple of places to avoid uninitialized variable
12492         wanings on tilegx gcc 4.8.2.
12494         2014-11-24  Siddhesh Poyarekar  <siddhesh@redhat.com>
12495         * lib/regex_internal.h: Remove NOT_IN_libc.
12497         2014-11-17  Andreas Schwab  <schwab@suse.de>
12498         * lib/regex_internal.h: Don't include <locale/elem-hash.h>.
12500         2014-09-11  Roland McGrath  <roland@hack.frob.com>
12501         Move findidx nested functions to top-level.
12502         * lib/regcomp.c [_LIBC]: #include <locale/weight.h>.
12503         (build_equiv_class) [_LIBC]: Don't #include it inside the function.
12504         Pass new arguments to findidx.
12505         * lib/regexec.c [RE_ENABLE_I18N] [_LIBC]: #include <locale/weight.h>.
12506         [RE_ENABLE_I18N] (check_node_accept_bytes) [_LIBC]:
12507         Don't #include it inside the function.  Pass new arguments to findidx.
12508         * lib/regex_internal.h:
12509         [!NOT_IN_libc] [_LIBC]: #include <locale/weight.h>.
12510         (re_string_elem_size_at): Don't #include it inside the function.
12511         Pass new arguments to findidx.
12513         2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
12514         Check if DEBUG is defined in regex_internal.c
12515         * lib/regex_internal.c: Check if DEBUG is defined and is set.
12517 2015-09-08   Assaf Gordon  <assafgordon@gmail.com>
12519         ceill: detect buggy OpenBSD implementation
12520         * m4/ceill.m4 (gl_FUNC_CEILL): Detect buggy openBSD implementation
12521         which returns zero for small values.  Discussed here:
12522         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00010.html
12524 2015-09-08  Dave Chiluk  <chiluk@canonical.com>
12526         mountlist: add me_mntroot field on Linux machines
12527         * lib/mountlist.c (read_file_system_list): Populate me_mntroot in
12528         mount_entry so Linux machines based on /proc/self/mountinfo can
12529         distinguish between bind mounts and original mounts.  In reality bind
12530         mounts aren't treated differently than mountroot=/ mounts by the
12531         kernel, but the user often wants these bind mounts distinguished.
12532         * lib/mountlist.h (struct mount_entry): Add me_mntroot element.
12533         More details at https://pad.lv/1432871
12535 2015-09-08  Christian Egli  <christian.egli@sbs.ch>
12537         doc: Describe to use multiple instances of gnulib
12538         * doc/gnulib-tool.texi: Add a section to the manual outlining how two
12539         instances of gnulib with different modules can be used, for example one
12540         for a lib and another one for associated tools.
12542 2015-09-01  Pádraig Brady  <P@draigBrady.com>
12544         base32: mark function as __attribute__ const
12545         * lib/base32.h (isbase32): Mark __attribute__ const as
12546         suggested by GCC, and consistent with the base64 module.
12548 2015-08-20  Daiki Ueno  <ueno@gnu.org>
12550         gnulib-tool: don't transform binary files with sed
12551         * gnulib-tool (func_add_or_update): Don't apply sed_transform_* to
12552         .mo and .class files.
12553         Reported by Denis Denisov.
12555 2015-08-10  Daiki Ueno  <ueno@gnu.org>
12557         gperf: respect silent rules
12558         * modules/gperf (Makefile.am): Define V_GPERF, V_GPERF_, and
12559         V_GPERF_0 for silent rules.
12560         * modules/iconv_open (Makefile.am): Use V_GPERF.
12561         * modules/unicase/locale-language (Makefile.am): Likewise.
12562         * modules/unicase/special-casing (Makefile.am): Likewise.
12563         * modules/unictype/category-byname (Makefile.am): Likewise.
12564         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
12565         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
12566         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
12567         * modules/unictype/property-byname (Makefile.am): Likewise.
12568         * modules/unictype/scripts (Makefile.am): Likewise.
12569         * modules/uninorm/composition (Makefile.am): Likewise.
12571 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
12573         Improve port of stdalign to C++11
12574         Problem reported by Sundaram in:
12575         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00003.html
12576         * lib/stdalign.in.h (alignof, alignas): Don't define if C++11 or newer.
12577         (__alignas_is_defined): Define if C++11 or newer.
12579 2015-08-01  Assaf Gordon  <assafgordon@gmail.com>  (tiny change)
12581         pmccabe2html: fix gawk regex escaping
12582         * build-aux/pmccabe2html: Add one more backslash to properly
12583         escape the gsub replacement value.  Fixes this error:
12584         gawk: ./build-aux/pmccabe2html:425: \
12585         warning: escape sequence `\&' treated as plain `&'
12587 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
12589         time_rz: port to pedantic memcpy
12590         * lib/time_rz.c (tzalloc): Pacify pedantic memcpy implementations
12591         that reject memcpy (..., NULL, 0).
12593 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
12595         time_rz: port better to MinGW
12596         Don't change tzname, as this makes MinGW dump core (Bug#21020).
12597         Instead, store the tzname copy in the struct tm_zone object.
12598         Problem reported by Eli Zaretskii in: http://bugs.gnu.org/21020#48
12599         * lib/strftime.c [!_LIBC]:
12600         * lib/time_rz.c: Include time-internal.h.
12601         * lib/strftime.c (strftime_case_) [!HAVE_TM_ZONE]: Infer the zone
12602         name from *TZ rather than from TZNAME, doable because *TZ now has
12603         a tzname_copy member.
12604         * lib/time-internal.h: New file, with contents taken from
12605         lib/time_rz.c.  It's separate because strftime.c now accesses
12606         struct tm_zone members.
12607         (struct tm_zone) [HAVE_TZNAME && !HAVE_TM_ZONE]:
12608         New member tzname_copy.
12609         * lib/time_rz.c (struct tm_zone): Move to time-internal.h.
12610         (tzalloc) [HAVE_TZNAME && !HAVE_TM_ZONE]:
12611         Initialize tzname_copy member.
12612         (save_abbr) [HAVE_TZNAME && !HAVE_TM_ZONE]: Save abbreviation
12613         in tzname_copy member.
12614         (revert_tz) [HAVE_TZNAME]: Remove no-longer-needed tzname saving.
12615         (restore_tzname): Remove; no longer needed.  All calls removed.
12616         * modules/time_rz (Files): Add lib/time-internal.h.
12618         time: port __need_time_t to MinGW
12619         * lib/time.in.h (__need_time_t): Do not treat specially on MinGW.
12620         Fix reported by Eli Zaretskii in: http://bugs.gnu.org/21020#36
12622 2015-07-25  Paul Eggert  <eggert@cs.ucla.edu>
12624         strftime: fix newly-introduced bug on Solaris
12625         * lib/strftime.c (strftime_case_): Set the local variable 'zone'
12626         consistently at the start, rather than doing some of the setup at
12627         the start and some in the %Z format spec.  This is cleaner, and
12628         works better with time_rz on platforms like Solaris where struct
12629         tm lacks a tm_zone member, as when !HAVE_TM_GMTOFF %z's calls to
12630         mktime_z and localtime_rz can mess up the tzname cache.
12632         test-strftime: test for Solaris bug
12633         * modules/strftime-tests (Depends-on): Add strerror.
12634         * tests/test-strftime.c: Include <errno.h>.
12635         (posixtm_test): New function, containing the old 'main'.
12636         (struct tzalloc_test, struct localtime_rz_test): New types.
12637         (TZ, LT): New static vars.
12638         (tzalloc_test): New function.
12639         (main): Rewrite in terms of posixtm_test and tzalloc_test.
12641         time_rz: port to Solaris etc.
12642         Works around a tzname problem on platforms like Solaris that have
12643         tzname but not tm_zone, by setting tzname at the appropriate time
12644         and restoring it later.
12645         * lib/time_rz.c (tzname_address, tzname_value) [HAVE_TZNAME]:
12646         New static vars.
12647         (save_abbr) [HAVE_TZNAME]: Set them.
12648         (revert_tz) [HAVE_TZNAME]: Clear or use them.
12649         (restore_tzname): New function.
12650         (localtime_rz, mktime_z): Use it.
12652         time_rz: now LGPL
12653         * modules/time_rz (License): Now LGPL, because strftime depends on it.
12655         time_rz: make a constant 'const'
12656         * lib/time_rz.c (local_tz): Now const.
12658         time_rz: fix off-by-one typo
12659         * lib/time_rz.c (extend_abbrs): Fix off-by-one typo.
12661 2015-07-23  Paul Eggert  <eggert@cs.ucla.edu>
12663         fprintftime, strftime: use timezone_t args
12664         * NEWS: Document the change.
12665         * lib/fprintftime.h (fprintftime):
12666         * lib/strftime.c (extra_args) [my_strftime]:
12667         * lib/strftime.h (nstrftime):
12668         Time zone arg is now of type timezone_t, not int.
12669         * lib/strftime.c (mktime_z) [_LIBC]: New macro.
12670         (__gmtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: Remove; no longer used.
12671         (my_strftime) [emacs && !my_strftime]:
12672         (emacs_strftimeu) [emacs && !FPRINTFTIME]:
12673         Remove; Emacs doesn't need this any more.
12674         (HAVE_TZSET) [my_strftime]: Unset, since we no longer want
12675         fprintftime and nstrftime to call tzset.
12676         (ut) [!my_strftime]: Remove, replacing with ...
12677         (tz) [!my_stftime]: ... this new macro.  All uses changed.
12678         (strftime_case_): Use localtime_rz and mktime_z instead
12679         of localtime_r and mktime.
12680         * modules/fprintftime (Depends-on): Add time_rz.
12681         * modules/strftime (Depends-on): Add time_rz.  Remove time_r.
12682         * tests/test-strftime.c (main): Adjust to new nstrftime API.
12684         time_rz: new module
12685         * MODULES.html.sh: Add time_rz.
12686         * lib/time_rz.c, m4/time_rz.m4, modules/time_rz: New files.
12687         * lib/time.in.h (timezone_t, tzalloc, tzfree, localtime_rz, mktime_z):
12688         New decls if _GNU_SOURCE && @GNULIB_TIME_RZ@ && ! @HAVE_TIMEZONE_T@.
12689         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS):
12690         New var HAVE_TIMEZONE_T (default 0).
12691         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
12692         New var GNULIB_TIME_RZ (default 0).
12693         * modules/time (time.h): Substitute the new vars.
12695         flexmember: license is now unlimited
12696         * modules/flexmember (License): Change to unlimited,
12697         since its only source file gives an unlimited license.
12699 2015-07-15  Eric Blake  <eblake@redhat.com>
12701         maint: update copyright paper procedures
12702         * config/srclist.txt: Drop outdated files.
12703         * doc/Copyright/conditions.txt: Update to latest.
12704         * doc/Copyright/assign.changes.manual: Delete.
12705         * doc/Copyright/assign.future.manual: Likewise.
12706         * doc/Copyright/assign.manual: Likewise.
12707         * doc/Copyright/assign.translation.manual: Likewise.
12708         * doc/Copyright/disclaim.changes.manual: Likewise.
12709         * doc/Copyright/disclaim.manual: Likewise.
12710         * doc/Copyright/disclaim.program: Likewise.
12712 2015-07-07  Daiki Ueno  <ueno@gnu.org>
12714         localename: fix link error on Illumos
12715         Illumos defines __sun, but does not have getlocalename_l nor the
12716         equivalent.  This partially reverts commit 387c214.
12717         * m4/localename.m4 (gl_LOCALENAME): Check if getlocalename_l is
12718         available, as well as uselocale.
12719         * lib/localename.c [HAVE_USELOCALE && __sun]: Don't fallback to
12720         use getlocalename_l if it is not available.
12722 2015-07-07  Daiki Ueno  <ueno@gnu.org>
12724         unistr/uN-strtok-tests: avoid a trivial leak
12725         * tests/unistr/test-u-strtok.h (test_u_strtok): Untabify.  Free
12726         input and delim after the multibyte delimiter tests.
12728 2015-07-04  Paul Eggert  <eggert@cs.ucla.edu>
12730         file-has-acl, acl-permissions: fix HP-UX typos
12731         Problem reported by John David Anglin in: http://bugs.gnu.org/20979
12732         * lib/file-has-acl.c (file_has_acl):
12733         * lib/set-permissions.c (context_acl_from_mode)
12734         (context_aclv_from_mode, set_acls):
12735         Fix some obvious typos when HAVE_GETCL /* HP-UX */.
12736         They were introduced by the recent ACL changes.
12738         regex: match current GNU grep behavior
12739         These symbols have not matched GNU grep behavior for quite some time.
12740         Fix prompted by Balazs Kezes bug report at: http://bugs.gnu.org/20974
12741         * lib/regex.h (RE_SYNTAX_GREP, RE_SYNTAX_EGREP):
12742         Change to match current GNU behavior.
12743         Simplify by expressing it as differences from POSIX BREs and EREs.
12744         (RE_SYNTAX_POSIX_EGREP): No longer differs from GNU behavior.
12746 2015-07-03  Jim Meyering  <meyering@fb.com>
12748         set-permissions.c: adjust acl_from_mode's cpp guard
12749         * lib/set-permissions.c (acl_from_mode): Guard with #ifdef
12750         directives identical to those guarding the sole use.
12751         Otherwise, on some systems, we'd get a warning about
12752         the function being defined but not used.
12753         Also, filter through cppi to correct misleading indentation
12754         of cpp directives.
12756 2015-07-03  Pádraig Brady  <P@draigBrady.com>
12758         tests: restrict shells to those that support 'local'
12759         The local keyword is very widely supported and used
12760         in tests in coreutils and grep at least.  Therefore
12761         restrict to testing with shells that support it.
12762         This mainly excludes /bin/sh on Solaris.
12763         * tests/init.sh (gl_shell_test_script_): Add a test for 'local'.
12765 2015-07-03  Seiya Kawashima  <skawashima@uchicago.edu>  (tiny change)
12766         and Daiki Ueno  <ueno@gnu.org>
12768         unistr/uN-strtok: handle multibyte delimiters
12769         Previously, uN_strtok moved PTR to the next unit to the token end.
12770         When DELIM contained a multibyte character, the new position could
12771         be a middle of a multibyte character.
12772         * lib/unistr/u-strtok.h (FUNC): Place PTR at the next character
12773         after the token.
12774         * lib/unistr/u8-strtok.c (U_STRMBLEN): New macro.
12775         * lib/unistr/u16-strtok.c (U_STRMBLEN): New macro.
12776         * lib/unistr/u32-strtok.c (U_STRMBLEN): New macro.
12777         * modules/unistr/u8-strtok (Depends-on): Depend on
12778         unistr/u8-strmblen.
12779         * modules/unistr/u16-strtok (Depends-on): Depend on
12780         unistr/u16-strmblen.
12781         * modules/unistr/u32-strtok (Depends-on): Depend on
12782         unistr/u32-strmblen.
12783         * tests/unistr/test-u-strtok.h: New file.
12784         * tests/unistr/test-u8-strtok.c: New file.
12785         * tests/unistr/test-u16-strtok.c: New file.
12786         * tests/unistr/test-u32-strtok.c: New file.
12787         * modules/unistr/u8-strtok-tests: New file.
12788         * modules/unistr/u32-strtok-tests: New file.
12789         * modules/unistr/u16-strtok-tests: New file.
12791 2015-07-02  Friedrich Haubensak  <hsk@fli-leibniz.de>
12793         update-copyright: fix test failure with perl >= 5.22 (trivial)
12794         * build-aux/update-copyright: Escape a literal left curly bracket,
12795         required with perl >= 5.22
12797 2015-07-02  Daiki Ueno  <ueno@gnu.org>
12799         u{16,32}-strstr-tests: relax timeout condition
12800         On slower platforms (e.g., Solaris 10/SPARC), u{16,32}-strstr
12801         tests can take longer than 5 seconds to complete.
12802         Reported by Dagobert Michelsen in:
12803         https://lists.gnu.org/r/bug-libunistring/2015-06/msg00006.html
12804         * tests/unistr/test-u16-strstr.c (main): Increase timeout from 5
12805         seconds to 10 seconds.
12806         * tests/unistr/test-u32-strstr.c (main): Likewise.
12808 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
12810         gnulib-common.m4: change the ARFLAGS default to 'cr'
12811         In some GNU/Linux distributions people started to compile 'ar'
12812         binary with --enable-deterministic-archives (binutils project).
12813         That, however, in combination with previous autotools long time
12814         working default AR{_,}FLAGS=cru causes warnings on such
12815         installations:
12816         ar: `u' modifier ignored since `D' is the default (see `U')
12817         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Set ARFLAGS='cr' if not
12818         set already.
12820 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
12822         selinux-h: avoid double free after *getfilecon()
12823         Originally reported by Ben Shelton on bug-tar:
12824         http://lists.gnu.org/r/bug-tar/2015-04/msg00009.html
12825         * lib/getfilecon.c (map_to_failure): Set the already freed '*con'
12826         pointer to NULL.  Man getfilecon(3) says that any non-NULL '*con'
12827         param should be freed by freecon(3) (regardless the return value).
12829 2015-07-01  Pavel Fedin  <p.fedin@samsung.com>
12831         fix pty related tests issues on Windows (trivial)
12832         * lib/grantpt.c (grantpt): grantpt.c seems to be never used on Windows,
12833         however it's still present in tests/ subdirectory of the final project.
12834         Therefore avoid it to pass `make check`.
12835         * tests/test-openpty.c (main): Windows has no PTYs and gnulib's openpty()
12836         will just return -ENOSYS, so avoid this non applicable test allowing
12837         the build to proceed.
12839 2015-07-01  Pádraig Brady  <P@draigBrady.com>
12841         acl: fix definition of acl_from_mode on FreeBSD
12842         This was causing basic coreutils copy operations to fail
12843         with ENOTSUP or ENOENT error messages.
12844         * lib/acl-internal.h (acl_from_mode): Only define when
12845         ! defined HAVE_ACL_FROM_TEXT.  That allows the version
12846         of acl_from_mode() defined in lib/set-permissions.c to
12847         be used on FreeBSD at least.
12848         * lib/set-permissions.c: Fix up comment spelling,
12849         and a redundant variable assignment; noticed in passing.
12851 2015-06-30  Pádraig Brady  <P@draigBrady.com>
12853         readutmp: port to FreeBSD >= 9
12854         * lib/readutmp.h: Map utmpxname() to setutxdb().
12855         With that coreutils who(1) and pinky(1) tests pass.
12857 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
12859         mgetgroups: port to strict OS X
12860         The previous fix wasn't working, so use a bigger hammer (Bug#20923).
12861         * lib/mgetgroups.c: Ignore -Wpointer-sign diagnostics.
12862         (getgrouplist_gids) [HAVE_GETGROUPLIST]: Remove.  All uses removed.
12863         * m4/mgetgroups.m4 (gl_MGETGROUPS): Revert recent changes.
12865 2015-06-29  Paul Eggert  <eggert@cs.ucla.edu>
12867         mgetgroups: port to strict OS X
12868         * doc/glibc-functions/getgrouplist.texi (getgrouplist):
12869         Document the getgrouplist problem.
12870         * lib/mgetgroups.c (getgrouplist_gids) [HAVE_GETGROUPLIST]:
12871         New macro.
12872         (mgetgroups): Use it.
12873         * m4/mgetgroups.m4 (gl_MGETGROUPS):
12874         Check for OS X signature for getgrouplist.
12876 2015-06-29  Jim Meyering  <meyering@fb.com>
12878         linkat: fix invalid definition of LINKAT_SYMLINK_NOTSUP on OS X
12879         It started like this when building coreutils' latest on OS X,
12880         invoking ./configure with a nonempty --cache=.cache:
12882           lib/linkat.c:46:42: error: operator '||' has no right operand
12883           lib/linkat.c: In function 'rpl_linkat':
12884           lib/linkat.c:330:27: error: #if with no expression
12886         Here's linkat.c's line 46:
12888           #if !HAVE_LINKAT || LINKAT_SYMLINK_NOTSUP
12890         Here's some context:
12892           $ grep linkat_nofoll .cache
12893           gl_cv_func_linkat_nofollow=${gl_cv_func_linkat_nofollow=no}
12894           $ grep LINKAT_SYM lib/config.h
12895           #define LINKAT_SYMLINK_NOTSUP
12897         The problem is that m4/linkat.m4's gl_FUNC_LINKAT
12898         uses AC_CACHE_CHECK to set LINKAT_SYMLINK_NOTSUP,
12899         but that violates a tenet of AC_CACHE_CHECK: it must
12900         have no side effect other than setting its cache variable.
12902         What happens is that when the cache is set, we'd skip the
12903         code in that AC_CACHE_CHECK call, and leave LINKAT_SYMLINK_NOTSUP
12904         defined to whatever value it happened to have in configure's
12905         environment.  In my case, it was not defined, so this later code:
12907           AC_DEFINE_UNQUOTED([LINKAT_SYMLINK_NOTSUP], [$LINKAT_SYMLINK_NOTSUP],
12908             [Define to 1 if linkat can create hardlinks to symlinks])
12910         would emit code with an empty RHS.
12912         * m4/linkat.m4 (gl_FUNC_LINKAT): Move the setting of
12913         $LINKAT_SYMLINK_NOTSUP out of the AC_CACHE_CHECK code block.
12915 2015-06-28  Jim Meyering  <meyering@fb.com>
12917         mountlist: avoid an unused-label warning on OS X
12918         * lib/mountlist.c (read_file_system_list) [MOUNTED_GETMNTINFO]:
12919         Building on OS X, I saw a warning about the "free_then_fail" label
12920         being unused.  Give it the _GL_UNUSED_LABEL attribute.
12922         error.c: correct printf-style format: %d -> %u
12923         * lib/error.c (error_at_line): Correct __fxprintf format to use %u,
12924         rather than %d, to match the type of "line_number", unsigned int.
12926 2015-06-25  Pádraig Brady  <P@draigBrady.com>
12928         fts: avoid reading beyond the heap allocation
12929         GCC 5.1.1 with -O2 and -fsanitize=address reports
12930         a read of size 4 from a heap object of size 3 is indeed invalid,
12931         though this may be due to incorrect padding assumptions by GCC, see:
12932         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
12933         * lib/fts.c (fts_alloc): Increase allocation to alignof(FTSENT).
12934         * modules/fts: Depend on stdalign.
12936 2015-06-24  Pádraig Brady  <P@draigBrady.com>
12938         savedir: avoid undefined behavior in qsort call
12939         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
12940         "runtime error: null pointer passed as argument 1,
12941          which is declared to never be null"
12942         * lib/savedir.c (streamsavedir): Avoid the call with no entries.
12944 2015-06-24  Pádraig Brady  <P@draigBrady.com>
12946         userspec: avoid undefined behavior in gettext call
12947         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
12948         "runtime error: null pointer passed as argument 2,
12949          which is declared to never be null"
12950         * lib/userspec.c (parse_with_separator): Avoid passing NULL to gettext()
12952 2015-06-20  Glenn Morris  <rgm@gnu.org>
12954         gitlog-to-changelog: improve gitmerge.el commits
12955         Let the Emacs ChangeLog generation process exclude "skipped"
12956         messages from merge commits (Bug#20717).
12957         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
12959 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
12961         wchar: fix MinGW compilation warnings
12962         This lets Texinfo compile cleanly.  See Eli Zaretskii in:
12963         http://lists.gnu.org/r/bug-gnulib/2015-06/msg00050.html
12964         * lib/wchar.in.h: Do not use special invocation convention on MinGW.
12966 2015-06-20  Daiki Ueno  <ueno@gnu.org>
12968         uniname/uniname-tests: use pristine data files
12969         For copyright and maintenance reasons, use the data files from UCD
12970         without modification.
12971         * tests/uniname/test-uninames.c (FIELDLEN): Remove.
12972         (getfield): Remove.
12973         (aliases_count): New global variable.
12974         (fill_names): Skip comments and empty lines in the input.  Don't
12975         use getfield.
12976         (fill_aliases): Likewise.
12977         (main): Change the expected command line arguments to:
12978         NAMES... ["--" ALIASES...].
12979         * tests/uniname/test-uninames.sh: Adjust to the change in
12980         test-uninames.c.
12981         * tests/uniname/UnicodeDataNames.txt: Remove.
12982         * tests/uniname/UnicodeData.txt: New file, from Unicode 8.0.0.
12983         * tests/uniname/NameAliases.txt: Use the pristine copy of the data
12984         file from Unicode 8.0.0.
12986 2015-06-19  Pádraig Brady  <P@draigBrady.com>
12988         linked-list, linkedhash-list: avoid compiler warnings
12989         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
12990         -Werror=suggest-attribute=pure (from GCC 5.1.1).
12992 2015-06-19  Daiki Ueno  <ueno@gnu.org>
12994         libunistring: bump minimum version to 0.9.6
12995         * all modules depending on updated Unicode data: Regenerate.
12996         The modules are listed by a script that does:
12997         - for each file listed by: git show --oneline --name-only 705f4efc
12998           - deduce the containing modules, based on "Files:"
12999         - deduce the modules which depend on the containing modules, based
13000           on "Depends-on:"
13002 2015-06-18  Daiki Ueno  <ueno@gnu.org>
13004         uniname/uniname: update to Unicode 8.0.0
13005         * lib/uniname/uninames.h: Regenerate.
13006         * tests/uniname/NameAliases.txt: Update from Unicode 8.0.0.
13007         * tests/uniname/UnicodeDataNames.txt: Update from Unicode 8.0.0.
13009 2015-06-18  Daiki Ueno  <ueno@gnu.org>
13011         libunistring: update to Unicode 8.0.0
13012         * lib/gen-uni-tables.c (SIZEOF): New macro.
13013         (output_numeric): Increase the maximum number of fractions from
13014         128 to 160.  Increase the level3 value width from 7 bits to 8
13015         bits.  Use SIZEOF instead of a hard-coded integer.
13016         (output_blocks): Decrease the cut-off threshold from 0x30000 to
13017         0x28000.
13018         (fill_blocks): Increase the maximum number of blocks from 256 to
13019         384.  Use SIZEOF instead of a hard-coded integer.
13020         (get_lbp): Adjust to new characters added in Unicode 8.0.0.
13021         * lib/unictype/numeric.c (uc_numeric_value): Adjust the level3
13022         value width.
13023         * lib/unilbrk/lbrktables.c (unilbrk_table): Implement LBP21b and
13024         a new case added to LBP22.
13025         * lib/uniwidth/width.c (nonspacing_table_data): Add U+08E3,
13026         U+A69E, U+FE2E..U+FE2F, U+111CA..U+111CC, U+11300,
13027         U+115DC..U+115DD, U+1171D..U+1171F, U+11722..U+11725,
13028         U+11727..U+1172B, U+1DA00..U+1DA36, U+1DA3B..U+1DA6C, U+1DA75,
13029         U+1DA84, U+1DA9B..U+1DA9F, and U+1DAA1..U+1DAAF.
13030         * tests/uniwidth/test-uc_width2.sh: Same updates as in
13031         lib/uniwidth/width.c.
13032         * all generated files under lib/uni* and tests/uni*: Regenerate.
13034 2015-06-16  Pádraig Brady  <P@draigBrady.com>
13036         gnu-web-doc-update: add --mirror to remove stale files
13037         * build-aux/gnu-web-doc-update: Add a --mirror option to remove
13038         out of date files from the CVS server.  Since this is usually
13039         appropriate, a prompt is given when the option is not specified,
13040         along with the `cvs remove` command that would be run.
13042 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
13044         acl-permissions: pacify -Wsuggest-attribute=const
13045         Problem reported by Masanari Iida in: http://bugs.gnu.org/20753
13046         * lib/acl-internal.h (free_permission_context):
13047         Declare with attribute const if ! (defined USE_ACL &&
13048         (HAVE_ACL_GET_FILE || defined GETACL)).
13050         fsync: document AIX misbehavior
13051         * doc/posix-functions/fsync.texi (fsync):
13052         Document failure on AIX with read-only file descriptor.
13054 2015-06-05  Jonathan Perkin  <jperkin@joyent.com>  (tiny change)
13056         stdio: Don't redefine gets when using C++
13057         * lib/stdio.in.h (gets): Disable warning on C++.
13059 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
13061         acl-permissions: port to AIX, C89 HP-UX
13062         Problems reported by Michael Felt.
13063         * lib/file-has-acl.c (file_has_acl) [HAVE_STATACL]:
13064         * lib/get-permissions.c (get_permissions) [USE_ACL && HAVE_STATACL]:
13065         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]:
13066         * lib/set-permissions.c (set_acls) [HAVE_ACLX_GET && ACL_AIX_WIP]:
13067         Add cast for AIX, whose system calls are declared to accept
13068         char * even though the arguments are really char const *.
13069         * lib/get-permissions.c (get_permissions):
13070         If USE_ACL && HAVE_GETACL /* HP-UX */, don't assume C99.
13071         If USE_ACL && HAVE_STATACL /* older AIX */, add missing decl
13072         that broke a build.
13073         * lib/mountlist.c (read_file_system_list) [MOUNTED_VMOUNT]:
13074         Rework types to pacify xlc.
13076 2015-06-03  Pádraig Brady  <P@draigBrady.com>
13078         vasprintf-posix: avoid compiling vasnprintf where possible
13079         * modules/vasprintf-posix: Avoid compiling the large vasnprintf
13080         module where not required.  For example on a GNU/Linux system
13081         when gnulib-tool is run with the --conditional-dependencies option.
13083 2015-06-02  Pádraig Brady  <P@draigBrady.com>
13085         file-has-acl: fix build on Mac OS X 10
13086         This reverts commit f1b37e3a which doesn't work on Mac OS X >= 10.4
13087         which has an incompatible 6 parameter getxattr() call.
13088         * doc/glibc-functions/getxattr.texi: Mention the divergent getxattr()
13089         call on Mac OS X >= 10.4.
13090         * doc/glibc-functions/fgetxattr.texi: Likewise.
13091         * lib/file-has-acl.c: Revert to more complete combined check.
13092         * m4/acl.m4 (gl_FILE_HAS_ACL): Likewise.
13093         Reported by Jack Howarth.
13095 2015-06-02  Pádraig Brady  <P@draigBrady.com>
13097         prefix-gnulib-mk: remove no longer needed special case
13098         * build-aux/prefix-gnulib-mk (prefix): Since commit e3704b9c,
13099         continued lib_SOURCES lines are no longer present,
13100         so special case handling of such entries is not required.
13102 2015-06-01  Pádraig Brady  <P@draigBrady.com>
13104         acl: don't depend on the deprecated qacl module
13105         * modules/acl (Depends-on): Use q{copy,set}-acl instead.
13107 2015-06-01  Pádraig Brady  <P@draigBrady.com>
13109         gnulib-tool: concatenate lib_SOURCES to a single line
13110         * gnulib-tool: Refactor the line merging sed logic,
13111         and use that to output a single lib_SOURCES line for each module.
13112         gnulib using projects often postprocess this output to prepend
13113         subdir paths to each item, and having a single line simplifies this
13114         processing allowing better decoupling from the gnulib-tool output.
13116 2015-06-01  Pavel Fedin  <p.fedin@samsung.com>
13118         pthread_sigmask: discount system version if a simple macro (trivial)
13119         MinGW64 has: #define pthread_sigmask(H, S1, S2) 0
13120         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Call the
13121         function to ensure it's available.
13123 2015-05-31  Pádraig Brady  <P@draigBrady.com>
13125         readlinkat: avoid OS X 10.10 trailing slash bug
13126         * doc/posix-functions/readlink.texi: Mention that OS X 10.10
13127         has this bug.
13128         * doc/posix-functions/readlinkat.texi: Likewise.  Also mention
13129         that OS X 10.10 has this function.
13130         * lib/readlinkat.c (rpl_readlinkat): Handle the trailing slash bug,
13131         as done for readlink().
13132         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check for the readlink()
13133         trailing slash bug, and assume readlinkat() has the same issue.
13134         Also fix a typo where $gl_cv_decl_readlink_works was tested,
13135         rather than the correct $gl_cv_decl_readlinkat_works.
13137 2015-05-29  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
13139         acl-permissions: Fix build on Mac OS X and older AIX (Bug#20681)
13140         * lib/set-permissions.c (set_acls): Fix more errors introduced in the acl
13141         module rewrite.
13143         acl-permissions: Fix build on Solaris and Cygwin
13144         Reported by Tom G. Christensen <tgc@jupiterrise.com>:
13145         * lib/set-permissions.c (set_acls): The count, entries, ace_count, and
13146         ace_entries variables have moved into struct permission_context but
13147         they were still accessed as local variables here.
13149 2015-05-29  Pádraig Brady  <P@draigBrady.com>
13151         linkat: avoid OS X 10.10 trailing slash with symlink bug
13152         On Darwin 14.3.0 linkat(,"path1",,"dangling_symlink/",)
13153         causes the symlink to be dereferenced, and if it points
13154         to a non existent file, that file will be created as
13155         a hard link to "path1".
13156         This fixes a test failure in test-linkat.c.
13157         * m4/linkat.m4 (gl_FUNC_LINKAT): Augment the test with
13158         this case.  The existing workaround in linkat.c for
13159         trailing slash issues, suffices for this case.
13160         * doc/posix-functions/linkat.texi: Add OS X 10.10 to
13161         the list of platforms with trailing slash issues.
13163 2015-05-28  Pádraig Brady  <P@draigBrady.com>
13165         unlinkat: handle ignoring of ".." on Darwin 14
13166         * lib/unlinkat.c: unlinkat() has the same bug as unlink()
13167         on Mac OS X 10.10, where it ignores paths with a trailing "..",
13168         so handle in the same manner.
13169         * m4/unlinkat.m4: Comment on this Darwin issue.
13170         * doc/posix-functions/unlink.texi: Update the latest version
13171         where the issue was seen.
13172         * doc/posix-functions/unlinkat.texi: Mention this issue.
13173         Fixes a test failure in test-unlinkat.c.
13175 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
13177         qacl: split into qcopy-acl and qset-acl
13178         Emacs needs the former, but not the latter.
13179         * modules/acl-permissions: New file, containing most of the old qacl.
13180         * modules/file-has-acl (Depends-on): Depend on acl-permissions, not qacl.
13181         * modules/qacl: Now merely depends on qcopy-acl and qset-acl.
13182         * modules/qcopy-acl, modules/qset-acl: New files.
13183         * MODULES.html.sh (File system functions):
13184         Mention the new modules, and mention qacl while we're at it.
13186 2015-05-27  Glenn Morris  <rgm@gnu.org>
13188         gitlog-to-changelog: new option --ignore-line
13189         (This patch is imported from the GNU Emacs master.)
13190         This option ignores individual commit lines matching a pattern.
13191         * build-aux/gitlog-to-changelog: Add --ignore-line option.
13193 2015-05-27  Andreas Gruenbacher  <agruenba@redhat.com>
13195         qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
13196         Implement get_permissions and set_permissions primitives for getting all
13197         the permissions of a file, storing them, and later setting them. (In the
13198         minimal case, the permissions consist only of a file mode.) Reimplement
13199         qset_acl and qcopy_acl based on these new primitives: this avoids code
13200         duplication and makes error handling more consistent.
13201         The Solaris and Cygwin code still uses duplicate code paths for setting
13202         a file mode while making sure that no acls exist and setting an explicit
13203         acl; this is no worse than before, but could be cleaned up.  The AIX
13204         code still doesn't read ACLs, it only makes sure that acls don't get in
13205         the way when setting a file mode.
13206         * lib/acl-internal.h (struct permission_context): New data structure.
13207         (get_permissions, set_permissions, free_permission_context): Declare.
13208         * lib/acl-internal.c (free_permission_context): New helper function.
13209         * lib/get-permissions.c (get_permissions): New helper function split off
13210         from qcopy_acl.
13211         * lib/set-permissions.c: (set_acls_from_mode): On Solaris, Cygwin, and
13212         AIX, set a file's permissions based only on a file mode.
13213         (acl_from_mode, context_acl_from_mode, context_aclv_from_mode): All
13214         other platforms construct a temporary acl from the file mode and set
13215         that acl in the same way as setting an acl read from the source file.
13216         This should help avoid code duplication and inconsistent / buggy
13217         behavior.
13218         (set_acls): New helper function Split off from qcopy_acl.
13219         (chmod_or_fchmod): Moved here from qset-acl.c.
13220         (set_permissions): New helper function.
13221         * lib/qcopy-acl.c (qcopy_acl): Rewrite using get_permissions and
13222         set_permissions.
13223         * lib/qset-acl.c (qset_acl): Rewrite using set_permissions.
13224         * modules/qacl: Add get-permissions.c and set-permissions.c.
13226         file-has-acl: Split feature tests again (Bug#20667)
13227         * lib/file-has-acl.c: Instead of testing for
13228         XATTR_NAME_POSIX_ACL_ACCESS and XATTR_NAME_POSIX_ACL_DEFAULT,
13229         define them when needed.
13230         * m4/acl.m4 (gl_FILE_HAS_ACL): With that, Paul's
13231         GETXATTR_WITH_POSIX_ACLS change shouldn't be needed anymore.
13233 2015-05-27  Pádraig Brady  <P@draigBrady.com>
13235         string: fix build failure on BSD/OSX with FORTIFY_SOURCE
13236         This avoids a conflict with "FORTIFY_SOURCE" variants
13237         of the string functions when they're replaced on NetBSD-6.0.1
13238         and Darwin-14.3.0 at least.
13239         * lib/string.in.h: Avoid including our "lib/string.h" while
13240         including the system <string.h>.
13242 2015-05-26  Eric Blake  <eblake@redhat.com>
13244         stdio: limit __gnu_printf__ witness to gcc 4.4+
13245         * lib/error.h (_GL_ATTRIBUTE_SPEC_PRINTF): Move gcc version probe...
13246         * m4/stdio_h.m4 (gl_STDIO_H): ...here.
13248         error: use correct printf attributes on mingw
13249         * lib/stdio.in.h (_GL_ATTRIBUTE_SPEC_PRINTF): New define.
13251         inttypes: force correct mingw PRIdMAX even without <stdio.h>
13252         * modules/inttypes (Depends-on): Require extensions, so that mingw
13253         always uses GNU style inttypes.
13254         * lib/inttypes.in.h: On mingw, include <stdio.h>.
13256         stdio: fix probe on mingw under gcc 5.1
13257         * m4/stdio_h.m4 (gl_STDIO_H): Change to compile test, to work
13258         around new gcc preprocessor rules.
13260 2015-05-07  Glenn Morris  <rgm@gnu.org>
13262         gitlog-to-changelog: parse "Tiny-change"
13263         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
13264         "Copyright-paperwork-exempt".  (Bug#20324)
13266 2015-05-06  Pádraig Brady  <P@draigBrady.com>
13268         doc: document glibc posix_fallocate() issues
13269         * doc/posix-functions/posix_fallocate.texi: Mention the
13270         glibc efficiency problems and issues with NFS.
13272 2015-05-05  Karl Berry  <karl@freefriends.org>
13274         * build-aux/gendocs.sh (usage): document new css default
13275         for HTML (--htmlarg).
13277 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
13279         extern-inline: no need for workaround in GCC 5.1
13280         * doc/extern-inline.texi (extern inline):
13281         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
13282         GCC bugs 54113 and 63877 are fixed in GCC 5.1, so don't work
13283         around these bugs in GCC 5.1 and later.  Maybe in a decade or
13284         two we can remove these workarounds.
13286 2015-04-28  Pádraig Brady  <P@draigBrady.com>
13288         eealloc, pagealign_alloc, xalloc: avoid clang warnings
13289         Avoid [-Wunknown-attributes] warnings like:
13290         warning: unknown attribute '__alloc_size__' ignored
13291         * lib/xalloc.h: Don't use the __alloc_size__  attribute
13292         with clang, as support has been fully removed as of clang 3.5:
13293         https://github.com/llvm-mirror/clang/commit/c047507a
13294         * lib/eealloc.h: Likewise.
13295         * lib/pagealign_alloc.h: Likewise.
13297 2015-04-27  Paul Eggert  <eggert@cs.ucla.edu>
13299         tests: pacify GCC 5.1's stricter printf checking
13300         * tests/test-dirname.c (main):
13301         * tests/test-getaddrinfo.c (simple):
13302         * tests/test-getlogin.c (main):
13303         * tests/test-getndelim2.c (main):
13304         * tests/test-inttostr.c (CK):
13305         * tests/test-md5.c (main):
13306         * tests/test-read-file.c (main):
13307         * tests/test-sha1.c (main):
13308         Fix mismatches between printf format and value signedness.
13309         * tests/test-inttostr.c (FMT, CAST_VAL, V_min, V_max):
13310         Remove, as CAST_VAL always returned a value of type uintmax_t.
13312         fts: port to GCC 5.1 with --enable-gcc-warnings
13313         Without this fix, GCC 5.1 (correctly) warns about a subscript
13314         error on the fts_name component of FTSENT.  It's actually a
13315         flexible member, so define it that way on C99 or later hosts.
13316         * lib/fts.c (fts_alloc): Use offsetof, not sizeof, for a
13317         structure that now has a flexible array member.
13318         * lib/fts_.h (__FLEXIBLE_ARRAY_MEMBER): New macro.
13319         (FTSENT): fts_name is now flexible on C99-or-later platforms.
13320         * modules/fts (Depends-on): Add flexmember.
13322 2015-04-26  Paul Eggert  <eggert@cs.ucla.edu>
13324         file-has-acl: port to CentOS 6
13325         Problem reported by Tom G. Christensen in:
13326         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00074.html
13327         * lib/file-has-acl.c: Use GETXATTR_WITH_POSIX_ACLS instead of a
13328         combination of HAVE_SYS_XATTR_H, HAVE_LINUX_XATTR_H, and
13329         HAVE_GETXATTR.
13330         * m4/acl.m4 (gl_FILE_HAS_ACL): Test fot the entire combination of
13331         linux/xattr.h, sys/xattr.h, getxattr, XATTR_NAME_POSIX_ACL_ACCESS,
13332         and XATTR_NAME_POSIX_ACL_DEFAULT, since that's what
13333         file-has-acl.c actually needs.
13335 2015-04-26  Pádraig Brady  <P@draigBrady.com>
13337         file-has-acl: always return false when ACLs aren't supported
13338         * lib/file-has-acl.c (file_has_acl): Consistent with other paths,
13339         change the GNU/Linux getxattr path, to transform "not supported"
13340         errors to a false return rather than an error.  This is handled
13341         within file_has_acl() due to the platform specific tests to
13342         determine if ACLs are not supported.
13344 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
13346         gettext: propagate po/Makefile.in.in too
13347         * build-aux/po/Makefile.in.in: Copy from latest gettext.
13348         * config/srclist.txt: In build-aux/po, copy Makefile.in.in and
13349         remove-potcdate.sin from $GETTEXT.  This fixes a version mismatch
13350         between Makefile.in.in and the gettext-runtime m4 files.
13352 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
13354         file-has-acl: new module, split from acl
13355         And add a new module file-has-acl-tests to match.
13356         I ran into a problem with the recent changes to the acl module,
13357         as they introduced a typo 'test use_xattrs = 0' into 'configure'.
13358         When using the fixed version with Emacs, I discovered that
13359         file-has-acl wasn't separated out well enough for Emacs (e.g., it
13360         had multiple libraries, but needed only one), so I fixed that too.
13361         * NEWS: Document this incompatible change.
13362         * modules/file-has-acl, modules/file-has-acl-tests: New files.
13363         * m4/acl.m4 (gl_FUNC_ACL_ARG): New macro, split from gl_FUNC_ACL.
13364         Initialize gl_need_lib_has_acl.
13365         (gl_FUNC_ACL): Require it.
13366         Simplify use of 'test'.  Set LIB_HAS_ACL if gl_need_lib_has_acl.
13367         Move the file-has-acl.c-relevant stuff to ...
13368         (gl_FILE_HAS_ACL): ... this new macro.  Rewrite to fix 'test
13369         use_xattrs = 0' typo, and omit some needless work.  Set
13370         gl_need_lib_has_acl=1 if we'll need LIB_HAS_ACL to be set
13371         when gl_FUNC_ACL is called.
13372         * modules/acl (Files, lib_SOURCES): Remove lib/file-has-acl.c.
13373         (Link): Remove $(LIB_HAS_ACL).
13374         * modules/acl-tests (Files, Depends-on, configure.ac, TESTS)
13375         (check_PROGRAMS): Move stuff relevant to file-has-acl to
13376         modules/file-has-acl-tests.
13377         (test_file_has_acl_LDADD): Move to modules/file-has-acl-tests.
13379         manywarnings: add GCC 5.1 warnings
13380         * build-aux/gcc-warning.spec: Add -Wabi=, -Warray-bounds,
13381         -Warray-bounds=, -Wc++14-compat, -Wc90-c99-compat,
13382         -Wc99-c11-compat, -Wshadow-ivar, -Wsized-deallocation,
13383         -Wsuggest-override, -Wuse-without-only.  Change
13384         -Wnormalized=... operands to match 5.1.
13385         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wbool-compare,
13386         -Wchkp, -Wdesignated-init, -Wdiscarded-array-qualifiers,
13387         -Wdiscarded-qualifiers, -Wformat-signedness,
13388         -Wincompatible-pointer-types, -Wint-conversion,
13389         -Wlogical-not-parentheses, -Wmemset-transposed-args, -Wodr,
13390         -Wshift-count-negative, -Wshift-count-overflow,
13391         -Wsizeof-array-argument, -Wsuggest-final-methods,
13392         -Wsuggest-final-types, -Wswitch-bool.  Remove -Warray-bounds,
13393         and add -Warray-bounds=2 as a special case.
13395 2015-04-21  Simon Josefsson  <simon@josefsson.org>
13397         doc: update FDL template to match FDL examples.
13398         * doc/alloca-opt.texi:
13399         * doc/alloca.texi:
13400         * doc/c-ctype.texi:
13401         * doc/c-strcase.texi:
13402         * doc/c-strcaseeq.texi:
13403         * doc/c-strcasestr.texi:
13404         * doc/c-strstr.texi:
13405         * doc/c-strtod.texi:
13406         * doc/c-strtold.texi:
13407         * doc/ctime.texi:
13408         * doc/error.texi:
13409         * doc/gcd.texi:
13410         * doc/gnulib-tool.texi:
13411         * doc/inet_ntoa.texi:
13412         * doc/intprops.texi:
13413         * doc/lib-symbol-visibility.texi:
13414         * doc/maintain.texi:
13415         * doc/parse-datetime.texi:
13416         * doc/quote.texi:
13417         * doc/regexprops-generic.texi:
13418         * doc/standards.texi: Remove spurious 'with' in FDL license
13419         template.
13421 2015-04-21  Paul Eggert  <eggert@cs.ucla.edu>
13423         lstat: fix cross-compilation 'ln -s' problem
13424         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
13425         Have the test program call 'symlink' rather than a separate
13426         script run 'ln -s'; this is more likely to work in
13427         cross-compilation environments.  Reported by Pavel Fedin in:
13428         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00060.html
13430 2015-04-16  Ludovic Courtès  <ludo@gnu.org>
13432         gendocs.sh: default to a common CSS style sheet for HTML output
13433         * build-aux/gendocs.sh (htmlarg): Change default value.
13435 2015-04-15  Mats Erik Andersson  <gnu@gisladisker.se>
13437         gnulib-tool: output bold attribute more portably
13438         * gnulib-tool (func_show_module_list): Change hexadecimal
13439         numbers to octal in BOLD_ON and BOLD_OFF.  The use of hex
13440         encoded numbers as arguments to `printf' is not portable,
13441         and is not claimed by POSIX.  This is the case with FreeBSD.
13443 2015-04-15  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
13445         qacl: Simplify HP-UX acl_nontrivial check
13446         * lib/acl-internal.c: Remove struct stat parameter from HP-UX's version of
13447         acl_nontrivial. Check if the acl has at most three entries instead (it must
13448         have exactly three entries according to the HP-UX documentation). Ignore
13449         uids and gids as long as an entry is either for a user (i.e., the owner),
13450         a group (i.e., the owning group), or others.
13451         * lib/acl-internal.h: Change HP-UX's acl_nontrivial prototype.
13452         * lib/qcopy-acl.c (qcopy_acl): With that, we no longer need to stat the file.
13454 2015-04-15  Andreas Gruenbacher   <andreas.gruenbacher@gmail.com>
13456         acl: On Linux, check for acls without libacl
13457         On Linux, use the getxattr syscall instead of the acl_extended_file libacl
13458         library function to check for the presence of acls, avoiding a library.
13459         * lib/file-has-acl.c: Include xattr headers if we have them.
13460         (file_has_acl): On Linux, use getxattr().
13461         * m4/acl.m4 (gl_FUNC_ACL): Define LIB_HAS_ACL as the libraries to link with for
13462         file_has_acl(). Check for xattr headers and getxattr().
13464 2015-04-14  Ángel González  <keisial@gmail.com>
13466         tempname: avoid unused parameter warnings (trivial)
13467         * lib/tempname.c (try_dir): Tag with __GL_UNUSED.
13468         (try_nocreate): Likewise.
13470 2015-04-14  HIRAMATSU Yoshifumi  <hiramatu@boreas.dti.ne.jp>
13472         fseeko: fix build failure on NetBSD >= 6 (trivial)
13473         * lib/fseeko.c (feeko): NetBSD 6 changed the definition of _offset
13474         from 'fpos_t struct' to __off_t, which is a typedef of __int64_t.
13476 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
13478         gitlog-to-changelog: port to MS-Windows
13479         * build-aux/gitlog-to-changelog (git_dir_option):
13480         Use strftime with "%Y-%m-%d", not "%F", to avoid a bug in
13481         MS-Windows Perl.  Reported by Eli Zaretskii in:
13482         http://lists.gnu.org/r/emacs-devel/2015-04/msg00504.html
13484 2015-04-07  Karl Berry  <karl@gnu.org>
13486         gendocs: new option --tex for passing args to texi2dvi.
13487         * build-aux/gendocs.sh: new option --tex, default -t @finalout.
13488         (TEXI2DVI): cut to just command name.
13489         (usage): mention new option, and update copyright.
13490         <generate_tex>: use it.
13492 2015-04-07  Karl Berry  <karl@gnu.org>
13494         * config/srclistvars.sh (GETTEXT): new definition.
13495         * config/srclist.txt: use it for gettext .m4 files.
13496         Thread starting at http://lists.gnu.org/r/bug-gnulib/201
13497         and confirmed at http://lists.gnu.org/r/bug-gnulib/2015-02/msg00146.html
13498         and continuing into April.
13500 2015-04-07  Daiki Ueno  <ueno@gnu.org>
13502         uniname/uniname-tests: fix failure due to alias
13503         Reported by Jack Howarth in:
13504         <https://lists.gnu.org/r/bug-libunistring/2015-04/msg00000.html>.
13505         * tests/uniname/test-uninames.c (name_has_alias): New function.
13506         (test_inverse_lookup): Exclude character name with valid alias,
13507         from randomly generated character names.
13508         (main): Fill unicode_aliases before calling test functions.
13510 2015-04-03  Giuseppe Scrivano  <gscrivan@redhat.com>
13512         hash: remove deprecated hash_insert0 function
13513         * lib/hash.h (hash_insert0): Remove deprecated function.
13514         * lib/hash.c (hash_insert0): Likewise.
13516 2015-04-02  Pádraig Brady  <P@draigBrady.com>
13518         mountlist: remove dependency on libmount
13519         * lib/mountlist.c (read_file_system_list): Parse /proc/self/mountinfo
13520         directly, rather than depending on libmount, which has many
13521         dependencies due to its dependence on libselinux, as detailed at:
13522         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00063.html
13523         Note we restrict this to __linux__ as that's probably where this
13524         interface will remain.  If ever porting, it would be best
13525         to first pull the makedev() wrapper from coreutils to a gnulib module.
13526         Note also we don't add a getline dependency to the mountlist module,
13527         as all Linux versions are sufficient.
13529 2015-04-02  Paul Eggert  <eggert@cs.ucla.edu>
13531         stddef: port to pre-C11 GCC on x86
13532         On this platform, max_align_t should have an alignment of 8 even
13533         though the storage alignments of double, long, etc. max out at 4.
13534         Inspired by a comment of Andreas Schwab's here:
13535         https://sourceware.org/ml/libc-alpha/2015-04/msg00017.html
13536         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS) [!HAVE_MAX_ALIGN_T]: New macro.
13537         (max_align_t) [!HAVE_MAX_ALIGN_T]: Use it.
13538         * tests/test-stddef.c: Test __alignof__ too, if available.
13540 2015-03-24  Pádraig Brady  <P@draigBrady.com>
13542         quotearg-simple-tests: add missing gl_FUNC_MMAP_ANON dependency
13543         * modules/quotearg-simple-tests: Reference m4/mmap-anon.m4
13545 2015-03-24  Tobias Stoeckmann  <tobias@stoeckmann.org>
13547         yesno: make EOL optional in ENABLE_NLS case also (trival)
13548         * lib/yesno.c (yesno): Check for EOL before replacing.
13549         * tests/test-yesno.sh: Add a test case (test along with gettext).
13551 2015-03-22  Paul Eggert  <eggert@cs.ucla.edu>
13553         fdopendir-tests: test it does not close its arg
13554         * tests/test-fdopendir.c (main): Test that fdopendir does not
13555         close its argument.  From a suggestion by David Grayson in:
13556         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00039.html
13558 2015-03-20  Paul Eggert  <eggert@cs.ucla.edu>
13560         gitlog-to-changelog: trim trailing white space
13561         * build-aux/gitlog-to-changelog (main):
13562         Trim trailing white space from commit message lines.
13563         This is helpful for processing the GNU Emacs repository,
13564         which dates back to 1985 and contains a lot of such lines.
13566         gitlog-to-changelog: new option --ignore-matching
13567         * build-aux/gitlog-to-changelog (usage, git_dir_option, main):
13568         Support new option --ignore-matching=PAT, which ignores all
13569         commit messages whose first line matches PAT.
13571 2015-03-19  Paul Eggert  <eggert@cs.ucla.edu>
13573         fdopendir: port better to MinGW
13574         * lib/fdopendir.c (fd_clone_opendir) [REPLACE_FCHDIR]:
13575         Use 'dup' if dirfd fails.  Suggested by Eli Zaretskii in:
13576         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00033.html
13577         * modules/fdopendir (Depends-on): Add dirfd.
13579 2015-03-18  Paul Eggert  <eggert@cs.ucla.edu>
13581         fdopendir: fix typo in comment
13582         * lib/fdopendir.c (fdopendir_with_dup): REPLACE_FCHDIR was misspelled.
13584 2015-03-09  Eric Blake  <eblake@redhat.com>
13586         error: document all entry points provided
13587         * doc/glibc-functions/error_print_progname.texi
13588         (error_print_progname): Mention the error module.
13589         * doc/glibc-functions/error_at_line.texi (error_at_line):
13590         Likewise.
13591         * doc/glibc-functions/error_message_count.texi
13592         (error_message_count): Likewise.
13593         * doc/glibc-functions/error_one_per_line.texi
13594         (error_one_per_line): Likewise.
13596 2015-03-03  Paul Eggert  <eggert@cs.ucla.edu>
13598         vasnprintf: pacify clang 3.5.0
13599         Problem reported by Werner Lemberg in:
13600         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00000.html
13601         * lib/vasnprintf.c (VASNPRINTF): Omit casts that clang objects to.
13602         The casts aren't needed, since the characters in question are ASCII.
13604 2015-02-24  Paul Eggert  <eggert@cs.ucla.edu>
13606         glob, etc.: port to MSVC v18 on MS-Windows 8.1
13607         * lib/dirent--.h (GNULIB_defined_opendir):
13608         * lib/dirent.in.h (GNULIB_defined_opendir)
13609         (GNULIB_defined_closedir):
13610         * lib/getcwd.c, lib/glob.c, lib/mountlist.c (opendir, closedir):
13611         #undef only if Gnulib defined it.
13613         poll: port to MSVC v18 on MS-Windows 8.1
13614         Problem reported by Gisle Vanem in:
13615         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00139.html
13616         * lib/poll.c: Always include <sys/select.h> and <sys/socket.h>.
13617         * modules/poll (Depends-on) [!HAVE_POLL || REPLACE_POLL]:
13618         Add sys_socket.
13620 2015-02-24  Pádraig Brady  <P@draigBrady.com>
13622         tests: support stderr verification with returns_()
13623         * tests/init.sh (returns_): Disable tracing for this wrapper
13624         function, so that stderr of the wrapped command is unchanged,
13625         allowing for verification of the contents.
13627 2015-02-24  Pavel Hrdina  <phrdina@redhat.com>
13629         passfd: avoid valgrind uninitalised data warning
13630         * lib/passfd.c (sendfd): Reset the msg_controllen of msghdr,
13631         to include just the fd we've initialized, rather than including
13632         the extra space used for alignment.
13634 2015-02-23  Paul Eggert  <eggert@cs.ucla.edu>
13636         uniwbrk/u32-wordbreaks-tests: fix copyright
13637         * tests/uniwbrk/test-uc-wordbreaks.c: Fix copyright date.
13639         dup2: doc and test for Android bug
13640         Reported by Kevin Cernekee in:
13641         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00125.html
13642         * doc/posix-functions/dup2.texi (dup2): Document the bug.
13643         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the bug.
13645 2015-02-23  Kevin Cernekee  <cernekee@google.com>
13647         Replace dup2() on Android
13648         * m4/dup2.m4 (gl_FUNC_DUP2): Android implements dup2() using dup3().
13649         Since dup3(fd, fd) fails but dup2(fd, fd) should pass, test-dup2
13650         fails.  Using rpl_dup2() fixes this because it has an explicit test
13651         for this condition.
13653 2015-02-22  Paul Eggert  <eggert@cs.ucla.edu>
13655         Android doesn't define RLIM_SAVED_*
13656         Portability problem reported by Kevin Cernekee in:
13657         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00122.html
13658         * doc/posix-headers/sys_resource.texi (sys/resource.h):
13659         Mention the portability problem.
13660         * lib/getdtablesize.c (RLIM_SAVED_CUR, RLIM_SAVED_MAX):
13661         Define if not defined.
13662         * m4/dup2.m4 (gl_FUNC_DUP2):
13663         * m4/fcntl.m4 (gl_FUNC_FCNTL):
13664         Likewise.
13666 2015-02-21  Paul Eggert  <eggert@cs.ucla.edu>
13668         vasnprintf-posix-tests: use consistent test
13669         * tests/test-vasnprintf-posix.c (test_function):
13670         Use "<" in assert instead of "<=", for consistency with other tests.
13672 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
13674         printf, isinf, etc.: noncanonical != NaN
13675         Do not require that isinf, printf, etc. treat noncanonical
13676         values as NaNs.  Instead, require only that they do not crash.
13677         Problem reported by Joseph Myers in:
13678         https://sourceware.org/ml/libc-alpha/2015-02/msg00244.html
13679         * doc/posix-functions/dprintf.texi (dprintf):
13680         * doc/posix-functions/fprintf.texi (fprintf):
13681         * doc/posix-functions/isfinite.texi (isfinite):
13682         * doc/posix-functions/isinf.texi (isinf):
13683         * doc/posix-functions/isnan.texi (isnan):
13684         * doc/posix-functions/printf.texi (printf):
13685         * doc/posix-functions/snprintf.texi (snprintf):
13686         * doc/posix-functions/sprintf.texi (sprintf):
13687         * doc/posix-functions/vdprintf.texi (vdprintf):
13688         * doc/posix-functions/vfprintf.texi (vfprintf):
13689         * doc/posix-functions/vprintf.texi (vprintf):
13690         * doc/posix-functions/vsnprintf.texi (vsnprintf):
13691         * doc/posix-functions/vsprintf.texi (vsprintf):
13692         Document this.
13693         * m4/isfinite.m4 (gl_ISFINITEL_WORKS):
13694         * m4/isinf.m4 (gl_ISINFL_WORKS):
13695         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS):
13696         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE):
13697         * tests/test-isfinite.c (test_isfinitel):
13698         * tests/test-isinf.c (test_isinfl):
13699         * tests/test-isnan.c (test_long_double):
13700         * tests/test-isnanl.h (main):
13701         * tests/test-snprintf-posix.h (test_function):
13702         * tests/test-sprintf-posix.h (test_function):
13703         * tests/test-vasnprintf-posix.c (test_function):
13704         * tests/test-vasprintf-posix.c (test_function):
13705 o       Test only that noncanonical values do not cause crashes, not that
13706         they are treated as NaNs.  In some cases this means a larger
13707         output buffer is needed.
13709 2015-02-20  Jaroslav Skarvada  <jskarvad@redhat.com>
13711         fts: remove redundant close() (trivial)
13712         * lib/fts.c (fts_read): Remove redundant call to close().
13713         Spotted by coverity.
13715 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
13717         getdtablesize: port better for Android
13718         Problem reported by Kevin Cernekee in:
13719         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00112.html
13720         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Mention bug.
13721         * lib/getdtablesize.c (getdtablesize): Don't fall back on _SC_OPEN_MAX.
13722         Instead, just use getrlimit, taking care to avoid Cygwin bug.
13724         poll: fixes for large fds
13725         * lib/poll.c (poll): Don't check directly for NFD too large.
13726         Don't rely on undefined behavior in FD_SET when an arg exceeds
13727         FD_SETSIZE.  Always set revents afterwards, even if to zero.
13728         * tests/test-poll.c (poll1): Set revents to -1 instead of 0,
13729         as that makes the test a bit stricter.
13731 2015-02-19  Kevin Cernekee  <cernekee@google.com>
13733         fcntl: Fix cross compiling
13734         * m4/fcntl.m4 (gl_FUNC_FCNTL): Assign the guessed result to the
13735         correct variable name (gl_cv_func_fcntl_f_dupfd_works).
13737 2015-02-18  Paul Eggert  <eggert@cs.ucla.edu>
13739         dup2, fcntl: cross-compile better for Android
13740         Problem reported by Kevin Cernekee in:
13741         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00109.html
13742         * m4/dup2.m4 (gl_FUNC_DUP2): Don't guess no when cross-compiling
13743         for a Linux kernel.  That kernel bug was fixed on 2009-05-11, and
13744         there's little need to cross-compile for older kernels nowadays.
13745         * m4/fcntl.m4 (gl_FUNC_FCNTL): When cross-compiling, guess no only
13746         for systems where the bug is known to occur (AIX, Cygwin, Haiku).
13748 2015-02-18  Pádraig Brady  <P@draigBrady.com>
13750         getopt: don't crash on memory exhaustion
13751         * lib/getopt.c (_getopt_internal_r): Use degraded diagnostics on
13752         memory exhaustion.  In the _LIBC case we use alloca() as is
13753         already done in glibc, so we don't need to consider the separate
13754         error path in that awkward case.  Also fix a memory leak when
13755         ambiguous options are present.
13756         Reported by Tobias Stoeckmann
13758 2015-02-17  Mike Miller  <mtmiller@ieee.org>
13760         tempname: allow compilation with C++ (trivial)
13761         * lib/tempname.h [C++]: Specify extern "C" linkage.
13762         * lib/tempname.h (try_tempname):
13763         * lib/tempname.c (__try_tempname, __gen_tempname):
13764         Rename 'try' to 'tryfunc'.
13766 2015-02-17  Paul Eggert  <eggert@cs.ucla.edu>
13768         dup2, fcntl: port to AIX
13769         * m4/dup2.m4 (gl_FUNC_DUP2):
13770         * m4/fcntl.m4 (gl_FUNC_FCNTL):
13771         Prefer getrusage (RLIM_NOFILE ...)/rlim_cur to sysconf (_SC_OPEN_MAX).
13772         The former works on AIX 7.1 but the latter does not.
13773         Also, this may work better with Android; see:
13774         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00100.html
13776 2015-02-16  Paul Eggert  <eggert@cs.ucla.edu>
13778         getdtablesize, dup2, fcntl: port to Android
13779         Problem reported by Kevin Cernekee in:
13780         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00092.html
13781         * doc/glibc-functions/getdtablesize.texi (getdtablesize):
13782         Mention that getdtablesize doesn't work on Android.
13783         * lib/getdtablesize.c: Use getrlimit substitute only if
13784         getdtablesize is declared.  This should suffice for Cygwin
13785         while not breaking Android.
13786         * m4/dup2.m4 (gl_FUNC_DUP2):
13787         * m4/fcntl.m4 (gl_FUNC_FCNTL):
13788         Prefer sysconf (_SC_OPEN_MAX) to getdtablesize, as the former is
13789         standardized but the latter is not, and sysconf works on Android.
13790         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE):
13791         Also check that getdtablesize is declared.
13792         This removes the need for a special case for Android.
13794 2015-02-16  Kevin Cernekee  <cernekee@google.com>
13796         localename: Implement gl_locale_name_thread_unsafe for Android
13797         * lib/localename.c: Android API level >= 21 supports two hardcoded
13798         locales: C (POSIX) and C.UTF-8.  Distinguish them by checking
13799         the internal __locale_t struct.
13801 2015-02-16  Kamil Dudka  <kdudka@redhat.com>
13803         fts: avoid crash when a cycle is added while traversing
13804         This could be triggered by auto-mounting a recursive bind mount.
13805         Reported by Michael Chapman in: https://bugzilla.redhat.com/1188498
13806         * lib/fts.c (fts_read): Avoid removing the original hash table item
13807         when leaving a directory that caused a cycle, and preserve the FTS_DC
13808         flag.
13810 2015-02-16  Daiki Ueno  <ueno@gnu.org>
13812         uniname/uniname: support character alias
13813         * lib/uniname/gen-uninames.lisp (main): New argument ALIASFILE.
13814         Generate one-way mapping from aliases to codepoints in the
13815         generated tables.  Special case variation selectors to reduce
13816         table size.
13817         * lib/uniname/uniname.c (unicode_character_name): Special case
13818         variation selectors.
13819         (unicode_name_character): Special case variation selectors and
13820         their aliases.
13821         * lib/uniname/uninames.h: Regenerate.
13822         * tests/uniname/NameAliases.txt: New file, taken from UCD 7.0.0.
13823         * modules/uniname/uniname-tests (Files): Add
13824         tests/uniname/NameAliases.txt.
13825         * tests/uniname/test-uninames.c: Mark as static.
13826         (ALIASLEN): Define.
13827         (struct unicode_alias): New struct.
13828         (unicode_aliases): New variable.
13829         (fill_aliases): New function.
13830         (test_alias_lookup): New test function.
13831         (main): Run the 'test_alias_lookup' test if the second argument is
13832         given.
13833         * tests/uniname/test-uninames.sh: Supply NameAliases.txt as the
13834         second argument.
13836 2015-02-11  Kevin Cernekee  <cernekee@google.com>
13838         Fix FILE struct compatibility with Android API level >= 21
13839         * lib/stdio-impl.h: Test explicitly for __ANDROID__ instead of
13840         __sferror.  Recent versions of Bionic's stdio.h no longer define
13841         __sferror.
13842         * lib/fbufmode.c: Likewise.
13843         * lib/fflush.c: Likewise.
13844         * lib/fpurge.c: Likewise.
13845         * lib/freadable.c: Likewise.
13846         * lib/freadahead.c: Likewise.
13847         * lib/freading.c: Likewise.
13848         * lib/freadptr.c: Likewise.
13849         * lib/freadseek.c: Likewise.
13850         * lib/fseeko.c: Likewise.
13851         * lib/fseterr.c: Likewise.
13852         * lib/fwritable.c: Likewise.
13854         Assume unbroken ungetc() on Android
13855         * m4/ungetc.m4: Add Android case to host OS check.  The ungetc()
13856         test case passed when running on an Android host, and the code
13857         hasn't really changed since 2009.
13859         getdtablesize: Fix Android build
13860         * m4/getdtablesize.m4: Add Android case to host OS check.  Recent NDK
13861         versions have this symbol in the .so library (at least 32-bit
13862         platforms) but are missing the declaration in the header file,
13863         causing the m4 logic to guess incorrectly.
13865         localename: Fix Android build
13866         * modules/localename (Depends-on): Add langinfo.
13868         getugroups: Fix Android build
13869         * lib/getugroups.c: Don't reference unsupported {get,set,end}grent
13870         functions.
13872         euidaccess: Fix Android build
13873         * modules/euidaccess (Depends-on): Add fcntl-h to ensure that
13874         AT_EACCESS gets declared.
13876         linkat_nofollow: Add fallback case for cross compiling
13877         * m4/linkat.m4: Guess no for Darwin, yes otherwise.
13879         net_if: Handle content-free <net/if.h> system headers
13880         * m4/net_if_h.m4: Check to make sure <net/if.h> actually defines
13881         struct if_nameindex.  If not, enable the replacement header.
13883         signal_h: Fix Android build
13884         * lib/signal.in.h: Add Android to the list of platforms that declare
13885         pthread_sigmask() in <pthread.h> instead of <signal.h>.
13887         duplocale: Fix Android build of duplocale-tests
13888         * modules/duplocale-tests (Depends-on): Add langinfo, as the header
13889         is included by test-duplocale.c (but not by duplocale.c).
13890         * modules/duplocale-tests (configure.ac): Check for monetary.h.
13891         * tests/test-duplocale.c: Skip test if monetary.h is absent.
13892         * doc/posix-headers/monetary.texi: Add Android to the list of
13893         platforms missing monetary.h.
13895 2015-02-11  Pádraig Brady  <P@draigBrady.com>
13897         tests: avoid recent -Werror=unused-variable regression in test-locale
13898         * tests/test-locale.c (main): Reference the variable to avoid the
13899         "unused variable" warning.
13901 2015-02-11  Pádraig Brady  <P@draigBrady.com>
13903         maint: various whitespace cleanups in tempname
13904         * lib/tempname.c: Normalize spacing and line length.
13905         * lib/tempname.h: Likewise.
13906         * modules/tempname: Likewise.
13908 2015-02-11  Pádraig Brady  <P@draigBrady.com>
13910         tests: provide returns_() to simplify exit status checking
13911         * tests/init.sh (returns_): A new function for use in tests,
13912         to allow for easier checking of return values, where you expect
13913         a command to exit with failure status.  By checking for a particular
13914         exit code, you don't hide any crashes for example.
13916 2015-02-11  Pádraig Brady  <P@draigBrady.com>
13918         mountlist: only use libmount when specified
13919         There are currently many shared libs dependencies introduced by
13920         libmount with associated runtime and virt mem overhead.
13921         Therefore don't enable by default.
13922         * m4/ls-mntd-fs.m4: Use --with-libmount to enable at build time.
13924 2015-02-08  Daiki Ueno  <ueno@gnu.org>
13926         uniname/unimame-tests: don't link with -lunistring
13927         * modules/uniname/uniname-tests (Makefile.am): Don't link against
13928         $(LIBUNISTRING).  Document the rationale why we need to
13929         conditionalize the test.
13931 2015-02-07  Paul Eggert  <eggert@cs.ucla.edu>
13933         fstrcmp: don't assume strlen < INT_MAX
13934         * lib/fstrcmp.c: Include stddef.h and stdint.h.
13935         (uintptr_t): Remove, as we're now assuming stdint.
13936         (OFFSET, EXTRA_CONTEXT_FIELDS, fstrcmp_bounded):
13937         Prefer ptrdiff_t to int when the value could exceed INT_MAX
13938         if the input string is long.
13939         (fstrcmp_bounded): Check for size-calculation overflow.  Prefer
13940         uintptr_t to size_t when the underlying value is a pointer casted
13941         to an unsigned integer.  Avoid unnecessary 'buffer != NULL' test.
13942         * modules/fstrcmp (Depends-on): Add stdint.
13944         diffseq: prefer ptrdiff_t to ssize_t
13945         * lib/diffseq.h: In commentary, prefer ptrdiff_t to ssize_t.
13946         ptrdiff_t is the natural type for signed indexes.
13947         On a few older platforms, ssize_t is narrower than size_t.
13949         xalloc: fix typo that suppressed warnings
13950         * lib/xalloc.h: Add missing _GL_INLINE_HEADER_END.
13951         This typo, introduced a couple of years ago, mistakenly suppressed
13952         some -Wsuggest-attribute=const, -Wmissing-prototypes, and
13953         -Wmissing-declarations warnings.
13955         full-read: fix license notice typo
13956         * lib/full-read.h: Remove a stray line in the license notice.
13957         Reported by Sam Ellis in: http://bugs.gnu.org/19808
13959         crypto/gc: fix a -Wswitch warning
13960         Reported by Bruce Korb in:
13961         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00046.html
13962         * lib/gc-gnulib.c (gc_hash_open): Fail faster if MODE is nonzero.
13964 2015-02-03  Pádraig Brady  <P@draigBrady.com>
13966         gnulib-tool: fix handling of patch(1) diagnostics
13967         * gnulib-tool: Send diagnostics from patch(1) to stderr,
13968         as otherwise gnulib-tool will reparse that output and attempt
13969         to lookup modules.
13971 2015-02-03  Pádraig Brady  <P@draigBrady.com>
13973         bootstrap: exit immediately upon gnulib-tool failure
13974         * build-aux/bootstrap: Exit immediately if gnulib-tool fails.
13975         This was noticed when gnulib-tool exited early due to failure
13976         to apply a patch in coreutils at http://hydra.nixos.org/eval/1172233,
13977         but various confusing errors were then given as the build proceeded.
13979 2015-02-02  Andreas Gruenbacher  <agruen@gnu.org>
13981         symlinkat: include all required header files
13982         * lib/symlinkat.c (HAVE_SYMLINK_AT): Add <sys/stat.h> for fstatat(),
13983         and string.h for strlen(), required at least on OS X 10.10 (Yosemite).
13984         Reported at https://savannah.gnu.org/bugs/index.php?44151
13985         and by Jack Howarth.
13987 2015-01-29  Pádraig Brady  <P@draigBrady.com>
13989         localename: support Solaris 12 and illumos
13990         * lib/localename.c (gl_locale_name_thread_unsafe): call
13991         getlocalename_l() on newer __sun platforms.
13992         Reported by Alexander Pyhalov.
13993         Fix suggested by Rich Burridge.
13995 2015-01-29  Alexander Pyhalov  <alp@rsu.ru>
13997         locale: fix tests on illumos (trivial)
13998         * tests/test-locale.c: LC_GLOBAL_LOCALE is a function call on illumos,
13999         so move from global scope to main().
14001 2015-01-24  Daiki Ueno  <ueno@gnu.org>
14003         unictype: avoid undefined left-shift behavior
14004         * lib/unictype/bidi_of.c (uc_bidi_class): Building libunistring with
14005         gcc's -fsanitize=shift and running its tests triggered:
14006           unictype/bidi_of.c:43:60: runtime error: left shift of 40167 by 16 \
14007             places cannot be represented in type 'int'
14008         Cast LHS to 'unsigned int' after integer promotion.
14009         * lib/unictype/categ_of.c (lookup_withtable): Likewise.
14010         * lib/unictype/joininggroup_of.c (uc_joining_group): Likewise.
14012 2015-01-20  Daiki Ueno  <ueno@gnu.org>
14014         libunistring: bump version of unitypes dependants
14015         Due to the header file search order, all the headers which depend
14016         on unitypes.h need to be generated, when the preinstalled
14017         libunistring is older.
14018         * modules/unicase/base (configure.ac): Bump minimum version to
14019         0.9.4.
14020         * modules/uniconv/base (configure.ac): Likewise.
14021         * modules/unilbrk/base (configure.ac): Likewise.
14022         * modules/uninorm/base (configure.ac): Likewise.
14023         * modules/unistdio/base (configure.ac): Likewise.
14024         * modules/unistr/base (configure.ac): Likewise.
14025         * modules/uniwbrk/base (configure.ac): Likewise.
14026         * modules/uniwidth/base (configure.ac): Likewise.
14028 2015-01-20  Daiki Ueno  <ueno@gnu.org>
14030         unictype/category-none: fix link with libunistring
14031         Since _UC_CATEGORY_NONE is not a public symbol, it will be
14032         prefixed with "libstring_" when compiled as part of libunistring.
14033         To avoid undefined symbol at link time, increase the minimum
14034         version when the dependant modules are updated.
14035         * modules/unictype/category-none (configure.ac): Bump minimum
14036         version to 0.9.5.
14038 2015-01-20  Daiki Ueno  <ueno@gnu.org>
14040         unitypes: fix build with installed libunistring
14041         The minimum version has not bumped after _UC_ATTRIBUTE_CONST and
14042         _UC_ATTRIBUTE_PURE were added to unitypes.in.h.
14043         * modules/unitypes (configure.ac): Bump minimum version to 0.9.4.
14045 2015-01-15  Paul Eggert  <eggert@cs.ucla.edu>
14047         time: port to MinGW32 3.21
14048         Problem reported by Eli Zaretskii in:
14049         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00042.html
14050         * lib/time.in.h:
14051         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC):
14052         * modules/time (Depends-on):
14053         Fall back on unistd.h if the other include files don't define
14054         struct timespec.
14056         update-copyright: apply to self
14057         * build-aux/update-copyright: Fix copyright date.  How ironic!
14059 2015-01-15  Daiki Ueno  <ueno@gnu.org>
14061         libunistring: update to Unicode 7.0.0
14062         * lib/unictype/joininggroup_byname.gperf: Add Straight Waw and
14063         Manichaean names.
14064         * lib/unictype/joininggroup_name.h: Likewise.
14065         * lib/unictype.in.h (UC_JOINING_GROUP_STRAIGHT_WAW)
14066         (UC_JOINING_GROUP_MANICHAEAN_ALEPH): New enumeration values.
14067         * lib/gen-uni-tables.c (UC_JOINING_GROUP_STRAIGHT_WAW)
14068         (UC_JOINING_GROUP_MANICHAEAN_*): New enumeration values.
14069         (fill_arabicshaping, joining_group_as_c_identifier): Support those
14070         enum values.
14071         (is_property_alphabetic): Accept newly added characters to
14072         cuneiform numeric signs.
14073         (is_property_default_ignorable_code_point): Reject U+0605.
14074         (FIELDLEN): Increase from 120 to 160.
14075         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0605,
14076         U+08FF, U+0C00, U+0C81, U+0D01, U+1AB0..U+1ABE, U+1BAC..U+1BAD,
14077         U+1CF8..U+1CF9, U+1DE7..U+1DF5, U+A9E5, U+AA7C, U+FE27..U+FE2D,
14078         U+102E0, U+10376..U+1037A, U+10AE5..U+10AE6, U+1107F, U+11173,
14079         U+1122F..U+11231, U+11234, U+11236..U+11237, U+112DF,
14080         U+112E3..U+112EA, U+11301, U+1133C, U+11340, U+11366..U+1136C,
14081         U+11370..U+11374, U+114B3..U+114B8, U+114BA, U+114BF..U+114C0,
14082         U+114C2..U+114C3, U+115B2..U+115B5, U+115BC..U+115C0,
14083         U+11633..U+1163A, U+1163D, U+1163F..U+11640, U+16AF0..U+16AF4,
14084         U+16B30..U+16B36, U+1BC9D..U+1BC9E, U+1BCA0..U+1BCA3, and
14085         U+1E8D0..U+1E8D6.
14086         (uc_width): Adjust nonspacing_table_ind boundary from 240 to 248.
14087         * tests/uniwidth/test-uc_width2.sh: Same updates as in
14088         lib/uniwidth/width.c.
14089         * all generated files under lib/uni* and tests/uni*: Regenerate.
14091 2015-01-14  Daiki Ueno  <ueno@gnu.org>
14093         libunistring: update to Unicode 6.3.0
14094         * lib/uniwbrk.in.h (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
14095         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support WB7a, WB7b, and WB7c.
14096         Update WB5, WB6, WB7, WB9, WB11, WB12, WB13a, and WB13b.
14097         * lib/uniwbrk/wbrktable.h (uniwbrk_table): Adjust table size.
14098         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support rule WB7a.
14099         Update WB5, WB9, WB10, WB13a, and WB13b.
14100         * tests/uniwbrk/test-uc-wordbreaks.c
14101         (wordbreakproperty_to_string): Support WBP_DQ, WBP_SQ, and WBP_HL.
14102         * lib/gen-uni-tables.c (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
14103         (UC_BIDI_PDI): New enumeration values.
14104         (bidi_category_byname): Support those enum values.
14105         (is_WBP_MIDNUMLET): Exclude 0x0027 (SINGLE QUOTE), which is now a
14106         dedicated property assigned.
14107         (is_property_case_ignorable): Check 0x0027.
14108         (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
14109         (get_wbp, debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
14110         (output_wbp): Support those enum values.
14111         * lib/unictype.in.h (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
14112         (UC_BIDI_PDI): New enumeration values.
14113         * lib/unictype/bidi_byname.gperf: Add those property names.
14114         * lib/uniwidth/width.c (nonspacing_table_data): Add U+061C,
14115         U+180E, U+1A1B, and U+2066..U+2069.
14116         * tests/uniwidth/test-uc_width2.sh: Same updates as in
14117         lib/uniwidth/width.c.
14118         * all generated files under lib/uni* and tests/uni*: Regenerate.
14120 2015-01-14  Daiki Ueno  <ueno@gnu.org>
14122         libunistring: update to Unicode 6.2.0
14123         * lib/unilbrk/lbrktables.h (LBP_RI): New enumeration value.
14124         (unilbrk_table): Adjust table size.
14125         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
14126         for LBP_RI.
14127         * lib/uniwbrk.in.h (WBP_RI): New enumeration value.
14128         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support rule WB13c.
14129         Normalize table index skipping ignored properties.
14130         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support WBP_RI.  Remove
14131         WBP_EXTEND and WBP_FORMAT, which are now computed without using
14132         the table.
14133         * lib/uniwbrk/wbrktable.h: Adjust table size.
14134         * lib/unigbrk.in.h (GBP_RI): New enumeration value.
14135         * lib/unigbrk/uc-is-grapheme-break.c (UC_IS_GRAPHEME_BREAK):
14136         Support rule GB8a.
14137         (UC_GRAPHEME_BREAKS_FOR, gb_table): Support GBP_RI.
14138         * tests/unigbrk/test-uc-is-grapheme-break.c
14139         (graphemebreakproperty_to_string): Support GBP_RI.
14140         * tests/uniwbrk/test-uc-wordbreaks.c
14141         (wordbreakproperty_to_string): Support WBP_RI.
14142         * lib/gen-uni-tables.c (LBP_RI): New enumeration value.
14143         (get_lbp, debug_output_lbp, fill_org_lbp, debug_output_org_lbp)
14144         (output_lbp): Support LBP_RI.  Adjust some characters changed from
14145         LBP_AL to LBP_ID.
14146         (output_lbp): Support LBP_RI.
14147         (WBP_RI): New enumeration value.
14148         (debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
14149         (output_wbp): Support WBP_RI.
14150         (GBP_RI): New enumeration value.
14151         (output_gbp_test, fill_org_gbp): Support GBP_RI.
14152         * all generated files under lib/uni* and tests/uni*: Regenerate.
14154 2015-01-14  Daiki Ueno  <ueno@gnu.org>
14156         libunistring: update to Unicode 6.1.0
14157         * lib/gen-uni-tables.c (output_joining_group): Switch to
14158         3-level table to accommodate joining groups defined with higher
14159         codepoint value.  Since there are only 88 groups defined in
14160         Unicode 7.0.0, use 7-bit packed format for level3 entries.
14161         (get_lbp): Update for Unicode 6.1.0.
14162         * lib/unictype/joininggroup_of.c (uc_joining_group): Adjust to use
14163         3-level table.
14164         * lib/unictype/joininggroup_byname.gperf: Add Rohingya Yeh
14165         joining group name.
14166         * lib/unictype/joininggroup_name.h: Likewise.
14167         * lib/unilbrk/lbrktables.h (LBP_HL): New enumeration value.
14168         (unilbrk_table): Adjust table size.
14169         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
14170         for LBP_HL.
14171         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0604,
14172         U+08E4..U+08FE, U+1BAB, U+1CF4, U+A674..U+A67B, U+A69F,
14173         U+AAEC..U+AAED, U+AAF6, U+11100..U+11102, U+11127..U+1112B,
14174         U+1112D..U+11134, U+11180..U+11181, U+111B6..U+111BE, U+116AB,
14175         U+116AD, U+116B0..U+116B5, U+116B7, U+16F8F..U+16F92.  Remove
14176         U+302E..U+302F.
14177         * tests/uniwidth/test-uc_width2.sh: Same updates as in
14178         lib/uniwidth/width.c.
14179         * all generated files under lib/uni* and tests/uni*: Regenerate.
14180         * modules/uni*/* (configure.ac): Bump minimum version to 0.9.5.
14182 2015-01-15  Daiki Ueno  <ueno@gnu.org>
14184         uniwbrk/u32-wordbreaks-tests: add conformance test
14185         * modules/uniwbrk/u32-wordbreaks-tests (Files): Add
14186         tests/uniwbrk/test-uc-wordbreaks.c,
14187         tests/uniwbrk/test-uc-wordbreaks.sh, and
14188         tests/uniwbrk/WordBreakTest.txt.
14189         (Makefile.am): Add uniwbrk/test-uc-wordbreaks.sh to $(TESTS), add
14190         test-uc-wordbreaks to $(check_PROGRAMS), and define
14191         test_uc_wordbreaks_SOURCES and test_uc_wordbreaks_LDADD.
14192         * tests/uniwbrk/test-uc-wordbreaks.sh: New file.
14193         * tests/uniwbrk/test-uc-wordbreaks.c: New file.
14195 2015-01-15  Daiki Ueno  <ueno@gnu.org>
14197         uniwbrk: ignore Extended/Format characters at BOL not BOS
14198         * lib/uniwbrk/u-wordbreaks.h (FUNC): Ignore Extend and Format
14199         characters if the previous character property is one of
14200         WBP_NEWLINE, WBP_CR, and WBP_LF.
14202 2015-01-11  Jim Meyering  <meyering@fb.com>
14204         test-strstr.c: avoid a trivial leak
14205         * tests/test-strstr.c (main): Free haystack.
14207         update-copyright: recognize groff's \(co marker
14208         * build-aux/update-copyright (circle_c_re): Also accept
14209         uses of \(co, as found in gzip.1.
14211 2015-01-08  Pádraig Brady  <P@draigBrady.com>
14213         maint.mk: fix compatibility with OS X nm
14214         * top/maint.mk (_gl_tight_scope): Use the -g option to
14215         show exported items rather than the -e option which is
14216         ignored on all platforms except OS X where it gives an error.
14217         Reported by Assaf Gordon.
14219 2015-01-07  KO Myung-Hun  <komh@chollian.net>
14221         localcharset: improve charset detection on OS/2
14222         Use system codepage when appropriate.  Map OS/2 codepages to
14223         GNU canonical charset names if possible.
14224         * lib/config.charset: Don't output aliases if "$os" is os2*.
14225         * lib/localcharset.c (get_charset_aliases) [OS2]: Hardcode the
14226         result for OS/2.
14227         (locale_charset) [OS2]: Use system codepage if codeset is omitted
14228         from the locale name which is neither "C" nor "POSIX".
14230 2015-01-06  Paul Eggert  <eggert@cs.ucla.edu>
14232         count-leading-zeros: use 64-bit intrinsics on 32-bit Windows
14233         This reverts the last patch but one, as it shouldn't be needed now
14234         that the typo is fixed.
14235         * lib/count-leading-zeros.h (count_leading_zeros_ll):
14236         * lib/count-trailing-zeros.h:
14237         * lib/count-one-bits.h:
14238         Go back to using 64-bit intrinsics.
14240         count-leading-zeros: fix pragma typos
14241         * lib/count-leading-zeros.h (_BitScanReverse, _BitScanReverse64):
14242         Fix typos in declaration of intrinsics when _MSC_VER.
14244 2015-01-06  Pádraig Brady  <P@draigBrady.com>
14246         count-leading-zeros: avoid 64-bit intrinsics on 32-bit Windows
14247         * lib/count-leading-zeros.h (count_leading_zeros_ll): Use 32 bit
14248         intrinsics in this case.
14249         * lib/count-trailing-zeros.h: Likewise.
14250         * lib/count-one-bits.h: Likewise.
14252 2015-01-06  Daiki Ueno  <ueno@gnu.org>
14254         uniname/uniname: update to Unicode 7.0.0
14255         To accommodate new characters added since Unicode 5.1.0, this
14256         changes the internal representation of codepoint ranges.
14257         Previously, we grouped codepoint ranges by manually assigned 4-bit
14258         tag, which only allowed 16 groups.  This removes the limitation by
14259         switching to binary search on a table.  For the detail rationale
14260         and the benchmark results, see:
14261         https://lists.gnu.org/r/bug-libunistring/2014-06/msg00001.html
14262         * lib/uniname/gen-uninames.lisp (unicode-char): Rename CODE member
14263         to INDEX, as it no longer represents a codepoint.
14264         (range): New struct.
14265         (main): Switch to intervals list from a bit-pattern based
14266         classification.
14267         * lib/uniname/uninames.h: Regenerate.
14268         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 7.0.0.
14269         * modules/uniname/base (configure.ac): Bump minimum version to
14270         0.9.5.
14271         * modules/uniname/uniname (configure.ac): Bump minimum version to
14272         0.9.5.
14274 2015-01-05  Eric Blake  <eblake@redhat.com>
14276         doc: update INSTALL from autoconf
14277         * doc/install.texi: Resync from autoconf.
14278         * doc/INSTALL: Reflect recent autoconf update.
14279         * doc/INSTALL.ISO: Likewise.
14280         * doc/INSTALL.UTF-8: Likewise.
14282         stdio: fix use of PRIdMAX on modern mingw
14283         * m4/stdio_h.m4 (gl_STDIO_H): Probe for printf flavor via inttypes.
14284         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): Use result
14285         to work with modern mingw.
14287 2015-01-05  Daniel P. Berrange  <berrange@redhat.com>  (tiny change)
14289         pthread: detect git mingw builds with only partial pollution
14290         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for additional
14291         pollution, as seen temporarily in Fedora 21.
14293 2015-01-04  Paul Eggert  <eggert@cs.ucla.edu>
14295         lib-symbol-versions: cache script check
14296         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT):
14297         Cache the check for linker version scripts.
14298         From a suggestion by Christophe Curis in:
14299         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00011.html
14301 2015-01-04  Benno Schulenberg  <bensberg@justemail.net>
14303         maint: fix grammar nits in propername (trivial change)
14304         * lib/propername.h: Remove a mistaken comma and a duplicate "from",
14305         and use an adequate verb and tense.
14307 2015-01-02  Ludovic Courtès  <ludo@gnu.org>
14309         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
14310         * module/gendocs: Add 'doc/gendocs_template_min'.
14312         * build-aux/gendocs.sh: Change email addresses and upstream URLs
14313         from to Gnulib's.
14314         (scripturl, templateurl): Adjust accordingly.
14316 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
14318         gendocs: copyright date and version fix
14319         Reported by Karl Berry in:
14320         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00002.html
14321         * build-aux/gendocs.sh, doc/gendocs_template, doc/gendocs_template_min:
14322         Fix copyright date.
14323         * build-aux/gendocs.sh (scriptversion): Update.
14325 2015-01-01  Karl Berry  <karl@gnu.org>
14327         * doc/install.texi,
14328         * build-aux/mdate-sh,
14329         * build-aux/depcomp,
14330         * build-aux/config.guess,
14331         * build-aux/config.sub,
14332         * build-aux/ar-lib,
14333         * build-aux/compile: revert copyright updates (some from last
14334         year) in slaved files.
14336 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
14338         version-etc: new year
14339         * doc/gnulib.texi:
14340         * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright date.
14341         * all files: Run 'make update-copyright'.
14343 2014-12-30  Pádraig Brady  <P@draigBrady.com>
14345         xstrtol: ensure errno is reset
14346         Since commit 3bf75404, on 26-09-1998, errno may not have been reset.
14347         Noticed with a spurious coreutils test failure on Darwin 14.0.0.
14349         * lib/xstrtol.c (__xstrtol): Always reset errno before returning.
14351 2014-12-28  Paul Eggert  <eggert@cs.ucla.edu>
14353         utimens: fix dependency typo
14354         * modules/utimens (Depends-on): Remove 'assure'.
14355         This bug was introduced in the recent 'assure' patch.
14357 2014-12-22  Eric Blake  <eblake@redhat.com>
14359         docs: mention why libgen.h is bad
14360         * doc/posix-headers/libgen.texi (libgen.h): Refer to dirname module.
14362 2014-12-20  Paul Eggert  <eggert@cs.ucla.edu>
14364         assure: new module
14365         This works better than 'assert' when compiling with -DNDEBUG,
14366         as it avoids some compiler diagnostics in that case.
14367         Reported by Norihiro Tanaka in:
14368         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00215.html
14369         * MODULES.html.sh (func_all_modules): Add 'assure'.
14370         * lib/assure.h, modules/assure: New files.
14371         * lib/chdir-long.c, lib/cycle-check.c, lib/fchdir.c, lib/fts.c:
14372         * lib/poll.c, lib/savewd.c, lib/xstrtol.c:
14373         Prefer 'assure' to 'assert'.
14374         * lib/utimens.c: Stop using 'assert'; it wasn't helpful.
14375         * modules/chdir-long, modules/cycle-check, modules/fchdir:
14376         * modules/poll, modules/savewd, modules/utimens, modules/xstrtol:
14377         Depend on 'assure'.
14379 2014-12-16  Paul Eggert  <eggert@cs.ucla.edu>
14381         stdalign: port better to HP compilers
14382         * m4/stdalign.m4 (gl_STDALIGN_H): Try the test if __HP_cc or
14383         __HP_aCC are nonzero, to be consistent with the 2014-01-20 patch.
14385         stdalign: work around Apple GCC 4.0 bug
14386         Reported by David Fang in:
14387         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00194.html
14388         * lib/stdalign.in.h (_Alignas):
14389         * m4/stdalign.m4 (gl_STDALIGN_H):
14390         Do not use aligned attribute with GCC 4.0 on Apple.
14392 2014-12-16  Pádraig Brady  <P@draigBrady.com>
14394         getcwd: fix test failure on OS X 10.9
14395         * m4/getcwd-path-max.m4: Avoid the replacement if it
14396         won't be effective due to the PATH_MAX limitation of lstat().
14397         (gl_cv_func_getcwd_path_max): Adjust to indicate this case.
14398         * m4/getcwd.m4 (gl_FUNC_GETCWD): Define HAVE_GETCWD_SHORTER
14399         for this case for use in tests, and also exclude this
14400         case when setting REPLACE_GETCWD.
14401         * tests/test-getcwd.c (test_long_name): Restrict the
14402         tested path length so that lstat() will not be passed
14403         a path greater than PATH_MAX.
14404         Also key a test condition on HAVE_OPENAT_SUPPORT rather
14405         than AT_FDCWD, since the latter is set unconditionally
14406         since Sep 2009 in commit 52c658e9.
14408 2014-12-14  Tim Rühsen  <tim.ruehsen@gmx.de>
14410         parse-datetime: avoid a compiler warning with byacc (trivial)
14411         * lib/parse-datetime.y (yylex): Use the same prototype in the
14412         function definition as the declaration, to avoid a -Wstrict-prototypes
14413         warning seen when using byacc.
14415 2014-12-12  Daiki Ueno  <ueno@gnu.org>
14417         unicase/locale-language-tests: fix LOCALE_FR test
14418         * tests/unicase/test-locale-language.sh: Really use $LOCALE_FR for
14419         a French locale with traditional encoding.
14420         Reported by umerqayam in:
14421         http://lists.gnu.org/r/bug-libunistring/2014-12/msg00000.html
14423 2014-12-12  Paul Eggert  <eggert@cs.ucla.edu>
14425         stddef: support C11's max_align_t
14426         * doc/posix-headers/stddef.texi (stddef.h): Document max_align_t.
14427         * lib/stddef.in.h (_@GUARD_PREFIX@_STDDEF_H) [__need_wint_t]:
14428         Do not undef, as that might cause max_align_t to be defined twice.
14429         Instead, change use to check for _GL_STDDEF_WINT_T too.
14430         (max_align_t) [!HAVE_MAX_ALIGN_T]: New decl.
14431         * m4/stddef_h.m4 (gl_STDDEF_H, gl_STDDEF_H_DEFAULTS):
14432         Check for max_align_t.
14433         * modules/stddef (stddef.h): Substitute HAVE_MAX_ALIGN_T.
14434         * modules/stddef-tests (Depends-on): Add stdalign.
14435         * tests/test-stddef.c: Test max_align_t.
14437 2014-12-11  Daiki Ueno  <ueno@gnu.org>
14439         unistd: fix iOS check conditional
14440         On Mac OS X 10.8, the TARGET_* macros are unconditonally defined
14441         as 0 or 1 in <TargetConditionals.h>, and the previous check always
14442         yielded true on non-iOS environment.
14443         * lib/unistd.in.h (environ) [__APPLE__]: Check the values of
14444         TARGET_OS_IPHONE and TARGET_IPHONE_SIMULATOR, instead of whether
14445         they are defined.
14447 2014-12-09  Paul Eggert  <eggert@cs.ucla.edu>
14449         posixtm: avoid compiler warning in a better way
14450         * lib/posixtm.c (IF_LINT): Remove.
14451         (year, posix_time_parse):
14452         Return true (not 0) if successful.  All callers changed.
14453         (posix_time_parse): Simplify to pacify GCC without need for IF_LINT.
14455 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
14457         * lib/relocatable.c (relocate): Prepend $UNIXROOT to pathname if it is
14458         started with '/' on EMX.
14460 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
14462         freopen: workaround freopen() on OS/2 kLIBC
14463         * lib/freopen.c (rpl_freopen): Workaround.
14464         * m4/freopen.m4: Add os2* case.
14466         get_shared_library_fullname: port to EMX
14467         * lib/relocatable.c: Define strcmp and strncmp to stricmp and strnicmp
14468         on EMX, respectively.
14469         (_DLL_InitTerm): New on EMX.
14470         (get_shared_library_fullname): Implement on EMX.
14472         find_executable: port to EMX
14473         * lib/progreloc.c (find_executable): Implement on EMX.
14475         sched: check struct sched_param in spawn.h as well
14476         * lib/sched.in.h: Include spawn.h on kLIBC.
14477         * lib/sched_h.m4: Check struct sched_param in spawn.h as well.
14479 2014-12-08  Martin Kletzander  <mkletzan@redhat.com>  (tiny change)
14481         bootstrap: Allow perl modules in $buildreq
14482         * build-aux/bootstrap: Add case for perl modules.
14484 2014-12-08  Pádraig Brady  <P@draigBrady.com>
14486         apply _GL_ATTRIBUTE_PURE to some inline functions
14487         clang 3.4.2 flagged these inline functions as pure
14488         * lib/savewd.h (savewd_errno): Set _GL_ATTRIBUTE_PURE.
14489         * lib/sig-handler.h (get_handler): Likewise.
14490         * lib/stat-time.h (get_stat_{a,c,m,birth}time{,_ns}): Likewise.
14491         * lib/timespec.h (timespec_cmp, timespec_sign): Likewise.
14493 2014-12-06  Pádraig Brady  <P@draigBrady.com>
14495         vasnprintf: fix potential use after free
14496         * lib/vasnprintf.c (VASNPRINTF): Fix free-memory read,
14497         flagged by clang-analyzer 3.4.2.
14499 2014-12-05  Pádraig Brady  <P@draigBrady.com>
14501         filevercmp, posixtm: avoid compiler warnings with -O3
14502         * lib/filevercmp.h (filevercmp): Tag with _GL_ATTRIBUTE_PURE
14503         * lib/posixtm.c: (IF_LINT): Define.
14504         (posix_time_parse): Use it to void a "may be used uninitialized"
14505         warning, seen only with -O3.
14507 2014-12-05  Bruno Haible  <bruno@clisp.org>
14509         Fix LDBL80_WORDS macro on big endian platforms.
14510         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Add missing parenthesis in
14511         LDBL80_WORDS macro.
14512         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
14513         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
14514         * tests/test-isfinite.c (test_isfinitel): Likewise.
14515         * tests/test-isinf.c (test_isinfl): Likewise.
14516         * tests/test-isnan.c (test_long_double): Likewise.
14517         * tests/test-isnanl.h (main): Likewise.
14518         * tests/test-snprintf-posix.h (LDBL80_WORDS): Add missing parenthesis.
14519         * tests/test-sprintf-posix.h (LDBL80_WORDS): Likewise.
14520         * tests/test-vasnprintf-posix.c (LDBL80_WORDS): Likewise.
14521         * tests/test-vasprintf-posix.c (LDBL80_WORDS): Likewise.
14522         Reported by Pádraig Brady.
14524 2014-12-02  KO Myung-Hun  <komh78@gmail.com>
14526         git-version-gen: do not print new line characters
14527         * build-aux/git-version-gen: Use printf instead of echo and tr.
14529         gnulib-tool: recognize x:* as an absolute path
14530         * gnulib-tool (func_gnulib_dir): Add ?:* case.
14531         (func_relconcat): Likewise.
14533 2014-12-02  Andrei Borzenkov  <arvidjaar@gmail.com>
14535         argp: avoid extraneous translation and mem leak with empty pre doc
14536         * lib/argp-help.c (argp_doc): Never translate the empty string,
14537         when "\v" is the first or last character of the string, as that
14538         has a reserved meaning to return the header info from a po file.
14539         This also fixes a small memory leak in the !post case.
14540         The issue can be seen with this command for example:
14541         LC_MESSAGES=en_US grub2-mknetdir --help
14543 2014-11-27  Daiki Ueno  <ueno@gnu.org>
14545         uniname/uniname-tests: skip if system's libunistring is used
14546         * modules/uniname/uniname-tests (Makefile.am): Skip test if
14547         uniname/uniname module is not compiled.
14549 2014-11-27  Pádraig Brady  <P@draigBrady.com>
14551         printf: fix configure check on big endian systems
14552         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Add missing bracket.
14554 2014-11-22  Daiki Ueno  <ueno@gnu.org>
14556         pipe-filter-gi, pipe-filter-ii: port to AIX
14557         On AIX 7.1, 'select' is defined as static and cannot be referred
14558         to from inline function.
14559         * lib/pipe-filter-aux.h (nointr_select): Remove, manually expand
14560         the definition...
14561         * lib/pipe-filter-gi.c (filter_loop): ...here, and...
14562         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): ...here.
14564 2014-11-20  Paul Eggert  <eggert@cs.ucla.edu>
14566         gitlog-to-changelog: add --until
14567         * build-aux/gitlog-to-changelog: Support new --until option.
14568         Need described by Eli Zaretskii in: http://bugs.gnu.org/19113
14570 2014-11-14  Paul Eggert  <eggert@cs.ucla.edu>
14572         extern-inline: update commentary about GCC bugs
14573         * m4/extern-inline.m4: Add another GCC bug number to comments.
14575 2014-11-13  Daiki Ueno  <ueno@gnu.org>
14577         gen-uni-tables: untabify
14578         * lib/gen-uni-tables.c: Untabify.
14580 2014-11-13  Daiki Ueno  <ueno@gnu.org>
14582         gen-uni-tables: check out-of-range values added to 3-level tables
14583         * lib/gen-uni-tables.c (output_category, output_bidi_category)
14584         (output_joining_type, output_ident_category): Check out-of-range
14585         values added to 3-level tables.
14587 2014-11-13  Daiki Ueno  <ueno@gnu.org>
14589         gen-uni-tables: utilize 'assert'
14590         * lib/gen-uni-tables.c: Include <assert.h>.
14591         (output_category, output_combclass, output_decimal_digit_test)
14592         (output_decimal_digit, output_digit_test, output_digit)
14593         (output_numeric, get_mirror_value, fill_properties)
14594         (fill_property30, is_property_alphabetic)
14595         (is_property_default_ignorable_code_point)
14596         (is_property_uppercase, is_property_lowercase)
14597         (is_property_cased, is_property_case_ignorable)
14598         (is_property_changes_when_lowercased, is_property_iso_control)
14599         (is_property_math, fill_arabicshaping, output_joining_group)
14600         (fill_scripts, fill_blocks, output_lbp, fill_org_wbp)
14601         (output_wbp, fill_org_gbp, get_decomposition)
14602         (output_decomposition, fill_composition_exclusions)
14603         (debug_output_composition_tables, output_composition_tables)
14604         (redistribute_casefolding_rules, output_casing_rules): Use
14605         'assert (EXPR);' instead of 'if (!EXPR) abort ();' for better error
14606         reporting.
14608 2014-11-13  Daiki Ueno  <ueno@gnu.org>
14610         gen-uni-tables: cosmetic improvements
14611         * lib/gen-uni-tables.c: Escape newlines in the Emacs file local
14612         variables specification.
14613         (is_outdigit): Remove unused function.
14615 2014-11-12  Jeroen Roovers  <jer@gentoo.org>  (tiny change)
14617         fcntl-h-tests: port to PA-RISC GNU/Linux
14618         * tests/test-fcntl-h.c (main): Check O_SYNC is different from O_DSYNC.
14620 2014-11-10  Paul Eggert  <eggert@cs.ucla.edu>
14622         fts: port to C89
14623         Problem reported for MSVC 16 by Gisle Vanem in:
14624         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00027.html
14625         * lib/fts.c (fts_build): Avoid declaration before statement.
14627 2014-11-06  Paul Eggert  <eggert@cs.ucla.edu>
14629         unistd: port to iOS
14630         Problem reported by André Klitzing in:
14631         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00013.html
14632         * lib/unistd.in.h (environ): Do not include crt_externs.h on iOS.
14634 2014-11-05  Paul Eggert  <eggert@cs.ucla.edu>
14636         obstack: do not reject malloc-style obstack_chunkfun, obstack_freefun
14637         Problem reported by Alan Modra in:
14638         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00007.html
14639         * lib/obstack.h (obstack_chunkfun, obstack_freefun):
14640         Always cast the function arg, reverting this part of the previous
14641         change.
14643 2014-11-04  Paul Eggert  <eggert@cs.ucla.edu>
14645         obstack: avoid potentially-nonportable function casts
14646         * lib/obstack.c (CALL_CHUNKFUN, CALL_FREEFUN):
14647         Remove, replacing with ...
14648         (call_chunkfun, call_freefun): New static functions.
14649         All uses changed.  Avoid potentially-nonportable casts.
14650         (chunkfun_type, freefun_type): Remove typedefs; no longer used.
14651         (_obstack_begin_worker): Omit last two args, since they
14652         rely on potentially-nonportable casts.  All callers changed.
14653         * lib/obstack.h (_OBSTACK_CAST): New macro.
14654         Use it everywhere the old API used a potentially-nonportable cast.
14655         The new API doesn't cast.
14656         (struct obstack): Use unions rather than requiring
14657         potentially-nonportable casts.
14658         (obstack_chunkfun, obstack_freefun): Return void.
14660 2014-11-03  Alan Modra  <amodra@gmail.com>
14662         obstack: fix macro return values
14663         * lib/obstack.h (obstack_next_free): Return void *.
14664         (obstack_1grow_fast, obstack_blank_fast): Return void.
14665         For __GNUC__ macros:
14666         (obstack_1grow, obstack_blank): Remove now unnecessary (void) 0.
14667         For !__GNUC__ macros:
14668         (obstack_make_room, obstack_grow, obstack_grow0)
14669         (obstack_ptr_grow_fast, obstack_int_grow_fast): Return void.
14671 2014-11-03  Paul Eggert  <eggert@cs.ucla.edu>
14673         obstack: do not assume system-supplied obstack is size_t safe
14674         * m4/obstack.m4: New file.
14675         * modules/obstack (Files): Add it.
14677         obstack: port to platforms that #define __alignof__
14678         * lib/obstack.c: Include <alignof.h> if !defined __alignof__,
14679         not if !_LIBC.  We don't know of any platforms that #define
14680         __alignof__, but it might be useful in tests.  Conversely,
14681         glibc assumes GCC.
14683 2014-11-03  Pádraig Brady  <P@draigBrady.com>
14685         linkat: don't unconditionally replace on GNU/Linux
14686         * m4/linkat.m4 (gl_FUNC_LINKAT): The compile check for AT_SYMLINK_FOLLOW
14687         was redundant for a few reasons.  It was present to support compiling
14688         on new systems but running on the old narrow window of Linux 2.6.1[67].
14689         It setup and cleaned up test files which weren't actually used.
14690         On non __linux__ it compile tested AT_SYMLINK_FOLLOW, but that is
14691         implicit in the following check.
14693 2014-11-03  Pádraig Brady  <P@draigBrady.com>
14695         linkat: wrap to handle symlinks on OS X 10.10
14696         * m4/linkat.m4 (gl_FUNC_LINKAT): linkat() is available on Yosemite
14697         but not usable because it doesn't support creating hardlinks
14698         to symlinks.  Therefore add a generic test for this capability
14699         and fallback to our emulation if linkat() fails with ENOTSUP.
14701 2014-11-02  Paul Eggert  <eggert@cs.ucla.edu>
14703         open, openat: document nonstandard FreeBSD, NetBSD O_NOFOLLOW errno
14704         * doc/posix-functions/open.texi (open):
14705         * doc/posix-functions/openat.texi (openat):
14706         Document that these functions do not set errno to ELOOP when
14707         a symlink is opened with O_NOFOLLOW.
14709 2014-10-31  Paul Eggert  <eggert@cs.ucla.edu>
14711         obstack: add NEWS entry for recent incompatible changes
14712         * NEWS: Describe recent changes.
14714 2014-10-30  Pádraig Brady  <P@draigBrady.com>
14716         mountlist: don't use libmount to decide on dummy/remote
14717         * lib/mountlist.c (read_file_system_list): Don't use the libmount
14718         routines to determine whether a file system is dummy or remote,
14719         as they're not currently compatible.  For example the remoteness
14720         is determined on file system type (for which the list seems incomplete),
14721         rather than simply checking for a ':' in the device name.
14722         Also libmount currently determines that 'tmpfs' is a dummy file system
14723         even though it has associated storage.
14725 2014-10-29  Paul Eggert  <eggert@cs.ucla.edu>
14727         obstack: prefer __alignof__ to alignof
14728         This is for portability to pre-4.7 GCC when compiling glibc.
14729         See Joseph S. Myers in:
14730         http://sourceware.org/ml/libc-alpha/2014-10/msg00703.html
14731         * lib/obstack.c (__alignof__) [!_LIBC && !__GNUC__]:
14732         New macro, defined by including and using <alignof.h>.
14733         (MAX): New macro.
14734         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Redefine in terms of these.
14735         Do not use enums as they are not portable to some broken compilers.
14736         * modules/obstack (Depends-on): Depend on alignof, not stdalign.
14738         obstack: prefer alignof to calculating alignments by hand
14739         * lib/obstack.c: Include <stdalign.h>.
14740         (struct fooalign): Remove.
14741         (DEFAULT_ALIGNMENT): Use alignof rather than the old offsetof hack.
14742         * modules/obstack (Depends-on): Add stdalign.
14744 2014-10-28  Paul Eggert  <eggert@cs.ucla.edu>
14746         obstack: use size_t alignments and check for overflow
14747         * lib/obstack.c, lib/obstack.h (_obstack_begin, _obstack_begin_1):
14748         * lib/obstack.c (_obstack_begin_worker, _obstack_newchunk):
14749         * lib/obstack.h (struct obstack.alignment_mask):
14750         Use _OBSTACK_SIZE_T, not int, for alignments.
14751         * lib/obstack.c (_obstack_newchunk): Fail if the size calculation
14752         overflows, e.g., when adding the alignment.
14754 2014-10-29  Alan Modra  <amodra@gmail.com>
14756         obstack: 64-bit obstack support, part 3
14757         This finally enables full 64-bit obstack support.  The glibc
14758         shared library specific code is removed from obstack.c too, and
14759         the error handling code conditionally compiled under control of
14760         another macro, _OBSTACK_NO_ERROR_HANDLER.
14761         * lib/obstack.h: Include string.h earlier.
14762         (_OBSTACK_INTERFACE_VERSION): Define.
14763         (_OBSTACK_SIZE_T, _CHUNK_SIZE_T): Define as size_t for version 2.
14764         * lib/obstack.c: Don't include shlib-compat.h.
14765         (OBSTACK_INTERFACE_VERSION): Delete.
14766         (_OBSTACK_ELIDE_CODE): Rename from ELIDE_CODE.  Define when version 1
14767         glibc code is compatible with version 2.  Don't include stdio.h for
14768         __GNU_LIBRARY.
14769         (obstack_exit_failure, print_and_abort, obstack_alloc_failed_handler):
14770         Omit when _OBSTACK_NO_ERROR_HANDLER defined.  Include stdio.h here.
14771         (_obstack_compat, _obstack, _obstack_newchunk, obstack_free): Delete
14772         glibc shared library specific source.
14774         obstack: 64-bit obstack support, part 2
14775         This gets us 4G obstack support, without changing ABI
14776         compatibility, apart from possibly introducing some
14777         signed/unsigned comparison warnings in code that uses obstack.h.
14778         a) Replace "int" size parameters, return values, and macro local vars
14779            with _OBSTACK_SIZE_T, an "unsigned int" for now.
14780         b) Make obstack.chunk_size a _CHUNK_SIZE_T, an "unsigned long" for now.
14781         c) Make all obstack macros checking available room use obstack_room.
14782            "next_free + desired > chunk_limit" may wrap the lhs for chunks
14783            allocated near the top of memory.
14784         d) Use unsigned comparisons, and macro locals to support >2G on 32-bit.
14785         * lib/obstack.h (_OBSTACK_SIZE_T): Define.  Use throughout
14786         in place of "int" size parameters, return values and local vars.
14787         (_CHUNK_SIZE_T): Define.
14788         (struct obstack): Make chunk_size a _CHUNK_SIZE_T.  Make temp
14789         union use an _OBSTACK_SIZE_T integer type.
14790         For __GNUC__ versions of the following macros...
14791         (obstack_room): Rename local var.
14792         (obstack_make_room): Use obstack_room.
14793         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
14794         obstack_int_grow, obstack_blank): Likewise.
14795         (obstack_finish): Use unsigned comparison when comparing aligned
14796         next_free against chunk_limit.
14797         (obstack_free): Cast OBJ to remove possible const qualifier.
14798         For !__GNUC__ versions of the following macros...
14799         (obstack_make_room): Use obstack_room.
14800         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
14801         obstack_int_grow, obstack_blank): Likewise.
14802         (obstack_finish): Use unsigned comparision when comparing aligned
14803         next_free against chunk_limit.
14804         (obstack_free): Use temp.p and same comparisons as __GNUC__ version.
14805         * lib/obstack.c (_obstack_begin_worker): Make "size" parameter
14806         _OBSTACK_SIZE_T.
14807         (_obstack_begin, _obstack_begin_1): Likewise.
14808         (_obstack_newchunk): Likewise for length parameter.  Use size_t locals.
14809         (_obstack_memory_used): Return and use _OBSTACK_SIZE_T local.
14811         obstack: 64-bit obstack support, part 1
14812         a) Correct calls to alloc function, to use a size_t arg.  "long" is
14813            just wrong on targets like x86_64-mingw64 where "long" is 32 bits
14814            and "size_t" 64 bits.
14815         b) Consolidate _obstack_begin and _obstack_begin1 code.
14816         * lib/obstack.h (struct obstack <chunkfun>): Correct prototype to
14817         use "size_t" rather than "long".
14818         (_obstack_begin, _obstack_begin1): Likewise.
14819         (obstack_init, obstack_begin, obstack_specify_allocation_with_arg,
14820         obstack_chunkfun): Update alloc function casts.
14821         * lib/obstack.c (CALL_CHUNKFUN): Update chunkfun cast.
14822         (chunkfun_type, freefun_type): New typdefs.
14823         (_obstack_begin_worker): Split out from ..
14824         (_obstack_begin, _obstack_begin_1): ..here.
14826         obstack: tidy part 2
14827         a) Don't be concerned about "not polluting the namespace with stddef.h
14828            symbols" in obstack.h, since gnulib string.h includes stddef.h
14829            anyway, and it seems unlikely that anyone would care.
14830         b) Don't roll our own slow memcpy in _obstack_newchunk.
14831         c) Rename obstack_free to _obstack_free.  This makes the naming
14832            consistent with other obstack functions and obviates the need for
14833            __obstack_free.  Ancient obstack.c defined both obstack_free and
14834            _obstack_free.  We continue to do that for _LIBC via an alias.
14835         d) Miscellaneous macro fixes.  The expression used to test for gcc-2.8
14836            is clever, but nowadays gcc warns on undefined macros.  You'll get
14837            an undefined macro warning if simulating an old gcc with -U__GNUC__
14838            -U__GNUC_MINOR__ -D__GNUC__=1.
14839         * lib/obstack.h: Include stddef.h unconditionally.  Formatting fixes.
14840         (PTR_INT_TYPE): Delete, replace with ptrdiff_t.
14841         (__obstack_free): Delete, update refs.
14842         (_obstack_free): Rename from obstack_free.
14843         (__extension__): Avoid undefined macro warning for __GNUC_MINOR__.
14844         (obstack_object_size, obstack_room): Parenthesise !__GNUC__ versions.
14845         * lib/obstack.c: Don't include stddef.h.
14846         (COPYING_UNIT): Delete.
14847         (_obstack_begin): Formatting fix.
14848         (_obstack_newchunk): Use memcpy to move existing object to new chunk.
14849         (_obstack_free): Rename from __obstack_free, update alias.  Move
14850         undef of obstack_free to where it is needed.
14852         obstack: tidy part 1
14853         a) Rename temp fields.  temp.tempint and temp.tempptr just looks ugly
14854            to me, and result in overlong lines after later patches.
14855         b) Move error handling code, to avoid a forward declaration and to
14856            simplify later patches in this series.
14857         * lib/obstack.h (struct obstack <temp>): Rename fields of union
14858         and update all uses.
14859         * lib/obstack.c: Include stdlib.h earlier.
14860         (obstack_exit_failure, obstack_alloc_failed_handler): Move later
14861         in file.
14862         (print_and_abort): Remove now redundant forward declaration.
14864 2014-10-24  Paul Eggert  <eggert@cs.ucla.edu>
14866         socketlib, sockets, sys_socket: Use AC_REQUIRE to pacify autoconf.
14867         Without this change, in bleeding-edge fileutils Autoconf complains
14868         that gl_SOCKETLIB etc. are AC_REQUIREd after being invoked.
14869         * modules/socketlib (configure.ac): AC_REQUIRE gl_SOCKETLIB.
14870         * modules/sockets (configure.ac): AC_REQUIRE gl_SOCKETS.
14871         * modules/sys_socket (configure.ac): AC_REQUIRE gl_HEADER_SYS_SOCKET.
14873 2014-10-24  Daiki Ueno  <ueno@gnu.org>
14875         iconv: avoid false detection of non-working iconv
14876         The INBUF arguments of iconv can be either 'const char **'
14877         or 'char **'.  If CC is g++, the difference causes a compile error
14878         and thus leads to a false detection of non-working iconv.
14879         Reported by Eli Zaretskii and Werner LEMBERG in:
14880         <https://lists.gnu.org/r/bug-gnulib/2014-10/msg00023.html>.
14881         * m4/iconv.m4 (AM_ICONV_LINK): Try all possible argument types of
14882         iconv.  Bump serial number.
14884 2014-10-23  Pádraig Brady  <P@draigBrady.com>
14886         bootstrap: print more diagnostics for missing programs
14887         * build-aux/bootstrap: only suppress stderr when checking for
14888         alternative program names.  This supports programs issuing non
14889         standard error messages.
14891 2014-10-23  Pádraig Brady  <P@draigBrady.com>
14893         bootstrap: only update the gnulib submodule
14894         * build-aux/bootstrap: Restrict the "submodule update" command
14895         to the gnulib path.
14897 2014-10-18  Paul Eggert  <eggert@cs.ucla.edu>
14899         symlinkat: port to AIX 7.1
14900         * doc/posix-functions/symlinkat.texi (symlinkat):
14901         Mention AIX porting problem.
14902         * lib/symlinkat.c: Always include errno.h.
14903         (rpl_symlinkat) [HAVE_SYMLINKAT]: New function.
14904         * lib/unistd.in.h (symlinkat): Add replacement machinery.
14905         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Check symlinkat behavior.
14906         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_SYMLINKAT.
14907         * modules/symlinkat (Depends-on): Add fstatat if REPLACE_SYMLINKAT.
14908         (configure.ac): Also compile replacement if REPLACE_SYMLINKAT.
14909         * modules/unistd (unistd.h): Substitute REPLACE_SYMLINKAT.
14911         readlinkat: port to AIX 7.1
14912         * doc/posix-functions/readlink.texi (readlink):
14913         * doc/posix-functions/readlinkat.texi (readlinkat):
14914         Mention AIX porting problem.
14915         * lib/readlinkat.c (rpl_readlinkat) [HAVE_READLINKAT]:
14916         New function.
14917         * lib/unistd.in.h (readlinkat): Add replacement machinery.
14918         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check readlinkat signature.
14919         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_READLINKAT.
14920         * modules/readlinkat (configure.ac): Also compile replacement
14921         if REPLACE_READLINKAT.
14922         * modules/unistd (unistd.h): Substitute REPLACE_READLINKAT.
14924 2014-10-12  Karl Berry  <karl@gnu.org>
14926         * doc/posix-functions/dirname.texi: remove spurious {.
14928 2014-09-28  Ben Pfaff  <blp@cs.stanford.edu>
14930         basename, dirname: Improve documentation.
14931         * doc/posix-functions/basename.texi: Mention dirname module and
14932         base_name() function.
14933         * doc/posix-functions/dirname.texi: Mention dir_name() and
14934         mdir_name() functions.
14935         Suggested by Werner LEMBERG <wl@gnu.org>.
14937 2014-09-24  Jim Meyering  <meyering@fb.com>
14939         exclude: declare exclude_patopts static
14940         * lib/exclude.c (exclude_patopts): Declare static,
14941         to avoid triggering a -Wmissing-prototypes warning.
14942         The alternative (declaring it in the .h file) would
14943         require publicizing the private "struct patopts".
14945 2014-09-21  Werner Lemberg  <wl@gnu.org>
14947         dirname: support compilation with C++
14948         * lib/dirname.h: Add necessary C linkage declarations.
14950 2014-09-16  Paul Eggert  <eggert@cs.ucla.edu>
14952         qsort_r: include <config.h>
14953         Problem reported by Tom G. Christensen in:
14954         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00071.html
14955         * lib/qsort.c [!_LIBC]: Include <config.h> first.
14957 2014-09-16  Dylan Cali  <calid1984@gmail.com>
14959         avltree-list: avoid compiler warnings (trivial)
14960         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
14961         -Werror=suggest-attribute=pure.
14962         * lib/gl_array_list.c: Likewise.
14963         * lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Add extern
14964         declaration to avoid -Werror=missing-prototypes.  This is not added
14965         to a header as only exported for tests.  Add (void) to the
14966         check_invariants() call to indicate we're discarding the result
14967         in this context which avoids -Werror=unused-value.  Note we don't
14968         use ignore_value here to avoid a dependency as we know we'll not
14969         be adding __attribute__((warn_unused_result)) to check_invariants().
14970         Add _GL_ATTRIBUTE_CONST to avoid -Werror=suggest-attribute=const.
14972 2014-09-15  Paul Eggert  <eggert@cs.ucla.edu>
14974         qsort_r: new module, for GNU-style qsort_r
14975         * m4/qsort_r.m4: New file.  Forgot to add this earlier.
14977 2014-09-15  Werner LEMBERG  <wl@gnu.org>
14979         strerror_r-posix: support compilation with C++
14980         * lib/strerror_r.c: Add necessary C linkage declarations.
14982 2014-09-11  Johannes Zarl  <johannes.zarl@jku.at>
14984         fcntl-h: fix compilation with Intel C++ compiler (trivial)
14985         * lib/fcntl.in.h: ICC has the same issue as GCC <= 4.2.
14987 2014-09-09  Fridolin Pokorny  <fpokorny@redhat.com>
14989         mountlist: use /proc/self/mountinfo when available
14990         Use libmount to propagate device IDs provided by Linux in
14991         /proc/self/mountinfo.  This will give more accurate output when
14992         using df in chroot'ed environments as the device IDs are not
14993         determined by stat() which may be inaccurate within the chroot.
14994         * lib/mountlist.c (read_file_system_list): Use the libmount routines
14995         from util-linux to parse "/proc/self/mountinfo" or fall back to
14996         standard getmntent() processing.
14997         * m4/ls-mntd-fs.m4: Check for libmount only when 1-argument
14998         getmntent() is used, as is the case on GNU/Linux.
15000 2014-09-07  Eric Wong  <normalperson@yhbt.net>
15002         users.txt: add cmogstored
15003         cmogstored has used gnulib since the beginning in 2012 to support
15004         GNU/Linux, FreeBSD, and GNU/kFreeBSD.
15006 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
15008         Trivial change.
15009         * gnulib-tool: Use same options as build-aux/bootstrap to download
15010         PO files.
15012 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
15014         Trivial change.
15015         * gnulib-tool: Fallback to wget when rsync of PO files fails.
15017 2014-09-04  Eric Blake  <eblake@redhat.com>
15019         maintainer-makefile: add syntax check for useless ';;'
15020         * top/maint.mk (sc_prohibit_double_semicolon): New rule.
15022 2014-09-04  Paul Eggert  <eggert@cs.ucla.edu>
15024         pthread, pthread_sigmask, threadlib: port to Ubuntu 14.04
15025         Problem reported by Assaf Gordon in:
15026         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00023.html
15027         Apparently Ubuntu is doing some fancy link-time optimization
15028         that doesn't work with -lpthread but does work with -pthread.
15029         Work around the bug by preferring -pthread to -lpthread.
15030         * m4/pthread.m4 (gl_PTHREAD_CHECK):
15031         * m4/threadlib.m4 (gl_THREADLIB_BODY): Prefer -pthread to -lpthread.
15032         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
15033         Treat -pthread like -lpthread.
15035 2014-09-04  Eric Blake  <eblake@redhat.com>
15037         error: drop spurious semicolon
15038         * lib/error.c (__error_at_line): Fix ';;'.
15040 2014-09-02  Paul Eggert  <eggert@cs.ucla.edu>
15042         gnulib-common.m4: port to GCC 4.2.1 and Sun Studio 12 C++
15043         * m4/gnulib-common.m4 (AC_C_RESTRICT):
15044         Override AC_C_RESTRICT unconditionally.
15045         Update from autoconf, incorporating:
15046         2014-09-02 autoconf: port 'restrict' to GCC 4.2.1
15047         2009-01-28 Fix AC_C_RESTRICT for Sun Studio 12 C++.
15049 2014-09-01  Paul Eggert  <eggert@cs.ucla.edu>
15051         manywarnings: add GCC 4.9 warnings
15052         Also, make it easier to maintain this in the future.
15053         * build-aux/gcc-warning.spec: Add -Wabi-tag,
15054         -Wconditionally-supported, -Wdelete-incomplete,
15055         -Winherited-variadic-ctor, -Wvirtual-move-assign, -Wzerotrip.
15056         Remove duplicates.  Use tabs uniformly, as that's what 'cut' wants.
15057         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wdate-time,
15058         -Wopenmp-simd.  Use -fdiagnostics-show-option and -funit-at-a-time
15059         only for older GCC versions that need them.  Handle
15060         -Wnormalized=nfc specially, so that the 'comm' command used
15061         for maintenance doesn't get confused.
15063 2014-08-31  Paul Eggert  <eggert@cs.ucla.edu>
15065         vasnprintf: fix bugs in width computation
15066         * lib/vasnprintf.c (VASNPRINTF):
15067         Rework previous change, which introduced a bug,
15068         to avoid the warning in a different way.
15069         Avoid undefined behavior if the width arg is less than -INT_MAX.
15070         Avoid unnecessary use of HAS_WIDTH local.
15072 2014-08-31  Thien-Thi Nguyen  <ttn@gnu.org>  (tiny change)
15074         vasnprintf: Avoid signed/unsigned comparison warning.
15075         * lib/vasnprintf.c (VASNPRINTF): To calculate padding,
15076         compare end addr of generated string w/ maximum end addr.
15078 2013-08-30  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
15080         parse-datetime: Avoid pointer difference.
15081         * lib/parse-datetime.y (yylex): Compare pointer to end of buffer,
15082         instead of calculating difference of pointers.  This removes an
15083         annoying warning, devoid of any use.
15085 2014-08-29  Paul Eggert  <eggert@cs.ucla.edu>
15087         qsort_r: new module, for GNU-style qsort_r
15088         This works even on FreeBSD, which has an incompatible qsort_r API.
15089         * MODULES.html.sh: Add it.
15090         * doc/glibc-functions/qsort_r.texi: It's now supported.
15091         * lib/qsort.c: New file, taken from glibc with minor changes
15092         inside "#ifndef _LIBC" and with an unnecessary "#include <alloca.h>"
15093         removed.
15094         * lib/qsort_r.c: New file, compiled only on FreeBSD.
15095         * lib/stdlib.in.h (qsort_r): Declare in the usual way.
15096         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS):
15097         * modules/qsort_r, modules/qsort_r-tests: New files.
15098         * modules/stdlib (Makefile): Set up its defaults.
15099         * tests/test-qsort_r.c: New file.
15101 2014-08-08  Paul Eggert  <eggert@cs.ucla.edu>
15103         vla: new module
15104         GNU RCS can use this, mostly for documentation I expect.  See:
15105         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00025.html
15106         * MODULES.html.sh: Add vla.
15107         * lib/vla.h, modules/vla: New files.
15109 2014-08-07  Daiki Ueno  <ueno@gnu.org>
15111         localename: make gl_locale_name_thread really thread-safe on Windows
15112         * lib/localename.c [WINDOWS_NATIVE && !IN_LIBINTL]: Include
15113         "glthread/lock.h".
15114         (get_lcid_lock) [WINDOWS_NATIVE]: New variable.
15115         (get_lcid) [WINDOWS_NATIVE]: Lock while looking for an LCID.
15117 2014-08-07  Paul Eggert  <eggert@cs.ucla.edu>
15119         getpass: don't assume struct termios
15120         Problem report and trivial fix by Jonas 'Sortie' Termansen in:
15121         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00015.html
15122         * lib/getpass.c (getpass): Port to systems lacking struct termios.
15124         getdtablesize: fall back on sysconf (_SC_OPEN_MAX)
15125         Problem reported by Jonas 'Sortie' Termansen in:
15126         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00023.html
15127         * lib/getdtablesize.c (getdtablesize) [_SC_OPEN_MAX]:
15128         Implement via sysconf for platforms that lack getdtablesize.
15130         vararrays: modernize AC_C_VARARRAYS for C11
15131         This backports a change I recently made to Autoconf.
15132         * m4/vararrays.m4 (AC_C_VARARRAYS): Define __STDC_NO_VLA__ if
15133         VLAs are not supported, as this is what C11 does.  The old macro
15134         HAVE_C_VARARRAYS is still defined if they are supported, but is
15135         now obsolescent.  Also, check for VLA bug in GCC 3.4.3.
15137 2014-08-07  Alessandro Degano  <degano@cern.ch>  (tiny change)
15139         relocatable-prog-wrapper: port gettext to OS X 10.8 + GCC 4.8.1
15140         * build-aux/install-reloc (func_create_wrapper): Also wrap
15141         strerror-override, stat, stat.
15143 2014-08-05  Paul Eggert  <eggert@cs.ucla.edu>
15145         sys_select: fix FD_ZERO problem on Solaris 10
15146         * lib/sys_select.in.h: Fix Solaris 10 bug where "#include
15147         <sys/time.h>" followed by "#include <sys/select.h>" caused FD_ZERO
15148         to expand to an expression that invoked memset without necessarily
15149         including <string.h>.  The problem was that the first include
15150         defined _SYS_TIME_H, causing the second include to short-circuit.
15151         Fix a similar problem with <sys/types.h> followed by <sys/select.h>.
15152         Also, fix what appears to be a cut-and-paste typo, by replacing
15153         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H with
15154         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TYPES_H.
15156         accept: document Solaris 10 type glitch
15157         * doc/posix-functions/accept.texi (accept): Mention that
15158         Solaris 10 'accept' takes void * last arg, not socklen_t *.
15160 2014-08-04  Paul Eggert  <eggert@cs.ucla.edu>
15162         extern-inline: port to FreeBSD, DragonFly
15163         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Also assume the bug
15164         is present if either __DragonFly__ or __FreeBSD__ is defined.
15165         FreeBSD problem reported by Andrey Borzenkov in:
15166         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html
15167         Also, worry about __APPLE__ only if __MACH__ is also defined,
15168         as this is more consistent with the rest of gnulib.
15169         (_GL_EXTERN_INLINE_STDHEADER_BUG): Rename this internal macro from
15170         _GL_EXTERN_INLINE_APPLE_BUG, since the bug is not limited to Apple.
15172 2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
15174         regex: Make #if/#ifdef usage consistent for DEBUG
15175         * lib/regex_internal.c: Use "#if defined DEBUG && DEBUG" instead
15176         of the inconsistent usage of #if and #ifdef as that works with
15177         both Glibc and Gnulib's style.
15179 2014-07-31  Eric Blake  <eblake@redhat.com>
15181         openat-die: use _Noreturn markup
15182         * modules/openat-die (Depends-on): Add snippet/_Noreturn.
15183         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Mark
15184         _Noreturn.
15186 2014-07-30  Eric Blake  <eblake@redhat.com>
15188         test-open: port to cygwin, which lacks Fortify
15189         * tests/test-open.h (ALWAYS_INLINE): New macro.
15190         (__always_inline): Don't abuse internal symbol on non-glibc.
15192 2014-07-19  Eli Zaretskii  <eliz@gnu.org>
15194         localename: Enforce declarations before statements.
15195         * localename.c (gl_locale_name_thread): Declare 'lcid' before the
15196         first statement.
15198 2014-07-18  Jim Meyering  <meyering@fb.com>
15200         test-userspec: don't look up numeric user names
15201         * tests/test-userspec.c: I found a system for which getpwnam("0")
15202         returned a pointer to a non-root user's entry, and that made the
15203         test fail.
15204         (T): Prefix each numeric input with "+", to inhibit lookup.
15206 2014-07-15  Eli Zaretskii  <eliz@gnu.org>
15208         localcharset, localename: MS-Windows support for non-default locales
15209         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Before
15210         falling back on the default system codepage, try extracting
15211         the codepage from what 'setlocale' returns.  This allows to
15212         take into account changes of the codeset due to non-default
15213         locale set by a previous call to 'setlocale'.
15214         * lib/localename.c (LOCALE_NAME_MAX_LENGTH) [WINDOWS_NATIVE]:
15215         Define if not already defined.
15216         (enum_locales_fn, get_lcid) [WINDOWS_NATIVE]: New functions.
15217         (gl_locale_name_thread) [WINDOWS_NATIVE]: Produce the
15218         current locale by calling 'setlocale', then converting the
15219         locale name into LCID by calling 'get_lcid'.  This allows to
15220         take into account changes in the current locale from the
15221         default one, in contrast to GetThreadLocale.
15223 2014-07-14  Daiki Ueno  <ueno@gnu.org>
15225         announce-gen: avoid failure when Digest::SHA is installed
15226         When Digest::SHA is available, Digest::SHA1 is not loaded and thus
15227         Digest::SHA1->new in print_checksums fails.
15228         * build-aux/announce-gen (digest_classes): New associative array
15229         for available message digest implementations.
15230         (print_locations): Use it.
15232 2014-07-13  Pádraig Brady  <P@draigBrady.com>
15234         gettext: revert "update macros to version 0.19"
15235         This reverts commit 9b9370ca, as it currently requires that
15236         developers of any project that explicitly uses the gettext module
15237         or implicitly uses it through the utimens-tests or
15238         futimens-tests modules, use gettext >= 0.19.
15239         However there are some stability and availablity issues with
15240         that version at present.  We can reinstate this soon, when stability
15241         is addressed and packages are more readily available.
15243 2014-07-12  Jim Meyering  <meyering@fb.com>
15245         regex: don't deref NULL upon heap allocation failure
15246         * lib/regcomp.c (parse_dup_op): Handle duplicate_tree
15247         failure in one more place.
15248         To trigger the segfault, configure grep -with-included-regex,
15249         build it, and run these commands:
15250         ( ulimit -v 300000; echo a|src/grep -E a+++++++++++++++++++++ )
15251         I discovered this while replying to a private report from
15252         Jens Schleusener about excessive memory consumption by grep
15253         when using a regular expression like the one above.
15255 2014-07-11  Paul Eggert  <eggert@cs.ucla.edu>
15257         regex: fix memory leak in compiler
15258         Fix by Andreas Schwab in:
15259         https://sourceware.org/ml/libc-alpha/2014-06/msg00503.html
15260         * lib/regcomp.c (parse_reg_exp): Deallocate partially
15261         constructed tree before returning error.
15263 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
15265         announce-gen: avoid perl warnings
15266         * build-aux/announce-gen: add two minor checks to avoid
15267         "use of uninitialized value" warnings when command-line parameters are
15268         missing.
15270 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
15272         localename: avoid -Wsuggest-attribute={const,pure} warnings
15273         * lib/localename.c (string_has): Tag internal function as pure.
15274         * lib/localename.h (gl_locale_name_default): Tag extern declaration
15275         as const when appropriate.
15277 2014-07-10  Eli Zaretskii  <eliz@gnu.org>
15279         nl_langinfo: Fix last change.
15280         * lib/nl_langinfo.c (includes): Drop redundant include.
15282 2014-07-10  Siddhesh Poyarekar  <siddhesh@redhat.com>
15284         error: Fix -Wundef warnings in glibc
15285         * lib/error.c [_LIBC]: Define default macros for
15286         glibc.
15287         (print_errno_message) [defined HAVE_STRERROR_R || _LIBC]:
15288         Check _LIBC before STRERROR_R_CHAR_P.
15290         error: Sync from glibc master
15291         * lib/error.c [_LIBC]: Remove INTUSE usage.
15292         (error_tail): Remove unused macro ALLOCA_LIMIT.
15293         Fix potential buffer overflow.  Fix potential NULL dereference
15294         in strcmp.
15296 2014-07-09  Pavel Hrdina  <phrdina@redhat.com> (tiny change)
15298         nl_langinfo: fix build under mingw
15299         * lib/nl_langinfo.c (includes): Pick up <windows.h> for GetACP().
15301 2014-07-09  Andrew D Warshall  <warshall@99main.com>
15303         mountlist: do not classify a bind-mounted dir entry as "dummy"
15304         * m4/ls-mntd-fs.m4: Check for hasmntopt() on platforms with
15305         1-argument getmntent() (instead of assuming absence).
15307 2014-07-08  Eric Blake  <eblake@redhat.com>
15309         maint.mk: less syntax-check noise when SIGPIPE is ignored
15310         * top/maint.mk (_sc_header_without_use)
15311         (sc_require_config_h_first): Parse full list.
15313 2014-07-07  Eli Zaretskii  <eliz@gnu.org>
15314             Paul Eggert  <eggert@cs.ucla.edu>
15316         nl_langinfo: CODESET on MS-Windows and more items from localeconv
15317         * lib/langinfo.in.h (DECIMAL_POINT, THOUSANDS_SEP, GROUPING)
15318         (CURRENCY_SYMBOL, INT_CURR_SYMBOL, MON_DECIMAL_POINT)
15319         (MON_THOUSANDS_SEP, MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN)
15320         (FRAC_DIGITS, INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES)
15321         (P_SEP_BY_SPACE, N_SEP_BY_SPACE, P_SIGN_POSN, N_SIGN_POSN): Define.
15322         * lib/nl_langinfo.c: Include <locale.h> and <string.h> early.
15323         Include <stdio.h> if Microsoft Windows.
15324         Include <time.h> if !REPLACE_NL_LANGINFO.
15325         (ctype_codeset): New function, taken from rpl_nl_langinfo,
15326         and with improvements for Microsoft Windows.
15327         (rpl_nl_langinfo): Use it.
15328         (nl_langinfo) [!REPLACE_NL_LANGINFO]: Likewise.
15329         Compute the values of RADIXCHAR, THOUSEP, GROUPING, CRNCYSTR,
15330         INT_CURR_SYMBOL, MON_DECIMAL_POINT, MON_THOUSANDS_SEP,
15331         MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN, FRAC_DIGITS,
15332         INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES, P_SEP_BY_SPACE,
15333         N_SEP_BY_SPACE, P_SIGN_POSN, and N_SIGN_POSN from the
15334         corresponding values returned by 'localeconv'.  Compute the values
15335         of AM_STR, PM_STR, DAY_n, ABDAY_n, MON_n, and ABMON_n by calling
15336         'strftime' with a suitable struct tm value.
15338 2014-07-05  Paul Eggert  <eggert@cs.ucla.edu>
15340         Bruno Haible has stepped down as maintainer.
15341         See Karl Berry in:
15342         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00004.html
15343         Daiki Ueno has volunteered to maintain libunistring; see:
15344         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00005.html
15345         * modules/gen-uni-tables, modules/libunistring:
15346         * modules/libunistring-optional, modules/ucs4-utf16, modules/ucs4-utf8:
15347         * modules/unicase/base, modules/unicase/cased:
15348         * modules/unicase/empty-prefix-context:
15349         * modules/unicase/empty-suffix-context, modules/unicase/ignorable:
15350         * modules/unicase/locale-language, modules/unicase/special-casing:
15351         * modules/unicase/tocasefold, modules/unicase/tolower:
15352         * modules/unicase/totitle, modules/unicase/toupper:
15353         * modules/unicase/u16-casecmp, modules/unicase/u16-casecoll:
15354         * modules/unicase/u16-casefold, modules/unicase/u16-casemap:
15355         * modules/unicase/u16-casexfrm, modules/unicase/u16-ct-casefold:
15356         * modules/unicase/u16-ct-tolower, modules/unicase/u16-ct-totitle:
15357         * modules/unicase/u16-ct-toupper, modules/unicase/u16-is-cased:
15358         * modules/unicase/u16-is-casefolded, modules/unicase/u16-is-invariant:
15359         * modules/unicase/u16-is-lowercase, modules/unicase/u16-is-titlecase:
15360         * modules/unicase/u16-is-uppercase, modules/unicase/u16-prefix-context:
15361         * modules/unicase/u16-suffix-context, modules/unicase/u16-tolower:
15362         * modules/unicase/u16-totitle, modules/unicase/u16-toupper:
15363         * modules/unicase/u32-casecmp, modules/unicase/u32-casecoll:
15364         * modules/unicase/u32-casefold, modules/unicase/u32-casemap:
15365         * modules/unicase/u32-casexfrm, modules/unicase/u32-ct-casefold:
15366         * modules/unicase/u32-ct-tolower, modules/unicase/u32-ct-totitle:
15367         * modules/unicase/u32-ct-toupper, modules/unicase/u32-is-cased:
15368         * modules/unicase/u32-is-casefolded, modules/unicase/u32-is-invariant:
15369         * modules/unicase/u32-is-lowercase, modules/unicase/u32-is-titlecase:
15370         * modules/unicase/u32-is-uppercase, modules/unicase/u32-prefix-context:
15371         * modules/unicase/u32-suffix-context, modules/unicase/u32-tolower:
15372         * modules/unicase/u32-totitle, modules/unicase/u32-toupper:
15373         * modules/unicase/u8-casecmp, modules/unicase/u8-casecoll:
15374         * modules/unicase/u8-casefold, modules/unicase/u8-casemap:
15375         * modules/unicase/u8-casexfrm, modules/unicase/u8-ct-casefold:
15376         * modules/unicase/u8-ct-tolower, modules/unicase/u8-ct-totitle:
15377         * modules/unicase/u8-ct-toupper, modules/unicase/u8-is-cased:
15378         * modules/unicase/u8-is-casefolded, modules/unicase/u8-is-invariant:
15379         * modules/unicase/u8-is-lowercase, modules/unicase/u8-is-titlecase:
15380         * modules/unicase/u8-is-uppercase, modules/unicase/u8-prefix-context:
15381         * modules/unicase/u8-suffix-context, modules/unicase/u8-tolower:
15382         * modules/unicase/u8-totitle, modules/unicase/u8-toupper:
15383         * modules/unicase/ulc-casecmp, modules/unicase/ulc-casecoll:
15384         * modules/unicase/ulc-casexfrm, modules/unicodeio:
15385         * modules/uniconv/base, modules/uniconv/u16-conv-from-enc:
15386         * modules/uniconv/u16-conv-to-enc:
15387         * modules/uniconv/u16-strconv-from-enc:
15388         * modules/uniconv/u16-strconv-from-locale:
15389         * modules/uniconv/u16-strconv-to-enc:
15390         * modules/uniconv/u16-strconv-to-locale:
15391         * modules/uniconv/u32-conv-from-enc, modules/uniconv/u32-conv-to-enc:
15392         * modules/uniconv/u32-strconv-from-enc:
15393         * modules/uniconv/u32-strconv-from-locale:
15394         * modules/uniconv/u32-strconv-to-enc:
15395         * modules/uniconv/u32-strconv-to-locale:
15396         * modules/uniconv/u8-conv-from-enc, modules/uniconv/u8-conv-to-enc:
15397         * modules/uniconv/u8-strconv-from-enc:
15398         * modules/uniconv/u8-strconv-from-locale:
15399         * modules/uniconv/u8-strconv-to-enc:
15400         * modules/uniconv/u8-strconv-to-locale, modules/unictype/base:
15401         * modules/unictype/bidicategory-all:
15402         * modules/unictype/bidicategory-byname:
15403         * modules/unictype/bidicategory-name, modules/unictype/bidicategory-of:
15404         * modules/unictype/bidicategory-test, modules/unictype/bidiclass-all:
15405         * modules/unictype/bidiclass-byname:
15406         * modules/unictype/bidiclass-longname, modules/unictype/bidiclass-name:
15407         * modules/unictype/bidiclass-of, modules/unictype/bidiclass-test:
15408         * modules/unictype/block-all, modules/unictype/block-list:
15409         * modules/unictype/block-of, modules/unictype/block-test:
15410         * modules/unictype/category-C, modules/unictype/category-Cc:
15411         * modules/unictype/category-Cf, modules/unictype/category-Cn:
15412         * modules/unictype/category-Co, modules/unictype/category-Cs:
15413         * modules/unictype/category-L, modules/unictype/category-LC:
15414         * modules/unictype/category-Ll, modules/unictype/category-Lm:
15415         * modules/unictype/category-Lo, modules/unictype/category-Lt:
15416         * modules/unictype/category-Lu, modules/unictype/category-M:
15417         * modules/unictype/category-Mc, modules/unictype/category-Me:
15418         * modules/unictype/category-Mn, modules/unictype/category-N:
15419         * modules/unictype/category-Nd, modules/unictype/category-Nl:
15420         * modules/unictype/category-No, modules/unictype/category-P:
15421         * modules/unictype/category-Pc, modules/unictype/category-Pd:
15422         * modules/unictype/category-Pe, modules/unictype/category-Pf:
15423         * modules/unictype/category-Pi, modules/unictype/category-Po:
15424         * modules/unictype/category-Ps, modules/unictype/category-S:
15425         * modules/unictype/category-Sc, modules/unictype/category-Sk:
15426         * modules/unictype/category-Sm, modules/unictype/category-So:
15427         * modules/unictype/category-Z, modules/unictype/category-Zl:
15428         * modules/unictype/category-Zp, modules/unictype/category-Zs:
15429         * modules/unictype/category-all, modules/unictype/category-and:
15430         * modules/unictype/category-and-not, modules/unictype/category-byname:
15431         * modules/unictype/category-longname, modules/unictype/category-name:
15432         * modules/unictype/category-none, modules/unictype/category-of:
15433         * modules/unictype/category-or, modules/unictype/category-test:
15434         * modules/unictype/category-test-withtable:
15435         * modules/unictype/combining-class:
15436         * modules/unictype/combining-class-all:
15437         * modules/unictype/combining-class-byname:
15438         * modules/unictype/combining-class-longname:
15439         * modules/unictype/combining-class-name, modules/unictype/ctype-alnum:
15440         * modules/unictype/ctype-alpha, modules/unictype/ctype-blank:
15441         * modules/unictype/ctype-cntrl, modules/unictype/ctype-digit:
15442         * modules/unictype/ctype-graph, modules/unictype/ctype-lower:
15443         * modules/unictype/ctype-print, modules/unictype/ctype-punct:
15444         * modules/unictype/ctype-space, modules/unictype/ctype-upper:
15445         * modules/unictype/ctype-xdigit, modules/unictype/decimal-digit:
15446         * modules/unictype/digit, modules/unictype/joininggroup-all:
15447         * modules/unictype/joininggroup-byname:
15448         * modules/unictype/joininggroup-name, modules/unictype/joininggroup-of:
15449         * modules/unictype/joiningtype-all:
15450         * modules/unictype/joiningtype-byname:
15451         * modules/unictype/joiningtype-longname:
15452         * modules/unictype/joiningtype-name, modules/unictype/joiningtype-of:
15453         * modules/unictype/mirror, modules/unictype/numeric:
15454         * modules/unictype/property-all, modules/unictype/property-alphabetic:
15455         * modules/unictype/property-ascii-hex-digit:
15456         * modules/unictype/property-bidi-arabic-digit:
15457         * modules/unictype/property-bidi-arabic-right-to-left:
15458         * modules/unictype/property-bidi-block-separator:
15459         * modules/unictype/property-bidi-boundary-neutral:
15460         * modules/unictype/property-bidi-common-separator:
15461         * modules/unictype/property-bidi-control:
15462         * modules/unictype/property-bidi-embedding-or-override:
15463         * modules/unictype/property-bidi-eur-num-separator:
15464         * modules/unictype/property-bidi-eur-num-terminator:
15465         * modules/unictype/property-bidi-european-digit:
15466         * modules/unictype/property-bidi-hebrew-right-to-left:
15467         * modules/unictype/property-bidi-left-to-right:
15468         * modules/unictype/property-bidi-non-spacing-mark:
15469         * modules/unictype/property-bidi-other-neutral:
15470         * modules/unictype/property-bidi-pdf:
15471         * modules/unictype/property-bidi-segment-separator:
15472         * modules/unictype/property-bidi-whitespace:
15473         * modules/unictype/property-byname:
15474         * modules/unictype/property-case-ignorable:
15475         * modules/unictype/property-cased:
15476         * modules/unictype/property-changes-when-casefolded:
15477         * modules/unictype/property-changes-when-casemapped:
15478         * modules/unictype/property-changes-when-lowercased:
15479         * modules/unictype/property-changes-when-titlecased:
15480         * modules/unictype/property-changes-when-uppercased:
15481         * modules/unictype/property-combining:
15482         * modules/unictype/property-composite:
15483         * modules/unictype/property-currency-symbol:
15484         * modules/unictype/property-dash:
15485         * modules/unictype/property-decimal-digit:
15486         * modules/unictype/property-default-ignorable-code-point:
15487         * modules/unictype/property-deprecated:
15488         * modules/unictype/property-diacritic:
15489         * modules/unictype/property-extender:
15490         * modules/unictype/property-format-control:
15491         * modules/unictype/property-grapheme-base:
15492         * modules/unictype/property-grapheme-extend:
15493         * modules/unictype/property-grapheme-link:
15494         * modules/unictype/property-hex-digit:
15495         * modules/unictype/property-hyphen:
15496         * modules/unictype/property-id-continue:
15497         * modules/unictype/property-id-start:
15498         * modules/unictype/property-ideographic:
15499         * modules/unictype/property-ids-binary-operator:
15500         * modules/unictype/property-ids-trinary-operator:
15501         * modules/unictype/property-ignorable-control:
15502         * modules/unictype/property-iso-control:
15503         * modules/unictype/property-join-control:
15504         * modules/unictype/property-left-of-pair:
15505         * modules/unictype/property-line-separator:
15506         * modules/unictype/property-logical-order-exception:
15507         * modules/unictype/property-lowercase, modules/unictype/property-math:
15508         * modules/unictype/property-non-break:
15509         * modules/unictype/property-not-a-character:
15510         * modules/unictype/property-numeric:
15511         * modules/unictype/property-other-alphabetic:
15512         * modules/unictype/property-other-default-ignorable-code-point:
15513         * modules/unictype/property-other-grapheme-extend:
15514         * modules/unictype/property-other-id-continue:
15515         * modules/unictype/property-other-id-start:
15516         * modules/unictype/property-other-lowercase:
15517         * modules/unictype/property-other-math:
15518         * modules/unictype/property-other-uppercase:
15519         * modules/unictype/property-paired-punctuation:
15520         * modules/unictype/property-paragraph-separator:
15521         * modules/unictype/property-pattern-syntax:
15522         * modules/unictype/property-pattern-white-space:
15523         * modules/unictype/property-private-use:
15524         * modules/unictype/property-punctuation:
15525         * modules/unictype/property-quotation-mark:
15526         * modules/unictype/property-radical:
15527         * modules/unictype/property-sentence-terminal:
15528         * modules/unictype/property-soft-dotted:
15529         * modules/unictype/property-space:
15530         * modules/unictype/property-terminal-punctuation:
15531         * modules/unictype/property-test, modules/unictype/property-titlecase:
15532         * modules/unictype/property-unassigned-code-value:
15533         * modules/unictype/property-unified-ideograph:
15534         * modules/unictype/property-uppercase:
15535         * modules/unictype/property-variation-selector:
15536         * modules/unictype/property-white-space:
15537         * modules/unictype/property-xid-continue:
15538         * modules/unictype/property-xid-start:
15539         * modules/unictype/property-zero-width, modules/unictype/scripts:
15540         * modules/unictype/scripts-all, modules/unictype/syntax-c-ident:
15541         * modules/unictype/syntax-c-whitespace:
15542         * modules/unictype/syntax-java-ident:
15543         * modules/unictype/syntax-java-whitespace, modules/unigbrk/base:
15544         * modules/unigbrk/u16-grapheme-breaks:
15545         * modules/unigbrk/u16-grapheme-next, modules/unigbrk/u16-grapheme-prev:
15546         * modules/unigbrk/u32-grapheme-breaks:
15547         * modules/unigbrk/u32-grapheme-next, modules/unigbrk/u32-grapheme-prev:
15548         * modules/unigbrk/u8-grapheme-breaks, modules/unigbrk/u8-grapheme-next:
15549         * modules/unigbrk/u8-grapheme-prev, modules/unigbrk/uc-gbrk-prop:
15550         * modules/unigbrk/uc-is-grapheme-break:
15551         * modules/unigbrk/ulc-grapheme-breaks, modules/unilbrk/base:
15552         * modules/unilbrk/tables, modules/unilbrk/u16-possible-linebreaks:
15553         * modules/unilbrk/u16-width-linebreaks:
15554         * modules/unilbrk/u32-possible-linebreaks:
15555         * modules/unilbrk/u32-width-linebreaks:
15556         * modules/unilbrk/u8-possible-linebreaks:
15557         * modules/unilbrk/u8-width-linebreaks, modules/unilbrk/ulc-common:
15558         * modules/unilbrk/ulc-possible-linebreaks:
15559         * modules/unilbrk/ulc-width-linebreaks, modules/uniname/base:
15560         * modules/uniname/uniname, modules/uninorm/base:
15561         * modules/uninorm/canonical-decomposition:
15562         * modules/uninorm/compat-decomposition, modules/uninorm/composition:
15563         * modules/uninorm/decompose-internal, modules/uninorm/decomposing-form:
15564         * modules/uninorm/decomposition, modules/uninorm/decomposition-table:
15565         * modules/uninorm/filter, modules/uninorm/nfc, modules/uninorm/nfd:
15566         * modules/uninorm/nfkc, modules/uninorm/nfkd:
15567         * modules/uninorm/u16-normalize, modules/uninorm/u16-normcmp:
15568         * modules/uninorm/u16-normcoll, modules/uninorm/u16-normxfrm:
15569         * modules/uninorm/u32-normalize, modules/uninorm/u32-normcmp:
15570         * modules/uninorm/u32-normcoll, modules/uninorm/u32-normxfrm:
15571         * modules/uninorm/u8-normalize, modules/uninorm/u8-normcmp:
15572         * modules/uninorm/u8-normcoll, modules/uninorm/u8-normxfrm:
15573         * modules/unistdio/base, modules/unistdio/u-printf-args:
15574         * modules/unistdio/u16-asnprintf, modules/unistdio/u16-asprintf:
15575         * modules/unistdio/u16-printf-parse, modules/unistdio/u16-snprintf:
15576         * modules/unistdio/u16-sprintf, modules/unistdio/u16-u16-asnprintf:
15577         * modules/unistdio/u16-u16-asprintf, modules/unistdio/u16-u16-snprintf:
15578         * modules/unistdio/u16-u16-sprintf:
15579         * modules/unistdio/u16-u16-vasnprintf:
15580         * modules/unistdio/u16-u16-vasprintf:
15581         * modules/unistdio/u16-u16-vsnprintf:
15582         * modules/unistdio/u16-u16-vsprintf, modules/unistdio/u16-vasnprintf:
15583         * modules/unistdio/u16-vasprintf, modules/unistdio/u16-vsnprintf:
15584         * modules/unistdio/u16-vsprintf, modules/unistdio/u32-asnprintf:
15585         * modules/unistdio/u32-asprintf, modules/unistdio/u32-printf-parse:
15586         * modules/unistdio/u32-snprintf, modules/unistdio/u32-sprintf:
15587         * modules/unistdio/u32-u32-asnprintf:
15588         * modules/unistdio/u32-u32-asprintf, modules/unistdio/u32-u32-snprintf:
15589         * modules/unistdio/u32-u32-sprintf:
15590         * modules/unistdio/u32-u32-vasnprintf:
15591         * modules/unistdio/u32-u32-vasprintf:
15592         * modules/unistdio/u32-u32-vsnprintf:
15593         * modules/unistdio/u32-u32-vsprintf, modules/unistdio/u32-vasnprintf:
15594         * modules/unistdio/u32-vasprintf, modules/unistdio/u32-vsnprintf:
15595         * modules/unistdio/u32-vsprintf, modules/unistdio/u8-asnprintf:
15596         * modules/unistdio/u8-asprintf, modules/unistdio/u8-printf-parse:
15597         * modules/unistdio/u8-snprintf, modules/unistdio/u8-sprintf:
15598         * modules/unistdio/u8-u8-asnprintf, modules/unistdio/u8-u8-asprintf:
15599         * modules/unistdio/u8-u8-snprintf, modules/unistdio/u8-u8-sprintf:
15600         * modules/unistdio/u8-u8-vasnprintf, modules/unistdio/u8-u8-vasprintf:
15601         * modules/unistdio/u8-u8-vsnprintf, modules/unistdio/u8-u8-vsprintf:
15602         * modules/unistdio/u8-vasnprintf, modules/unistdio/u8-vasprintf:
15603         * modules/unistdio/u8-vsnprintf, modules/unistdio/u8-vsprintf:
15604         * modules/unistdio/ulc-asnprintf, modules/unistdio/ulc-asprintf:
15605         * modules/unistdio/ulc-fprintf, modules/unistdio/ulc-printf-parse:
15606         * modules/unistdio/ulc-snprintf, modules/unistdio/ulc-sprintf:
15607         * modules/unistdio/ulc-vasnprintf, modules/unistdio/ulc-vasprintf:
15608         * modules/unistdio/ulc-vfprintf, modules/unistdio/ulc-vsnprintf:
15609         * modules/unistdio/ulc-vsprintf, modules/unistr/base:
15610         * modules/unistr/u16-check, modules/unistr/u16-chr:
15611         * modules/unistr/u16-cmp, modules/unistr/u16-cmp2:
15612         * modules/unistr/u16-cpy, modules/unistr/u16-cpy-alloc:
15613         * modules/unistr/u16-endswith, modules/unistr/u16-mblen:
15614         * modules/unistr/u16-mbsnlen, modules/unistr/u16-mbtouc:
15615         * modules/unistr/u16-mbtouc-unsafe, modules/unistr/u16-mbtoucr:
15616         * modules/unistr/u16-move, modules/unistr/u16-next:
15617         * modules/unistr/u16-prev, modules/unistr/u16-set:
15618         * modules/unistr/u16-startswith, modules/unistr/u16-stpcpy:
15619         * modules/unistr/u16-stpncpy, modules/unistr/u16-strcat:
15620         * modules/unistr/u16-strchr, modules/unistr/u16-strcmp:
15621         * modules/unistr/u16-strcoll, modules/unistr/u16-strcpy:
15622         * modules/unistr/u16-strcspn, modules/unistr/u16-strdup:
15623         * modules/unistr/u16-strlen, modules/unistr/u16-strmblen:
15624         * modules/unistr/u16-strmbtouc, modules/unistr/u16-strncat:
15625         * modules/unistr/u16-strncmp, modules/unistr/u16-strncpy:
15626         * modules/unistr/u16-strnlen, modules/unistr/u16-strpbrk:
15627         * modules/unistr/u16-strrchr, modules/unistr/u16-strspn:
15628         * modules/unistr/u16-strstr, modules/unistr/u16-strtok:
15629         * modules/unistr/u16-to-u32, modules/unistr/u16-to-u8:
15630         * modules/unistr/u16-uctomb, modules/unistr/u32-check:
15631         * modules/unistr/u32-chr, modules/unistr/u32-cmp:
15632         * modules/unistr/u32-cmp2, modules/unistr/u32-cpy:
15633         * modules/unistr/u32-cpy-alloc, modules/unistr/u32-endswith:
15634         * modules/unistr/u32-mblen, modules/unistr/u32-mbsnlen:
15635         * modules/unistr/u32-mbtouc, modules/unistr/u32-mbtouc-unsafe:
15636         * modules/unistr/u32-mbtoucr, modules/unistr/u32-move:
15637         * modules/unistr/u32-next, modules/unistr/u32-prev:
15638         * modules/unistr/u32-set, modules/unistr/u32-startswith:
15639         * modules/unistr/u32-stpcpy, modules/unistr/u32-stpncpy:
15640         * modules/unistr/u32-strcat, modules/unistr/u32-strchr:
15641         * modules/unistr/u32-strcmp, modules/unistr/u32-strcoll:
15642         * modules/unistr/u32-strcpy, modules/unistr/u32-strcspn:
15643         * modules/unistr/u32-strdup, modules/unistr/u32-strlen:
15644         * modules/unistr/u32-strmblen, modules/unistr/u32-strmbtouc:
15645         * modules/unistr/u32-strncat, modules/unistr/u32-strncmp:
15646         * modules/unistr/u32-strncpy, modules/unistr/u32-strnlen:
15647         * modules/unistr/u32-strpbrk, modules/unistr/u32-strrchr:
15648         * modules/unistr/u32-strspn, modules/unistr/u32-strstr:
15649         * modules/unistr/u32-strtok, modules/unistr/u32-to-u16:
15650         * modules/unistr/u32-to-u8, modules/unistr/u32-uctomb:
15651         * modules/unistr/u8-check, modules/unistr/u8-chr:
15652         * modules/unistr/u8-cmp, modules/unistr/u8-cmp2, modules/unistr/u8-cpy:
15653         * modules/unistr/u8-cpy-alloc, modules/unistr/u8-endswith:
15654         * modules/unistr/u8-mblen, modules/unistr/u8-mbsnlen:
15655         * modules/unistr/u8-mbtouc, modules/unistr/u8-mbtouc-unsafe:
15656         * modules/unistr/u8-mbtoucr, modules/unistr/u8-move:
15657         * modules/unistr/u8-next, modules/unistr/u8-prev:
15658         * modules/unistr/u8-set, modules/unistr/u8-startswith:
15659         * modules/unistr/u8-stpcpy, modules/unistr/u8-stpncpy:
15660         * modules/unistr/u8-strcat, modules/unistr/u8-strchr:
15661         * modules/unistr/u8-strcmp, modules/unistr/u8-strcoll:
15662         * modules/unistr/u8-strcpy, modules/unistr/u8-strcspn:
15663         * modules/unistr/u8-strdup, modules/unistr/u8-strlen:
15664         * modules/unistr/u8-strmblen, modules/unistr/u8-strmbtouc:
15665         * modules/unistr/u8-strncat, modules/unistr/u8-strncmp:
15666         * modules/unistr/u8-strncpy, modules/unistr/u8-strnlen:
15667         * modules/unistr/u8-strpbrk, modules/unistr/u8-strrchr:
15668         * modules/unistr/u8-strspn, modules/unistr/u8-strstr:
15669         * modules/unistr/u8-strtok, modules/unistr/u8-to-u16:
15670         * modules/unistr/u8-to-u32, modules/unistr/u8-uctomb, modules/unitypes:
15671         * modules/uniwbrk/base, modules/uniwbrk/table:
15672         * modules/uniwbrk/u16-wordbreaks, modules/uniwbrk/u32-wordbreaks:
15673         * modules/uniwbrk/u8-wordbreaks, modules/uniwbrk/ulc-wordbreaks:
15674         * modules/uniwbrk/wordbreak-property, modules/uniwidth/base:
15675         * modules/uniwidth/u16-strwidth, modules/uniwidth/u16-width:
15676         * modules/uniwidth/u32-strwidth, modules/uniwidth/u32-width:
15677         * modules/uniwidth/u8-strwidth, modules/uniwidth/u8-width:
15678         * modules/uniwidth/width, modules/utf16-ucs4:
15679         * modules/utf16-ucs4-unsafe, modules/utf8-ucs4:
15680         * modules/utf8-ucs4-unsafe:
15681         Change maintainer from Bruno Haible to Daiki Ueno.
15682         This is my guess at the libunistring modules; please feel free
15683         to fix if I guessed incorrectly.
15684         * modules/accept4, modules/acl, modules/acos, modules/acosf:
15685         * modules/alignof, modules/amemxfrm, modules/ansi-c++-opt:
15686         * modules/areadlink, modules/array-list, modules/array-mergesort:
15687         * modules/array-oset, modules/asin, modules/asinf, modules/astrxfrm:
15688         * modules/atan, modules/atan2, modules/atan2f, modules/atanf:
15689         * modules/avltree-list, modules/avltree-oset, modules/avltreehash-list:
15690         * modules/binary-io, modules/bison-i18n, modules/btowc:
15691         * modules/c-ctype, modules/c-strcase, modules/c-strcaseeq:
15692         * modules/c-strcasestr, modules/c-strstr, modules/calloc-posix:
15693         * modules/canonicalize-lgpl, modules/careadlinkat, modules/carray-list:
15694         * modules/cbrt, modules/cbrt-ieee, modules/cbrtf, modules/cbrtf-ieee:
15695         * modules/cbrtl, modules/cbrtl-ieee, modules/ceil, modules/ceil-ieee:
15696         * modules/ceilf, modules/ceilf-ieee, modules/ceill, modules/ceill-ieee:
15697         * modules/chdir, modules/classpath, modules/clean-temp, modules/close:
15698         * modules/closedir, modules/concat-filename, modules/copy-file:
15699         * modules/copysign, modules/copysignf, modules/copysignl, modules/cos:
15700         * modules/cosf, modules/cosh, modules/coshf, modules/csharpcomp:
15701         * modules/csharpcomp-script, modules/csharpexec:
15702         * modules/csharpexec-script, modules/ctype, modules/diffseq:
15703         * modules/dprintf, modules/dprintf-posix, modules/dup:
15704         * modules/dup2-obsolete, modules/dup3, modules/duplocale:
15705         * modules/eealloc, modules/environ, modules/erf, modules/erfc:
15706         * modules/errno, modules/execute, modules/exp, modules/exp-ieee:
15707         * modules/exp2, modules/exp2-ieee, modules/exp2f, modules/exp2f-ieee:
15708         * modules/exp2l, modules/exp2l-ieee, modules/expf, modules/expf-ieee:
15709         * modules/expl, modules/expl-ieee, modules/expm1, modules/expm1-ieee:
15710         * modules/expm1f, modules/expm1f-ieee, modules/expm1l:
15711         * modules/expm1l-ieee, modules/fabs, modules/fabs-ieee, modules/fabsf:
15712         * modules/fabsf-ieee, modules/fabsl, modules/fabsl-ieee:
15713         * modules/fatal-signal, modules/fbufmode, modules/fchdir:
15714         * modules/fclose, modules/fd-hook, modules/fdopen, modules/filename:
15715         * modules/findprog, modules/findprog-lgpl, modules/floor:
15716         * modules/floor-ieee, modules/floorf, modules/floorf-ieee:
15717         * modules/floorl, modules/floorl-ieee, modules/fma, modules/fma-ieee:
15718         * modules/fmaf, modules/fmaf-ieee, modules/fmal, modules/fmal-ieee:
15719         * modules/fmod, modules/fmod-ieee, modules/fmodf, modules/fmodf-ieee:
15720         * modules/fmodl, modules/fmodl-ieee, modules/fopen, modules/fpieee:
15721         * modules/fprintf-posix, modules/fpucw, modules/fpurge:
15722         * modules/freadable, modules/freadahead, modules/freadptr:
15723         * modules/freadseek, modules/freopen, modules/frexp:
15724         * modules/frexp-ieee, modules/frexp-nolibm, modules/frexpf:
15725         * modules/frexpf-ieee, modules/frexpl, modules/frexpl-ieee:
15726         * modules/frexpl-nolibm, modules/fseek, modules/fseeko:
15727         * modules/fseterr, modules/fstat, modules/fstrcmp, modules/ftell:
15728         * modules/ftello, modules/full-read, modules/full-write:
15729         * modules/fwritable, modules/fwriteerror, modules/gcd:
15730         * modules/get-rusage-as, modules/get-rusage-data:
15731         * modules/getdtablesize, modules/getrusage, modules/gettext:
15732         * modules/gettext-h, modules/git-merge-changelog, modules/gperf:
15733         * modules/grantpt, modules/havelib, modules/host-cpu-c-abi:
15734         * modules/hostent, modules/hypot, modules/hypot-ieee, modules/hypotf:
15735         * modules/hypotf-ieee, modules/hypotl, modules/hypotl-ieee:
15736         * modules/iconv, modules/iconv-h, modules/iconv_open:
15737         * modules/iconv_open-utf, modules/idpriv-drop, modules/idpriv-droptemp:
15738         * modules/ilogb, modules/ilogbf, modules/ilogbl, modules/imaxabs:
15739         * modules/imaxdiv, modules/integer_length, modules/integer_length_l:
15740         * modules/integer_length_ll, modules/ioctl, modules/isatty:
15741         * modules/isblank, modules/isnand, modules/isnand-nolibm:
15742         * modules/isnanf, modules/isnanf-nolibm, modules/isnanl:
15743         * modules/isnanl-nolibm, modules/iswblank, modules/iswctype:
15744         * modules/j0, modules/j1, modules/javacomp, modules/javacomp-script:
15745         * modules/javaexec, modules/javaexec-script, modules/javaversion:
15746         * modules/jn, modules/langinfo, modules/ldd, modules/ldexp:
15747         * modules/ldexp-ieee, modules/ldexpf, modules/ldexpf-ieee:
15748         * modules/ldexpl, modules/ldexpl-ieee, modules/lgamma:
15749         * modules/lib-symbol-visibility, modules/libsigsegv:
15750         * modules/linked-list, modules/linkedhash-list, modules/list:
15751         * modules/localcharset, modules/locale, modules/localeconv:
15752         * modules/localename, modules/lock, modules/log, modules/log-ieee:
15753         * modules/log10, modules/log10-ieee, modules/log10f:
15754         * modules/log10f-ieee, modules/log10l, modules/log10l-ieee:
15755         * modules/log1p, modules/log1p-ieee, modules/log1pf:
15756         * modules/log1pf-ieee, modules/log1pl, modules/log1pl-ieee:
15757         * modules/log2, modules/log2-ieee, modules/log2f, modules/log2f-ieee:
15758         * modules/log2l, modules/log2l-ieee, modules/logb, modules/logb-ieee:
15759         * modules/logbf, modules/logbf-ieee, modules/logbl, modules/logbl-ieee:
15760         * modules/logf, modules/logf-ieee, modules/login_tty:
15761         * modules/logl-ieee, modules/malloc-posix, modules/malloca:
15762         * modules/mbchar, modules/mbfile, modules/mbiter, modules/mbmemcasecmp:
15763         * modules/mbmemcasecoll, modules/mbrlen, modules/mbrtowc:
15764         * modules/mbscasecmp, modules/mbscasestr, modules/mbschr:
15765         * modules/mbscspn, modules/mbsinit, modules/mbslen:
15766         * modules/mbsncasecmp, modules/mbsnlen, modules/mbsnrtowcs:
15767         * modules/mbspbrk, modules/mbspcasecmp, modules/mbsrchr:
15768         * modules/mbsrtowcs, modules/mbssep, modules/mbsspn, modules/mbsstr:
15769         * modules/mbstok_r, modules/mbswidth, modules/mbtowc, modules/mbuiter:
15770         * modules/memchr-obsolete, modules/memcmp2, modules/minmax:
15771         * modules/mkdtemp, modules/mkostemp, modules/mktime-internal:
15772         * modules/modf, modules/modf-ieee, modules/modff, modules/modff-ieee:
15773         * modules/modfl, modules/modfl-ieee, modules/msvc-inval:
15774         * modules/msvc-nothrow, modules/multiarch, modules/nextafter:
15775         * modules/nl_langinfo, modules/no-c++, modules/nocrash:
15776         * modules/nonblocking, modules/open, modules/opendir, modules/openmp:
15777         * modules/oset, modules/pclose, modules/pipe, modules/pipe-filter-gi:
15778         * modules/pipe-filter-ii, modules/pipe2, modules/poll-h:
15779         * modules/posix_spawn, modules/posix_spawn-internal:
15780         * modules/posix_spawn_file_actions_addclose:
15781         * modules/posix_spawn_file_actions_adddup2:
15782         * modules/posix_spawn_file_actions_addopen:
15783         * modules/posix_spawn_file_actions_destroy:
15784         * modules/posix_spawn_file_actions_init:
15785         * modules/posix_spawnattr_destroy, modules/posix_spawnattr_getflags:
15786         * modules/posix_spawnattr_getpgroup:
15787         * modules/posix_spawnattr_getschedparam:
15788         * modules/posix_spawnattr_getschedpolicy:
15789         * modules/posix_spawnattr_getsigdefault:
15790         * modules/posix_spawnattr_getsigmask, modules/posix_spawnattr_init:
15791         * modules/posix_spawnattr_setflags, modules/posix_spawnattr_setpgroup:
15792         * modules/posix_spawnattr_setschedparam:
15793         * modules/posix_spawnattr_setschedpolicy:
15794         * modules/posix_spawnattr_setsigdefault:
15795         * modules/posix_spawnattr_setsigmask, modules/posix_spawnp:
15796         * modules/pow, modules/powf, modules/printf-frexp:
15797         * modules/printf-frexpl, modules/printf-posix, modules/printf-safe:
15798         * modules/progname, modules/propername, modules/pselect:
15799         * modules/pthread_sigmask, modules/ptsname, modules/ptsname_r:
15800         * modules/qacl, modules/quotearg-simple, modules/raise, modules/random:
15801         * modules/rbtree-list, modules/rbtree-oset, modules/rbtreehash-list:
15802         * modules/read, modules/readdir, modules/readlink:
15803         * modules/realloc-posix, modules/regex-quote, modules/relocatable-lib:
15804         * modules/relocatable-lib-lgpl, modules/relocatable-perl:
15805         * modules/relocatable-prog, modules/relocatable-prog-wrapper:
15806         * modules/relocatable-script, modules/remainder:
15807         * modules/remainder-ieee, modules/remainderf, modules/remainderf-ieee:
15808         * modules/remainderl, modules/remainderl-ieee, modules/rewinddir:
15809         * modules/rint, modules/rint-ieee, modules/rintf, modules/rintf-ieee:
15810         * modules/rintl, modules/rintl-ieee, modules/round-ieee:
15811         * modules/roundf-ieee, modules/roundl-ieee, modules/safe-read:
15812         * modules/safe-write, modules/sched, modules/servent, modules/setenv:
15813         * modules/setlocale, modules/sh-quote, modules/shutdown:
15814         * modules/signal, modules/signbit, modules/sigpipe:
15815         * modules/sigpipe-die, modules/sigprocmask, modules/sin, modules/sinf:
15816         * modules/sinh, modules/sinhf, modules/size_max, modules/sleep:
15817         * modules/snippet/arg-nonnull, modules/snippet/c++defs:
15818         * modules/snippet/link-warning, modules/snippet/unused-parameter:
15819         * modules/snprintf, modules/snprintf-posix, modules/spawn:
15820         * modules/spawn-pipe, modules/sprintf-posix, modules/sqrt:
15821         * modules/sqrt-ieee, modules/sqrtf, modules/sqrtf-ieee:
15822         * modules/sqrtl-ieee, modules/stdalign, modules/stdarg:
15823         * modules/stdbool, modules/stpcpy, modules/stpncpy, modules/strcase:
15824         * modules/strcasestr, modules/strcasestr-simple, modules/strcspn:
15825         * modules/streq, modules/strerror_r-posix, modules/striconv:
15826         * modules/striconveh, modules/striconveha, modules/strncat:
15827         * modules/strnlen1, modules/strpbrk, modules/strtod-obsolete:
15828         * modules/sublist, modules/sys_resource, modules/sys_utsname:
15829         * modules/sys_wait, modules/system-posix, modules/system-quote:
15830         * modules/tan, modules/tanf, modules/tanh, modules/tanhf:
15831         * modules/tcgetsid, modules/termios, modules/threadlib, modules/tls:
15832         * modules/tmpdir, modules/towctrans, modules/trunc, modules/trunc-ieee:
15833         * modules/truncf, modules/truncf-ieee, modules/truncl:
15834         * modules/truncl-ieee, modules/ttyname_r, modules/uname:
15835         * modules/unlockpt, modules/unsetenv, modules/vasnprintf:
15836         * modules/vasnprintf-posix, modules/vasprintf, modules/vasprintf-posix:
15837         * modules/vdprintf, modules/vdprintf-posix, modules/vfprintf-posix:
15838         * modules/vfscanf, modules/vma-iter, modules/vprintf-posix:
15839         * modules/vscanf, modules/vsnprintf-posix, modules/vsprintf-posix:
15840         * modules/wait-process, modules/waitpid, modules/wcpcpy:
15841         * modules/wcpncpy, modules/wcrtomb, modules/wcscasecmp, modules/wcscat:
15842         * modules/wcschr, modules/wcscmp, modules/wcscoll, modules/wcscpy:
15843         * modules/wcscspn, modules/wcsdup, modules/wcslen, modules/wcsncasecmp:
15844         * modules/wcsncat, modules/wcsncmp, modules/wcsncpy, modules/wcsnlen:
15845         * modules/wcsnrtombs, modules/wcspbrk, modules/wcsrchr:
15846         * modules/wcsrtombs, modules/wcsspn, modules/wcsstr, modules/wcstok:
15847         * modules/wcswidth, modules/wcsxfrm, modules/wctob, modules/wctomb:
15848         * modules/wctrans, modules/wctype, modules/wcwidth, modules/wmemchr:
15849         * modules/wmemcmp, modules/wmemcpy, modules/wmemmove, modules/wmemset:
15850         * modules/write, modules/xconcat-filename, modules/xlist:
15851         * modules/xmalloca, modules/xoset, modules/xprintf-posix:
15852         * modules/xreadlink, modules/xsetenv, modules/xsize, modules/xstriconv:
15853         * modules/xstriconveh, modules/xsublist, modules/xvasprintf-posix:
15854         * modules/y0, modules/y1, modules/yn:
15855         Remove Bruno Haible as maintainer; if he's the sole maintainer,
15856         change the maintainer to 'all'.  Let's hope someone volunteers.
15858 2014-06-27  Paul Eggert  <eggert@cs.ucla.edu>
15860         mktime: merge #if/#ifdef usage from glibc
15861         * lib/mktime.c: Use "#if defined DEBUG && DEBUG", not "#if DEBUG",
15862         as that works with both Glibc's and Gnulib's style.
15863         See thread starting at Siddhesh Poyarekar's bug report at:
15864         http://lists.gnu.org/r/bug-gnulib/2014-06/msg00102.html
15866 2014-06-20  Alfred M. Szmidt  <ams@gnu.org>
15868         git-version-gen: improve option descriptions
15869         * build-aux/git-version-gen: Mention that --prefix and --fallback
15870         have a mandatory argument.
15872 2014-06-19  Paul Eggert  <eggert@penguin.cs.ucla.edu>
15874         regex: fix memory leak in compiler
15875         Fix by Andreas Schwab in:
15876         https://sourceware.org/ml/libc-alpha/2014-06/msg00462.html
15877         * lib/regcomp.c (parse_expression): Deallocate partially
15878         constructed tree before returning error.
15880         regex: merge patch from libc
15881         2014-02-12  Joseph Myers  <joseph@codesourcery.com>
15882         Combine __USE_BSD and __USE_SVID into __USE_MISC.
15883         * lib/regex.h [__USE_BSD]: Change condition to [__USE_MISC].
15885 2014-06-17  Paul Eggert  <eggert@cs.ucla.edu>
15887         acl: port to gcc -Wredundant-decls
15888         From a request by Dmitry Antipov in:
15889         http://lists.gnu.org/r/emacs-devel/2014-06/msg00263.html
15890         * lib/acl.h (_GL_ACL_H): New macro.  Protect entire contents with
15891         "#ifndef _GL_ACL_H".
15893 2014-06-11  Bruce Korb  <bkorb@gnu.org>
15894         Jim Meyering  <meyering@fb.com>
15896         parse-duration: eliminate 68-year duration limit
15897         * lib/parse-duration.c: Include "intprops.h".
15898         (TIME_MAX): Rename to MAX_DURATION and define to
15899         TYPE_MAXIMUM(time_t).
15900         * modules/parse-duration (Depends-on): Add intprops.
15901         Reported by Jonas 'Sortie' Termansen.
15903 2014-06-14  Paul Eggert  <eggert@cs.ucla.edu>
15905         pthread: don't assume AC_CANONICAL_HOST, port better to Solaris, etc.
15906         * modules/pthread (Depends-on): Add 'extensions', as it defines
15907         _POSIX_PTHREAD_SEMANTICS, which is needed on Solaris.
15908         (configure.ac-early): New section.
15909         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, as
15910         it is no longer needed.
15912 2014-06-14  Pádraig Brady  <P@draigBrady.com>
15914         pthread: define thread-safe macros on some platforms
15915         * m4/pthread.m4 (gl_PTHREAD_CHECK): Define macros needed
15916         for thread-safe operation on some platforms.
15918 2014-06-13  Paul Eggert  <eggert@cs.ucla.edu>
15920         regex: don't be multithreaded if USE_UNLOCKED_IO.
15921         Problem reported by Michael Felt in: http://bugs.gnu.org/17773
15922         * lib/regex_internal.h: Do not use multithreaded version if
15923         USE_UNLOCKED_IO is defined.  This is a hack, but it works
15924         around a porting bug with coreutils 8.22 on AIX 7.1.
15926 2014-06-11  Daiki Ueno  <ueno@gnu.org>
15928         gettext: update macros to version 0.19
15929         * m4/intl.m4, m4/po.m4: Update from gettext-0.19.  In particular,
15930         depend on gl_EXTERN_INLINE and drop support for older Bison
15931         versions.
15933 2014-06-10  Pádraig Brady  <P@draigBrady.com>
15935         select,poll: fix console handle check on windows 8
15936         lib/poll.c (IsConsoleHandle): Change from testing the lower
15937         2 bits of the handle to the more expensive but accurate syscall.
15938         lib/select.c: Likewise.
15940 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
15942         select: fix waiting on anonymous pipes on MS-Windows
15943         * lib/select.c (rpl_select): Fall back to polling when select()
15944         indicates there is nothing to check, while due to the timeout not
15945         expiring, activity is indicated on one of the handles.
15946         Also clear the TIMEOUT argument if the timer does expire.
15948 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
15950         times: fix to return non constant value on MS-Windows
15951         * lib/times.c (times): Don't use the process creation time,
15952         rather clock() which on windows returns the number of
15953         clock ticks since the process started.
15955 2014-06-09  Michael Goffioul  <michael.goffioul@gmail.com>
15957         isatty: fix to work on windows 8
15958         * lib/isatty.c (IsConsoleHandle): Change from testing the lower
15959         2 bits of the handle to the more expensive but accurate syscall.
15961 2014-06-07  Paul Eggert  <eggert@cs.ucla.edu>
15963         maint: fix typo in fdl.texi
15964         * doc/fdl.texi: Fix typo (missing '@').
15965         Somehow this was in fdl.texi but not fdl-1.3.texi.
15967 2014-06-06  Ben Walton  <bdwalton@gmail.com>
15969         mountlist: avoid hasmntopt const type warning on solaris
15970         * lib/mountlist.c: Solaris defines the OPT param of hasmntopt()
15971         with char * instead of const char *.  Passing the constant string
15972         "ignore" generates a compiler warning.  For Solaris cast MNT_IGNORE
15973         to avoid the warning.
15975 2014-06-04  Eric Blake  <eblake@redhat.com>
15977         maintainer-makefile: delete obsolete code
15978         * top/maint.mk (build_aux): Drop old code, as threatened.
15980         maintainer-makefile: avoid spurious error messages
15981         * top/maint.mk (syntax-check): Guard definition and use of
15982         $(shell) by whether Makefile is present.
15984 2014-06-03  Ben Walton  <bdwalton@gmail.com>
15986         rename: avoid unused-but-set-variable compiler warning
15987         * lib/rename.c (rpl_rename):  In the non-Win32 variant of rpl_rename,
15988         it is possible that dst_exists may be set but not used.  Mark it with
15989         the unused attribute to avoid compiler warnings.
15991 2014-06-02  Ben Walton  <bdwalton@gmail.com>
15993         rename: mark a label as potentially unused
15994         * lib/rename.c (rpl_rename): Avoid compiler warnings seen on Solaris,
15995         by marking the out label as potentially unused.
15996         * m4/gnulib-common.m4: Mention the need for the trailing ; for C++.
15998 2014-06-01  Paul Eggert  <eggert@cs.ucla.edu>
16000         gnulib-common.m4: Fix typo in _GL_UNUSED_LABEL.
16001         * m4/gnulib-common.m4 (_GL_UNUSED_LABEL): Omit trailing semicolon.
16003 2014-06-02  Ben Walton  <bdwalton@gmail.com>
16005         acl: apply pure attribute to two functions
16006         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial):
16007         Mark as "pure" as flagged by gcc 4.9 on Solaris 10.
16009 2014-06-01  Pádraig Brady  <P@draigBrady.com>
16011         gnulib-common.m4: add _GL_UNUSED_LABEL
16012         * m4/gnulib-common.m4: Add _GL_UNUSED_LABEL which is similar to
16013         _GL_UNUSED, but handles g++ < 4.5 not supporting this syntax.
16015 2014-05-31  Paul Eggert  <eggert@cs.ucla.edu>
16017         dup2, fcntl, fcntl-h: port to AIX 7.1
16018         This fixes some porting problems discovered when testing the latest
16019         grep snapshot on AIX 7.1.  I don't think if fixes any bugs
16020         in grep but it could be important for other applications.
16021         * doc/posix-functions/dup2.texi:
16022         * doc/posix-functions/fcntl.texi:
16023         * doc/posix-headers/fcntl.texi:
16024         Document AIX bugs.
16025         * lib/fcntl.in.h (O_CLOEXEC, O_NOFOLLOW, O_TTY_INIT) [_AIX]:
16026         Define to 0 if outside 'int' range.
16027         * m4/dup2.m4 (gl_FUNC_DUP2):
16028         * m4/fcntl.m4 (gl_FUNC_FCNTL):
16029         Check for getdtablesize.  If it's available, test a value just
16030         outside its range instead of testing 1000000.  When cross-compiling,
16031         guess that AIX will fail this improved test.
16033 2014-05-30  Paul Eggert  <eggert@cs.ucla.edu>
16035         printf, config.rpath: Port to FreeBSD 10.
16036         Problem reported by Tijl Coosemans in:
16037         http://lists.gnu.org/r/bug-gnulib/2014-05/msg00078.html
16038         * build-aux/config.rpath (hardcode_libdir_flag_spec)
16039         (hardcode_direct): Simplify FreeBSD configuration.
16040         (library_names_spec): Don't mishandle FreeBSD 10+.
16041         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE)
16042         (gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_F)
16043         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99)
16044         (gl_SNPRINTF_DIRECTIVE_N, gl_VSNPRINTF_ZEROSIZE_C99):
16045         Don't mishandle FreeBSD 10+ when cross-compiling.
16047         ftoastr: work around compiler bug in IBM xlc 12.1
16048         * lib/ftoastr.h (_GL_FLT_PREC_BOUND, _GL_DBL_PREC_BOUND)
16049         (_GL_LDBL_PREC_BOUND): Make these macros, not enums, to work
16050         around a compiler bug in IBM xlc 12.1.0.0: it complains
16051         '"ftoastr.c", line 80.37: 1506-045 (S) Undeclared identifier
16052         _GL_FLT_PREC_BOUND.'
16054 2014-05-30  Kieran Colford  <colfordk@gmail.com>
16056         valgrind-tests: fixed misleading help message
16057         * m4/valgrind-tests.m4: The help message generated by configure
16058         implied that valgrind was disabled by default, which it wasn't.
16059         Adjusted the help message using s/enable/disable/ to clarify.
16061 2014-05-30  Ulrich Weigand  <uweigand@de.ibm.com>
16063         isfinite, isinf, isnan tests: fix for little-endian PowerPC
16064         * tests/test-isfinite.c (test_isfinitel): Only manipulate the
16065         first double of a PowerPC "double double" pair.
16066         * tests/test-isinf.c (test_isinfl): Likewise.
16067         * tests/test-isnan.c (test_long_double): Likewise.
16068         * tests/test-isnanl.h (main): Likewise.
16069         * tests/test-signbit.c (test_signbitl): Likewise.
16071 2014-05-29  Paul Eggert  <eggert@cs.ucla.edu>
16073         exclude-tests: port to AIX 7.1
16074         * modules/exclude-tests (test_exclude_LDADD): Add $(LIBTHREAD).
16075         Needed on AIX 7.1 with xlc V12.1, otherwise it won't link because
16076         the regex code uses locks.
16078 2014-05-28  Paul Eggert  <eggert@cs.ucla.edu>
16080         pthread_sigmask, timer-time: use gl_THREADLIB only if needed
16081         Without this fix, Emacs would sometimes call sigprocmask instead
16082         of pthread_sigmask, which is a no-no in multithreaded applications.
16083         Problem reported by Jorgen Schaefer in <http://bugs.gnu.org/17561>.
16084         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
16085         Suppress check for pthread_sigmask working without -lpthread if
16086         the application always links with -lpthread.  Do not link with
16087         $LIBMULTITHREAD if gl_THREADLIB is not defined.
16088         * m4/timer_time.m4 (gl_TIMER_TIME):
16089         Require gl_THREADLIB only if it is defined.  Do not append
16090         $LIBMULTITHREAD to LIB_TIMER_TIME if gl_THREADLIB is not defined.
16092 2014-05-27  Sylvain Beucler  <beuc@beuc.net>.
16094         gnulib-tool: wget translations using --no-verbose rather than --quiet
16095         This allows the user to see error messages if any (--quiet hides them)
16096         * gnulib-tool: Invoke wget with --no-verbose, rather than --quiet.
16098 2014-05-27  Sylvain Beucler  <beuc@beuc.net>
16100         gnulib-tool: adjust translation wget to avoid a https redirection
16101         Context: http://translationproject.org/latest/gnulib redirects to
16102            https://translationproject.org/latest/gnulib/
16103         Rationale: if the user falls back to wget, she doesn't have rsync and
16104         is probably in a minimal build environment, where packages such as
16105         'ca-certificates' are missing as well, resulting in a failed (and
16106         difficult to detect since ignored) translation initial fetch.
16107         Consequently let's avoid https if possible, and add the missing
16108         trailing slash.  This also avoids an unnecessary 302 redirection.
16109         * gnulib-tool: Add trailing slash to gnulib URL.
16111 2014-05-22  Pádraig Brady  <P@draigBrady.com>
16113         getlogin_r-tests: check return value rather than errno
16114         * tests/test-getlogin_r.c (main): As per POSIX we should be
16115         verifying the return value from getlogin_r() rather than errno.
16117 2014-05-22  Pádraig Brady  <P@draigBrady.com>
16119         getlogin_r-tests: fix various issues in recent change
16120         * tests/test-getlogin_r.c: Include required headers that were
16121         missed in recent commit eec20b4e.
16122         Also consistently check the errno rather than the return value from
16123         getlogin_r as POSIX only specifies that non zero is returned on error.
16124         * modules/getlogin_r-tests (configure.ac): Add the check for ttyname().
16126 2014-05-21  Paul Eggert  <eggert@cs.ucla.edu>
16128         fchdir: port 'open' and 'close' redefinitions to AIX 7.1
16129         * lib/chown.c, lib/clean-temp.c, lib/copy-file.c, lib/execute.c:
16130         * lib/fsusage.c, lib/gc-gnulib.c, lib/javacomp.c, lib/mountlist.c:
16131         * lib/openat-proc.c, lib/pagealign_alloc.c, lib/progreloc.c:
16132         * lib/spawn-pipe.c:
16133         Do not #undef 'open' and 'close'.  AIX 7 does '#define open open64'
16134         and then 'int open64(const char *, int, ...);', which means the
16135         declaration for 'open' gets lost if we later '#undef open'.
16136         Discovered while building grep pretest 2.18.151-1c770 on AIX 7.1,
16137         where the compilation reported the non-fatal error "In function
16138         'openat_proc_name' ... warning: implicit declaration of function
16139         'open'".  In this case the error is relatively harmless, but in
16140         other cases it might not be so minor.
16142 2014-05-20  Paul Eggert  <eggert@cs.ucla.edu>
16144         xalloc: don't potentially generate invalid code for xmemdup calls
16145         * lib/xalloc.h (xmemdup): Do not mark with _GL_ATTRIBUTE_ALLOC, as
16146         this function can initialize the newly-allocated storage with new
16147         pointers, which means this function is not malloc-like.  See:
16148         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56955
16150 2014-05-19  Pádraig Brady  <P@draigBrady.com>
16152         getlogin_r-tests: avoid false failure under sudo/ssh etc.
16153         * tests/test-getlogin_r.c (main): Sync up with test-getlogin.c
16154         changes from commit 97249cf29 to not depend on environment variables.
16156 2014-05-18  Pádraig Brady  <P@draigBrady.com>
16158         getlogin-tests: avoid false failure under cron
16159         * tests/test-getlogin.c (main): Avoid verifying errnos from ttyname()
16160         since that's not what's under test.  Centos 6 was seen to return
16161         EINVAL for ttyname() when run from cron.
16163 2014-05-16  Jim Meyering  <meyering@fb.com>
16165         mbrtowc.m4: fix a comment typo
16166         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Fix typo s/2/-2/ in
16167         emitted documentation string.
16169 2014-05-16  Paul Eggert  <eggert@cs.ucla.edu>
16171         mbrlen, mbrtowc: fix bug with empty input
16172         * lib/mbrtowc.c (rpl_mbrtowc) [MBRTOWC_EMPTY_INPUT_BUG]: Fix the bug.
16173         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): New macro.  It's not used,
16174         so this is mainly for documentation.
16175         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): New macro.
16176         (gl_FUNC_MBRTOWC): Use it.
16177         * tests/test-mbrtowc.c (main): Test for the bug.
16179 2014-05-15  Paul Eggert  <eggert@cs.ucla.edu>
16181         doc: document mbrtowc and mbrlen problem with empty input
16182         * doc/posix-functions/mbrlen.texi (mbrlen):
16183         * doc/posix-functions/mbrtowc.texi (mbrtowc):
16184         Document portability problem when the input string is empty.  See:
16185         https://sourceware.org/bugzilla/show_bug.cgi?id=16950
16187         doc: document exec* = spawn+exit bug with non-Cygwin Windows platforms
16188         Problem reported by Eli Zaretskii in:
16189         http://lists.gnu.org/r/bug-grep/2014-05/msg00118.html
16190         * doc/posix-functions/execl.texi (execl):
16191         * doc/posix-functions/execle.texi (execle):
16192         * doc/posix-functions/execlp.texi (execlp):
16193         * doc/posix-functions/execv.texi (execv):
16194         * doc/posix-functions/execve.texi (execve):
16195         * doc/posix-functions/execvp.texi (execvp):
16196         Mention spawn+exit problem on non-Cygwin Windows platforms.
16198 2014-05-14  Guilherme de Almeida Suckevicz  <guito.linux@gmail.com>
16200         getlogin-tests: avoid false failure under sudo/ssh etc.
16201         * modules/getlogin-tests (configure.ac): Check for ttyname().
16202         * tests/test-getlogin.c (main): Don't depend on environment variables
16203         to correlate with getlogin(), since sudo and ssh etc. can tamper
16204         with the LOGNAME and USER env vars.  Instead lookup the name from
16205         the uid associated with the stdin tty.
16207 2014-05-11  Paul Eggert  <eggert@cs.ucla.edu>
16209         mbsstr, quotearg, xstrtol: pacify IRIX 6.5 cc
16210         These were found when building the latest grep snapshot on IRIX 6.5.
16211         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Break "a=b=c;" into
16212         "b=c; a=b;", since IRIX 6.5 cc complains about the former if b is
16213         never used later.
16214         * lib/quotearg.c (quoting_options_from_style):
16215         * lib/xstrtol.c (__xstrtol):
16216         Use enum instead of 0, to pacify IRIX 6.5 cc.
16218 2014-04-18  Pádraig Brady  <P@draigBrady.com>
16220         gitlog-to-changelog: revert inclusion of git-log-fix file
16221         * build-aux/git-log-fix: Delete dummy file.
16222         * modules/gitlog-to-changelog: Don't reference (overwrite)
16223         the project specific git-log-fix file.
16225 2014-04-18  Assaf Gordon  <agordon@wi.mit.edu>
16227         maint.mk: Relax the copyright check to cater for non FSF projects
16228         * top/maint.mk (sc_copyright_check): Relax the check for $PACKAGE.texi
16229         to not require the "Free" suffix after the copyright years.
16231 2014-04-18  Natanael Copa  <ncopa@alpinelinux.org>
16233         physmem: use sysinfo on linux-gnu if _SC_PHYS_PAGES unavailable
16234         * lib/physmem.c (physmem_total): Some systems like musl libc don't yet
16235         support _SC_PHYS_PAGES.  Use the linux syscall sysinfo as fallback
16236         if _SC_PHYS_PAGES or _SC_PAGESIZE fails.
16237         (physmem_available): Likewise for _SC_AVPHYS_PAGES.
16239 2014-04-18  Paul Eggert  <eggert@cs.ucla.edu>
16241         exclude: port to strict C99
16242         Strict C does not allow converting a function pointer to void *
16243         and vice versa.  Pass a pointer to a function pointer instead.
16244         * lib/exclude.c (add_exclude_file):
16245         Pass the address of the function pointer.
16246         (call_addfn): And deference the address here, to match.
16248 2014-04-17  Paul Eggert  <eggert@cs.ucla.edu>
16250         regex: do not depend on malloc-gnu
16251         * modules/regex (Depends-on): Remove malloc-gnu.
16252         It's no longer needed, because of the 2012-12-29 patch
16253         "regex: port to hosts where malloc (0) == NULL".
16254         Reported by Nathan Kennedy in:
16255         http://lists.gnu.org/r/bug-gnulib/2014-04/msg00026.html
16257 2014-04-16  Assaf Gordon  <agordon@wi.mit.edu>
16259         expl: avoid incorrect expl(small_value) on OpenBSD 5.4
16260         * m4/expl.m4 (gl_FUNC_EXPL): Add a check for this condition.
16261         * doc/posix-functions/expl.texi: Mention the workaround.
16263 2014-04-12  Paul Eggert  <eggert@cs.ucla.edu>
16265         xalloc: allow x2nrealloc (P, PN, S) where P && !*PN
16266         * lib/xalloc.h (x2nrealloc): Extend slightly, to allow the current
16267         size to be zero even when the pointer is nonnull.  This
16268         accommodates the use case where P is malloc (0) and *PN is 0 on a
16269         host where malloc (0) yields nonnull.
16271 2014-04-09  Eric Blake  <eblake@redhat.com>
16273         fts: avoid unnecessary strlen calls
16274         * lib/fts.c (_D_EXACT_NAMLEN): Restore definition when needed.
16276 2014-04-09  Paul Eggert  <eggert@cs.ucla.edu>
16278         fts: avoid unnecessary strlen calls
16279         * lib/fts.c (fts_build): Go back to using _D_EXECT_NAMLEN
16280         when that can be faster than strlen.
16282 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
16284         fts: avoid unnecessary strlen calls
16285         * lib/fts.c (_D_EXACT_NAMLEN): Remove macro.
16286         (fts_build): Store the length of the dp->d_name entry in a local variable
16287         instead of calling strlen() several times via the above, removed macro.
16288         For 'rm -rf some-dir' with e.g. 1M directory entries, this speeds up the
16289         run by ~4%, yet this reduces the execution time by about a third if run
16290         via "ltrace -c rm -rf some-dir".
16292 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
16294         obstack: Remove ancient NeXTSTEP gcc support conditional
16295         This change will ease merging with glibc.  The "#if ... __NEXT__"
16296         causes a warning with -Wundef which glibc now enables by default.
16297         Problem reported by Will Newton in
16298         <http://lists.gnu.org/r/bug-gnulib/2014-03/msg00032.html>.
16299         glibc <sys/cdefs.h> now uses __extension__ for GCC 2.8 or later,
16300         so go with that.
16301         * lib/obstack.h (__extension__):
16303 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
16305         obstack: merge with glibc changes
16306         * lib/obstack.c, lib/obstack.h: Merge from glibc.
16307         This is mostly indenting and commentary changes.
16308         Instances of 'register' have been removed.
16310 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
16312         strftime: wrap macros in "do {...} while(0)"
16313         * lib/strftime.c (DO_NUMBER): Wrap multi-statement code block of
16314         this macro in "do {...} while(0)" to prevent false use as a
16315         single statement, e.g., in an un-braced "{}" else-block.
16316         (DO_SIGNED_NUMBER, DO_TZ_OFFSET, DO_NUMBER_SPACEPAD): Likewise.
16317         (strftime_case_): Remove 'else' after 'goto' - which was the
16318         only non-fatal, un-braced use of one of the above macros.
16319         Spotted by coverity (NESTING_INDENT_MISMATCH).
16321 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
16323         modechange: avoid memory leaks for invalid octal modes
16324         * lib/modechange.c (mode_compile): During the parsing of
16325         notations like +40, free the 'mc' buffer for invalid mode
16326         strings like +17777 (greater than the maximum octal mode),
16327         =18 (bad octal mode characters) or u=1 ('affected' with
16328         octal modes).
16329         Reproducer, e.g.:
16330             $ valgrind --leak-check=full chmod +17777 file
16331         Introduced via the 2012-03-09 commit, 4730c3e3, "modechange:
16332         add notations +40, 00440, etc.".
16333         Spotted by coverity (RESOURCE_LEAK).
16335 2014-03-24  Paul Eggert  <eggert@cs.ucla.edu>
16337         gitlog-to-changelog: include a dummy git-log-fix file
16338         Problem reported by Nathan Stratton Treadway in:
16339         http://lists.gnu.org/r/bug-tar/2014-03/msg00082.html
16340         * build-aux/git-log-fix: New file.
16342 2014-03-13  Jim Meyering  <meyering@fb.com>
16344         gitlog-to-changelog: also include the file, git-log-fix
16345         * modules/gitlog-to-changelog (Files): Add git-log-fix.
16346         Reported by Assaf Gordon.
16348 2014-03-06  Paul Eggert  <eggert@cs.ucla.edu>
16350         regex: port to OS X 10.8.5 en_US.UTF-8 locale
16351         This fixes a bug when ignoring case and when comparing the
16352         titlecase letter 'Lj' (U+01C8 LATIN CAPITAL LETTER L WITH SMALL
16353         LETTER J) to the corresponding uppercase letter 'LJ' (U+01C7 LATIN
16354         CAPITAL LETTER LJ).  In the OS X 10.8.5 en_US.UTF-8 locale, the
16355         titlecase letter is neither lowercase nor uppercase, but
16356         uppercasing the titlecase letter (via towupper) yields the
16357         uppercase letter, so the two letters should match when ignoring case.
16358         Problem reported by Jim Meyering in <http://debbugs.gnu.org/16911#16>.
16359         * lib/regex_internal.c (build_wcs_upper_buffer, build_upper_buffer):
16360         Don't test whether a character is lowercase before uppercasing it.
16362 2014-03-04  Kevin Cernekee  <cernekee@gmail.com>
16364         stdint, read-file: fix missing SIZE_MAX on Android (tiny change)
16365         This is basically one of the options Bruno Haible proposed in:
16366         http://lists.gnu.org/r/bug-gnulib/2012-01/msg00282.html
16367         * lib/sys_types.in.h (_GL_INCLUDING_UNISTD_H): New macro.
16368         * lib/stdint.in.h: Use it.
16369         * modules/stdint (Depends-on): Add sys_types.
16371 2014-02-26  Pádraig Brady  <P@draigBrady.com>
16373         parse-datetime: fix crash or infloop in TZ="" parsing
16374         * lib/parse-datetime.y (parse_datetime): Break out of the
16375         TZ="" parsing loop once the second significant " is found.
16376         Also skip over any subsequent whitespace to be consistent
16377         with the non TZ= case.
16378         * tests/test-parse-datetime.c: Add test cases for TZ="" parsing.
16380 2014-02-26  Paul Eggert  <eggert@cs.ucla.edu>
16382         savedir: new symbol for fast-read version
16383         * lib/savedir.h (SAVEDIR_SORT_FASTREAD): New symbol, for programs
16384         like GNU cp that want to use SAVEDIR_SORT_INODE if available,
16385         SAVEDIR_SORT_NONE otherwise.  Problem reported by Bernhard Voelker in:
16386         http://lists.gnu.org/r/coreutils/2014-02/msg00037.html
16388 2014-02-25  Paul Eggert  <eggert@penguin.cs.ucla.edu>
16390         unistd: port readlink to Mac OS X 10.3.9
16391         * lib/unistd.in.h (_GL_INCLUDING_UNISTD_H): New macro, to work
16392         around self-include problem in Mac OS X 10.3.9 when combined with
16393         readlink module.  Problem reported by Klaus Zietler in
16394         <http://bugs.gnu.org/16825>.
16396 2014-02-23  Paul Eggert  <eggert@cs.ucla.edu>
16398         diffseq: remove TOO_EXPENSIVE heuristic
16399         Problem with diffutils reported by Vincent Lefevre in
16400         <http://bugs.gnu.org/16848>.  The simplest solution is to remove
16401         the TOO_EXPENSIVE heuristic that I added to GNU diff in 1993.
16402         Although appropriate for circa-1993 hardware, these days the heuristic
16403         seems to be more trouble than it's worth.
16404         * lib/diffseq.h: Modernize citations.
16405         (struct context): Remove member too_expensive.
16406         All uses changed.
16407         (struct partition): Remove members lo_minimal, hi_minimal.
16408         All uses changed.
16409         (diag, compareseq): Remove arg find_minimal.  All uses changed.
16410         (diag): Remove the TOO_EXPENSIVE heuristic that I added back in
16411         1993 to make 'diff' run faster (but not as well) on large inputs.
16412         These days, computers are fast enough that it's typically better
16413         to run slower but more accurately.
16414         * lib/fstrcmp.c: Remove duplicate comment.
16415         * lib/fstrcmp.c (strcmp_bounded):
16416         * lib/git-merge-changelog.c (compute_differences):
16417         Adjust to diffseq.h changes.
16418         * NEWS: Document the change.
16420         savedir: simplify by using stpcpy
16421         * lib/savedir.c (direntry_t): Remove size member.  All uses removed.
16422         (streamsavedir): Use stpcpy instead.
16423         * modules/savedir (Depends-on): Add stpcpy.
16425 2014-02-21  Pádraig Brady  <P@draigBrady.com>
16427         spawn: fix link error on uclibc
16428         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): use AC_SEARCH_LIBS,
16429         to incorporate -lrt if needed (on uclibc for example).
16430         * modules/posix_spawn: Reference the substituted LIB.
16432 2014-02-21  Thomas Petazzoni  <thomas.petazzoni@free-electrons.com>  (tiny change)
16433         timer: fix uClibc detection of threading
16434         * m4/time_time.m4 (gl_TIMER_TIME): Detect whether threads are
16435         enabled in uClibc.
16437 2014-02-21  Eric Blake  <eblake@redhat.com>
16439         maintainer-makefiles: provide AC_PROG_SED for older autoconf
16440         * m4/gnulib-common.m4 (AC_PROG_SED): Copy from newer autoconf.
16442 2014-02-21  Sergey Poznyakoff  <gray@gnu.org.ua>
16444         exclude: add support for posix regexps
16446         This commit adds support for POSIX extended regular expressions
16447         and fixes a long-standing memory leak (pattern buffer was never
16448         freed).  It also implements a new interface function to read
16449         exclude patterns from a FILE, which passes an additional parameter
16450         to its callback function, thereby allowing to preserve its state
16451         between invocations.
16453         * lib/exclude.c (struct patopts): Pack regex and pattern into union.
16454         (pattern_buffer): New struct.
16455         (exclude): New member patbuf.
16456         (exclude_add_pattern_buffer): New function.
16457         (free_exclude_segment): Free regexps.
16458         (free_exclude): Free allocated pattern buffers.
16459         (exclude_patopts): New function.
16460         (file_pattern_matches): Use exclude_patopts.
16461         (add_exclude): support regexps.
16462         (add_exclude_fp): New function.
16463         (add_exclude_file): Rewrite using add_exclude_fp.
16464         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
16465         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
16466         (add_exclude_fp)
16467         (add_exclude_file): Rewrite using add_exclude_fp.
16468         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
16469         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
16470         (add_exclude_fp)
16471         (exclude_add_pattern_buffer): New prototypes.
16472         * modules/exclude: Depends on regex and filename.
16474 2014-02-20  Eric Blake  <eblake@redhat.com>
16476         maintainer-makefiles: use $(SED) for syntax check
16477         * modules/maintainer-makefile (configure.ac): Check for sane sed.
16478         * top/maint.mk: Change sed to $(SED).
16480 2014-02-11  Sergey Poznyakoff  <gray@gnu.org.ua>
16481             Paul Eggert  <eggert@cs.ucla.edu>
16483         savedir: add sorting arg to savedir, streamsavedir; remove fdsavedir
16484         Patch based on an idea by Dick Streefland in
16485         <https://savannah.gnu.org/patch/?7892>.
16486         * NEWS: Document this.
16487         * lib/savedir.c (NAME_SIZE_DEFAULT): Remove.
16488         (direntry_t, comparison_function): New types.
16489         (direntry_cmp_name): New function.
16490         (direntry_cmp_inode) [D_INO_IN_DIRENT]: New function.
16491         (streamsavedir, savedir): New arg OPTION.
16492         (streamsavedir): Simplify memory allocation.
16493         (fdsavedir): Remove.
16494         * lib/savedir.h (enum savedir_option): New type.
16495         (streamsavedir, savedir): New arg OPTION.
16496         (fdsavedir): Remove.
16498 2014-02-05  Paul Eggert  <eggert@cs.ucla.edu>
16500         file-type: add support for doors and other less-common file types
16501         Problem with S_ISDOOR reported by Rich Burridge.
16502         * lib/file-type.c (file_type): Do S_ISLNK early too.  Do S_TYPEIS*
16503         macros before the rest.  Add S_ISCTG, S_ISDOOR, S_ISMPB, S_ISMPC,
16504         S_ISMPX, S_ISNAM, S_ISNWK, S_ISOFD, S_ISOFL, S_ISPORT, S_ISWHT.
16506 2014-01-23  Eric Blake  <eblake@redhat.com>
16508         pthread: work around winpthread header pollution on mingw
16509         * lib/time.in.h: Move pthread workarounds...
16510         * lib/pthread.in.h: ...here.
16511         * m4/pthread.m4 (gl_PTHREAD_CHECK): Also build pthread.h when we
16512         detect macro pollution on mingw.
16513         * doc/posix-headers/pthread.texi (pthread.h): Document the problems.
16515 2014-01-22  Paul Eggert  <eggert@cs.ucla.edu>
16517         qacl: check for fchmod
16518         * m4/acl.m4 (gl_FUNC_ACL): Check for fchmod, since acl-internal.h
16519         and qset-acl.c both use HAVE_FCHMOD.
16521 2014-01-20  Paul Eggert  <eggert@cs.ucla.edu>
16523         fdopen-tests: port to Tru64
16524         * tests/test-fdopen.c (main): Don't invoke fdopen on a file
16525         descriptor that is not open, as POSIX doesn't specify the
16526         resulting behavior and the test does not work on Tru64.
16527         Problem reported by Steven M. Schweda in:
16528         http://lists.gnu.org/r/bug-gnulib/2014-01/msg00079.html
16530         stdalign: port to HP-UX compilers
16531         * lib/stdalign.in.h (_Alignas): Use __attribute__ (__aligned__ (x))
16532         if __HP_cc or __HP_aCC are nonzero.
16534 2014-01-16  Paul Eggert  <eggert@cs.ucla.edu>
16536         strtoimax: port to platforms lacking 'long long'
16537         VMS's pre-C99 compiler lacks 'long long', so 'configure' doesn't
16538         check whether strtoll is declared, which causes the C file to
16539         wrongly report an error.  Problem reported by Steven M. Schweda in:
16540         http://lists.gnu.org/r/bug-diffutils/2014-01/msg00003.html
16541         * lib/strtoimax.c (strtoull):
16542         Declare only if HAVE_UNSIGNED_LONG_LONG_INT.
16543         (strtoll): Declare only if HAVE_LONG_LONG_INT.
16545 2014-01-16  Daniel Albers  <daniel@lbe.rs>  (tiny change)
16547         relocatable-perl: fix texi syntax
16548         * doc/relocatable-maint.texi: Escape braces.
16550 2014-01-09  Reuben Thomas  <rrt@sc3d.org>
16552         relocatable-perl: like relocatable-script, but for Perl scripts
16553         * build-aux/relocatable.pl.in: Add.
16554         * doc/relocatable-maint.texi: Add documentation.
16555         * modules/relocatable-perl: Add.
16557 2014-01-07  Paul Eggert  <eggert@cs.ucla.edu>
16559         tests: fix export bug in previous patch
16560         Problem reported by Jim Meyering.
16561         * tests/init.sh (re_shell): New var, which is exported instead of
16562         re_shell_.
16564         tests: simplify porting to Solaris 10 /bin/sh
16565         Some test cases in 'grep' need a shell that groks '$(';
16566         export re_shell_ for their benefit.  Problem reported for 'grep'
16567         by Dagobert Michelsen in <http://bugs.gnu.org/16380>.
16568         * tests/init.sh (re_shell_): Export if it's used.
16570 2014-01-06  Eric Blake  <eblake@redhat.com>
16572         md5, sha1, sha256, sha512: support older autoconf
16573         * m4/00gnulib.m4 (m4_divert_push): Wrap diversion stack
16574         for autoconf < 2.63b.
16576         include_next: port to autoconf 2.63
16577         * m4/gnulib-common.m4 (AS_VAR_COPY): Define if missing.
16579 2014-01-04  Jim Meyering  <meyering@fb.com>
16581         maint: add a gnulib-local rule to keep non-ascii out of .texi files
16582         * cfg.mk (sc_keep_gnulib_texi_files_mostly_ascii): New rule,
16583         so that "make sc_maint" will ding anyone who puts non-ascii
16584         in any of gnulib's .texi files.
16586 2014-01-03  Jim Meyering  <meyering@fb.com>
16588         freadable, fwritable, fwriting: declare with the "pure" attribute
16589         * lib/freadable.h (freadable): Declare with the "pure" attribute.
16590         * lib/fwritable.h (fwritable): Likewise.
16591         * lib/fwriting.h (fwriting): Likewise.
16592         Suggested by Bruno Haible.
16594         maint.mk: adapt openat.h-include-without-use test
16595         * top/maint.mk (sc_prohibit_openat_without_use): Also check for
16596         FCHMODAT_INLINE, FCHOWNAT_INLINE and STATAT_INLINE, to avoid
16597         failing on gnulib's own lib/{chmod,chown,stat}at.c files.
16598         With this change, running "make sc_maint" in gnulib's top-level
16599         directory now passes for me.
16601 2014-01-03  Paul Eggert  <eggert@cs.ucla.edu>
16603         doc: use ASCII in .texi files where UTF-8 isn't needed
16604         * doc/posix-functions/crypt.texi, doc/posix-functions/encrypt.texi:
16605         * doc/posix-functions/setkey.texi, doc/regex.texi:
16606         Use ASCII input, not UTF-8.
16608 2014-01-02  Jim Meyering  <meyering@fb.com>
16610         freading: declare with the "pure" attribute
16611         * lib/freading.h (freading): Declare with the "pure" attribute.
16613         manywarnings: remove -Wmudflap
16614         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove -Wmudflap, since
16615         it is no longer supported in gcc-4.9-to-be.
16617 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
16619         relocatable-script: remove unused code
16620         Problem reported by Reuben Thomas in:
16621         http://lists.gnu.org/r/bug-gnulib/2013-12/msg00117.html
16622         * build-aux/relocatable.sh.in (func_tmpdir): Remove unused function.
16624 2014-01-01  Jim Meyering  <meyering@fb.com>
16626         maint: fix public-submodule-commit to work with newer git
16627         * top/maint.mk (public-submodule-commit): Remove excess quoting.
16628         We were over-quoting the test arguments, and somewhere prior to
16629         version 1.8.5.2.229, git stopped removing those excess quotes,
16630         which made the test fail, since the unexpanded strings would
16631         always differ; using GIT_TRACE=1 confirmed that the git merge-base
16632         command wasn't even being run.
16634 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
16636         doc: update main copyright year
16637         * doc/gnulib.texi: Update copyright date.
16639 2014-01-01  Eric Blake  <eblake@redhat.com>
16641         version-etc: new year
16642         * lib/version-etc.c (COPYRIGHT_YEAR): Bump to 2014.
16643         * all files: run 'make update-copyright'
16645 2013-12-24  Eric Blake  <eblake@redhat.com>
16647         passfd: give nicer error for recvfd at eof
16648         * lib/passfd.c (recvfd): Fake ENOTCONN if other end closes early.
16649         * tests/test-passfd.c (main): Enhance test to cover this.
16651 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
16653         gettimeofday: port recent C++ fix to Emacs
16654         Without this further patch, Emacs won't build due to
16655         the portcheck failing.  Also, this simplifies the patch a bit.
16656         * lib/time.in.h (localtime, gmtime): Don't replace unless
16657         GNULIB_GETTIMEOFDAY.  Treat them more like mktime.
16658         * lib/time.in.h (localtime, gmtime):
16659         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME):
16660         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
16661         * modules/time (time.h):
16662         Don't worry about the possibility of localtime and gmtime
16663         being absent; they're present in all C libraries we know about.
16664         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
16665         Don't assume sys_time is present and has been initialized.
16666         Instead, use a hack that should work even if it hasn't been.
16667         Don't use a portcheck for gmtime or localtime; this supports
16668         the hack.
16669         * modules/time (time.h): Substitute GNULIB_GETTIMEOFDAY.
16671 2013-12-17  John W. Eaton  <jwe@gnu.org>
16673         gettimeofday: fix C++ crosscompilation
16675         Never replace gmtime and localtime by macros when compiling with
16676         C++, this prevents <ctime> from being included.
16678         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Do not
16679         define gmtime and localtime as preprocessor macros.  Instead
16680         define some HAVE_GMTIME, HAVE_LOCALTIME, REPLACE_GMTIME, and
16681         REPLACE_LOCALTIME substitutions.
16682         * lib/time.in.h: Declare gmtime and localtime when needed.
16683         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): AC_SUBST HAVE_GMTIME,
16684         HAVE_LOCALTIME, REPLACE_GMTIME, and REPLACE_LOCALTIME.
16685         * modules/time: Depend on gettimeofday, and substitute the above
16686         variables in time.h.
16688 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
16690         qacl: port to Windows better
16691         See Eli Zaretskii in
16692         <http://lists.gnu.org/r/emacs-devel/2013-12/msg00593.html>.
16693         * lib/file-has-acl.c (acl_access_nontrivial):
16694         Return -1 and set errno if !HAVE_ACL_FIRST_ENTRY &&
16695         !HAVE_ACL_TO_SHORT_TEXT && !HAVE_ACL_FREE_TEXT.
16697 2013-12-12  Alexander V. Lukyanov  <lav@netis.ru>
16699         md5, sha1, sha256, sha512: fix (trivial) compile error in c++ mode.
16700         * lib/gl_openssl.h: Cast void pointers to a specific type.
16702 2013-12-07  Pádraig Brady  <P@draigBrady.com>
16704         open-tests: fix build failure with -Werror=old-style-declaration
16705         * tests/test-open.h: Reorder the inline to avoid the issue.
16707 2013-12-07  Pádraig Brady  <P@draigBrady.com>
16709         md5, sha1, sha256, sha512: fix link error with partial libcrypto
16710         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Only clear LIB_CRYPTO at
16711         init time, so that if early checks find crypto routines,
16712         while the last does not, then @LIB_CRYPTO@ is replaced correctly,
16713         avoiding link failures.
16715 2013-12-07  Paul Eggert  <eggert@cs.ucla.edu>
16717         md5, sha1, sha256, sha512: add gl_SET_CRYPTO_CHECK_DEFAULT
16718         This provides a new way to specify the default for
16719         gl_CRYPTO_CHECK, one that is reflected in the --help message.
16720         Emacs uses this, as well as the old way.
16721         This attempts to implement a suggestion by Pádraig Brady in
16722         <http://lists.gnu.org/r/coreutils/2013-12/msg00080.html>.
16723         * m4/gl-openssl.m4(gl_SET_CRYPTO_CHECK_DEFAULT): New macro.
16724         (gl_CRYPTO_CHECK): Use it.  Mention the default in --help output.
16726         md5, sha1, sha256, sha512: add 'auto', and a way to specify default
16727         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK):
16728         Add support for a new option, --with-openssl=auto, which causes
16729         the library to be used if available and silently ignored if not.
16730         Add support to allow configure.ac to specify its own
16731         default, by setting with_openssl_default before invoking gl_INIT.
16733 2013-12-05  Paul Eggert  <eggert@cs.ucla.edu>
16735         open-tests: port to glibc with _FORTIFY_SOURCE and -O1
16736         Problem reported by Daiki Ueno in:
16737         http://lists.gnu.org/r/bug-gnulib/2013-06/msg00052.html
16738         * tests/test-open.h (__always_inline):
16739         New macro, if not already defined.
16740         (test_open): Use it.
16742 2013-12-04  Eric Blake  <eblake@redhat.com>
16744         include_next: minimize code duplication
16745         * modules/include_next (Depends-on): Add absolute-header.
16746         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Reuse
16747         gl_ABSOLUTE_HEADER_ONE instead of open-coding it.
16749 2013-12-04  Pádraig Brady  <P@draigBrady.com>
16751         getcwd: fix compile error in configure check
16752         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Include errno.h
16754 2013-12-04  Pádraig Brady  <P@draigBrady.com>
16756         regex: suppress core dumps from detection code
16757         * m4/regex.m4 (gl_REGEX): Catch the SIGABRT and convert to SIGTERM
16758         to suppress core dumps that may well occur on glibc systems.
16759         These core dumps might not be cleaned up automatically, or could
16760         trigger some system core dump handling logic.
16762 2013-12-03  Pádraig Brady  <P@draigBrady.com>
16764         md5, sha1, sha256, sha512: support mandating use of openssl
16765         * m4/gl-openssl.m4 (gl_crypto_check): Adjust the --with-openssl
16766         description, to list the now 3 separate options.  also don't
16767         mention the default=no, since this is implicit given the option
16768         is described as --with-openssl rather than --without-openssl.
16769         If projects change the default they're free to document that.
16770         with --with-openssl[=yes] we now error out when the specified
16771         hash algorithm is not available in libcrypto.
16773 2013-12-03  Ivailo  <xakepa10@gmail.com>
16775         test-xvasprintf: (trivial) fix to disable some -Wformat-security diags
16776         * tests/test-xvasprintf.c: Disable -Wformat-zero-length and
16777         -Wformat-nonliteral checks, as these edge cases are part of the test.
16779 2013-12-03  Eric Blake  <eblake@redhat.com>
16781         regex: avoid glibc deadlock during configure
16782         * m4/regex.m4 (gl_REGEX): Avoid recursive malloc deadlock when
16783         glibc bug 15078 in turn triggers bug 16159.
16784         Reported by Michal Privoznik.
16786 2013-12-02  Pádraig Brady  <P@draigBrady.com>
16788         md5, sha1, sha256, sha512: use openssl routines if available.
16789         --with-openssl the libcrypto md5, sha1, sha224, sha256, sha384, sha256
16790         routines will be used if available, requiring apps to link @LIB_CRYPTO@
16791         * lib/gl_openssl.h: Provide wrappers for specified openssl hash.
16792         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): New function to lookup libcrypto
16793         in the standard system location.
16794         * m4/sha1.m4: Call gl_CRYPTO_CHECK() for SHA1.
16795         * m4/sha256.m4: Likewise with SHA256.
16796         * m4/sha512.m4: Likewise with SHA512.
16797         * m4/md5.m4: Likewise with MD5.
16798         * m4/gc.m4: Ensure @LIB_CRYPTO@ set for tests.
16799         * lib/sha1.h: Include wrappers if HAVE_OPENSSL_SHA1.
16800         * lib/sha256.h: Likewise with SHA256.
16801         * lib/sha512.h: Likewise with SHA512.
16802         * lib/md5.h: Likewise with MD5.
16803         * lib/sha1.c: Exlude functionality if HAVE_OPENSSL_SHA1.
16804         * lib/sha256.c: Likewise with SHA256.
16805         * lib/sha512.c: Likewise with SHA512.
16806         * lib/md5.c: Likewise with MD5.
16807         * modules/crypto/sha1 (Link:): Add the new optional lib.
16808         (Depends-on:): Add dependency on extern-inline.
16809         * modules/crypto/sha256: Likewise.
16810         * modules/crypto/sha512: Likewise.
16811         * modules/crypto/md5: Likewise.
16812         * modules/crypto/sha1-tests: Reference the lib here too.
16813         * modules/crypto/md5-tests: Likewise.
16814         * modules/crypto/gc-des-tests: Likewise.
16815         * modules/crypto/gc-hmac-md5-tests: Likewise.
16816         * modules/crypto/gc-hmac-sha1-tests: Likewise.
16817         * modules/crypto/gc-hmac-sha256-tests: Likewise.
16818         * modules/crypto/gc-hmac-sha512-tests: Likewise.
16819         * modules/crypto/gc-md5-tests: Likewise.
16820         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
16821         * modules/crypto/gc-sha1-tests: Likewise.
16822         * modules/crypto/gc-tests: Likewise.
16823         * modules/crypto/hmac-md5-tests: Likewise.
16824         * modules/crypto/hmac-sha1-tests: Likewise.
16825         * modules/crypto/hmac-sha256-tests: Likewise.
16826         * modules/crypto/hmac-sha512-tests: Likewise.
16828 2013-11-29  RV1971  <rv1971@web.de>
16830         base64: (trivial) fix compilation regression on some compilers
16831         * lib/base64.c: Don't return the void function,
16832         instead split to a separate return statement.
16834 2013-11-28  Paul Eggert  <eggert@cs.ucla.edu>
16836         ignore-value: revert previous code change
16837         * lib/ignore-value.h (ignore_value): Use __extension__ and
16838         __typeof__ only for GCC 3.4 and later.  Reported by Eric Blake in
16839         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00102.html>.
16840         Change the comment to try to explain this better.
16842 2013-11-27  Pádraig Brady  <P@draigBrady.com>
16844         selinux-h: improve stub types and add more stub functions
16846         * lib/se-selinux.in.h: Change security_context_t to a typedef
16847         rather than a define, as it's a pointer type and so is better
16848         as a typedef to avoid issues declaring multiple variables
16849         with the comma operator.  Also add stub for string_to_security_class().
16850         * lib/se-context.in.h: Add stub functions for
16851         context_{type,range,role,user}_get().
16853 2013-11-27  Paul Eggert  <eggert@cs.ucla.edu>
16855         ignore-value: prefer GCC version back through 2.0
16856         The code didn't match the comments, so I did a bit of software
16857         archaeology.  GCC 2.0 seems to support __extension__ and
16858         __typeof__, so fix both code and comments to use 2.0.
16859         * lib/ignore-value.h (ignore_value): Use __extension__ and
16860         __typeof__ for GCC 2.0 through 3.3, too.
16862 2013-11-25  Mats Erik Andersson  <gnu@gisladisker.se>
16864         pty: Activate the signature wrapper of forkpty.
16865         The intended preprocessor macro HAVE_FORKPTY is
16866         never defined, yet `lib/forkpty.c' depends on it.
16868         * m4/pty.m4 (gl_FUNC_FORKPTY): At completed analysis,
16869         apply AC_DEFINE_UNQUOTED to HAVE_FORKPTY with value
16870         $HAVE_FORKPTY for access to wrapper in `lib/forkpty.c'.
16872 2013-11-18  Jim Meyering  <meyering@fb.com>
16873         and Paul Eggert  <eggert@cs.ucla.edu>
16875         quotearg: don't attempt to store 1 << 31 into an "int"
16876         * lib/quotearg.c (quotearg_buffer_restyled): Building coreutils with
16877         gcc's new -fsanitize=undefined and running its tests triggered some
16878         new test failures due to undefined behavior, all with this diagnostic:
16879           lib/quotearg.c:629:62: runtime error: left shift of 1 by 31 places \
16880             cannot be represented in type int
16881         Rather than shifting "1" left to form a mask, shift the bits right and
16882         simply use "1" as the mask.
16884 2013-11-21  Paul Eggert  <eggert@cs.ucla.edu>
16886         error: depend on stdio
16887         Problem reported by Nikos Mavrogiannopoulos in
16888         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00084.html>
16889         * modules/error (Depends-on): Add stdio.
16891 2013-11-18  Ben Pfaff  <blp@cs.stanford.edu>
16893         * doc/relocatable-maint.texi (Supporting Relocation): Improve
16894         wording.
16895         Reported by Reuben Thomas <rrt@sc3d.org>.
16897 2013-11-13  Paul Eggert  <eggert@cs.ucla.edu>
16899         * lib/getgroups.c (posix_getgroups, getgroups) [__APPLE__]:
16900         New function and macro, to work around _DARWIN_C_SOURCE problem.
16901         Reported by Jack Howarth in <http://bugs.gnu.org/14463>.
16903 2013-11-11  Pádraig Brady  <P@draigBrady.com>
16905         base64: provide a fast path for encoding well sized buffers
16906         Avoid conditionals in the base64 encoding loop,
16907         which was seen to give 60% better throughput.
16908         * lib/base64.c (base64_encode_fast): A new function to be called
16909         when we don't want to NUL terminate, and we have enough space
16910         in the output to encode the given input.
16911         (base64_encode): Call the _fast() version when appropriate.
16912         Also remove a redundant mask with 0x3F on the first encoded byte.
16914 2013-11-08  Paul Eggert  <eggert@cs.ucla.edu>
16916         extern-inline: port better to OS X 10.9
16917         * m4/extern-inline.m4: Omit serial number; this file doesn't use them.
16918         (gl_EXTERN_INLINE): Do not suppress the use of extern inline on
16919         OS X 10.9, except for g++ where the bug is still present.
16920         See <http://trac.macports.org/ticket/41033>.
16922 2013-11-08  Eric Blake  <eblake@redhat.com>
16924         fpending: fix regression on DragonFly BSD
16925         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for declaration.
16926         * lib/fpending.h (__fpending): Don't declare twice.
16927         Reported by GW in
16928         <https://lists.gnu.org/r/bug-m4/2013-11/msg00000.html>
16930 2013-11-05  Jim Meyering  <meyering@fb.com>
16932         hash: relax license to LGPLv2+, for libguestfs
16933         * modules/hash (License): Change from GPL to LGPLv2+.
16935 2013-11-03  Paul Eggert  <eggert@cs.ucla.edu>
16937         intprops: port to Oracle Studio c99
16938         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__SUNPRO_C && __STDC__]:
16939         Define to 0, to avoid diagnostics when Oracle Studio is pedantic.
16941 2013-10-31  Paul Eggert  <eggert@cs.ucla.edu>
16943         obstack: pacify HP C
16944         * lib/obstack.h (obstack_free) [!__GNUC__]: Rewrite to avoid
16945         warning "conversion from pointer to smaller integer" from HP
16946         C-ANSI-C - cc version B9007AA/B3910B A.06.26.  It's safe to assume
16947         C89 or later nowadays, so cast to void instead of int.  Privately
16948         reported by H.Merijn Brand.  Also, change header to match glibc's,
16949         to make checking against glibc easier.
16951 2013-10-29  Jim Meyering  <meyering@fb.com>
16953         maint.mk: prefer gpgv2 over gpgv
16954         * top/maint.mk (gpgv): Use gpgv2 if present, else gpgv.
16955         (gpg_key_ID): Use $(gpgv), rather than hard-coding "gpgv".
16956         Reported by Gary Vaughan.
16958 2013-10-30  Paul Eggert  <eggert@cs.ucla.edu>
16960         isnan: port to VAX
16961         Reported by John Klos for NetBSD-5/VAX in
16962         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00133.html>.
16963         * lib/isnan.c (IEEE_FLOATING_POINT): New macro, stolen from Emacs.
16964         (FUNC): Use it.
16966 2013-10-28  Jim Meyering  <meyering@fb.com>
16968         gnulib-tool: protect against CDPATH
16969         * gnulib-tool: Many "cd" built-in functions print a directory name
16970         to stdout when CDPATH is set, e.g.,
16971           $ bash -c 'CDPATH=/; cd tmp'
16972           /tmp
16973         Unset it, when possible.  Prompted by a comment from Bruce Korb.
16975         maint.mk: restore functionality removed by recent change...
16976         Sunday's change, v0.0-8062-g6b24f60, may have appeared correct from
16977         the context of a shallow-cloned gnulib repository: "git describe"
16978         would fail in such a directory.  However, that change made it so
16979         the reported gnulib revision no longer includes the version number
16980         or a commit count, even when run from a full clone.
16981         * top/maint.mk (gnulib-version): Use the full "git describe"
16982         output when possible, e.g., the form above, rather than the
16983         abbreviated, no-tag, no-commit-count string, and fall back to
16984         using a 10-byte hash, rather than the default minimal-length
16985         hash prefix, since while the minimal-length one may be fine today,
16986         it is likely not to be unique for very long.
16988 2013-10-26  Jim Meyering  <meyering@fb.com>
16990         maint.mk: fix "release" target to build _version
16991         This fixes a bug in README-release whereby following the outlined
16992         steps, one would publish a tarball whose programs would report
16993         --version output not consistent with the package version number.
16994         This bug caused grep-2.15 to produce a grep program whose
16995         --version option made it print 2.14.56-1e3d rather than 2.15.
16996         * top/maint.mk (release): Making this target build "_version"
16997         ensures that the new version number is reflected in configure.
16999 2013-10-21  Ben Pfaff  <blp@cs.stanford.edu>
17001         install-reloc: Support multi-binary installation.
17002         * build-aux/install-reloc: Support installing multiple programs in
17003         one invocation, as done by Automake starting with commit
17004         4295fe33eb23f (Multi-file install for PROGRAMS.).  From Bruno
17005         Haible <bruno@clisp.org>, archived at
17006         http://lists.debian.org/debian-bsd/2012/05/msg00032.html.
17007         Reported by Sylvain <beuc@gnu.org>.
17009 2013-10-21  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
17011         selinux-h: Really build without selinux when library is missing.
17012         * m4/selinux-selinux-h.m4: When the selinux library is missing, really
17013         continue without selinux, as already told in the warning message.
17015 2013-10-21  Jim Meyering  <meyering@fb.com>
17017         regex: also remove dependency on HAVE_WCSCOLL
17018         * lib/regex_internal.h: Remove final vestige of the wcscoll dependency.
17020 2013-10-21  Reuben Thomas  <rrt@sc3d.org>
17022         xfreopen: Fix typo. s/frepoen/freopen/
17023         * lib/xfreopen.c: Fix description.
17024         * modules/xfreopen: Likewise.
17026 2013-10-21  Jim Meyering  <meyering@fb.com>
17028         regex: don't depend on wcscoll
17029         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wcscoll.
17030         It is no longer used.
17032 2013-10-20  Jim Meyering  <meyering@fb.com>
17034         error: add the printf attribute to a static function
17035         * lib/error.c (error_tail): Add the printf attribute, to placate
17036         gcc's -Werror=suggest-attribute=format option.
17038 2013-09-30  Jim Meyering  <meyering@fb.com>
17040         fpending, obstack, strerror-override: use pure+const function attrs
17041         * lib/fpending.h (__fpending): Declare with the "pure" attribute.
17042         * lib/obstack.c (_obstack_allocated_p): Likewise.
17043         * lib/obstack.h (_obstack_memory_used): Likewise.
17044         (_obstack_memory_used): Likewise.
17045         * lib/strerror-override.h (strerror_override): Declare with
17046         the "const" attribute.
17048 2013-10-18  Eric Blake  <eblake@redhat.com>
17050         extern-inline: make safe for -Wundef usage
17051         Reported by Vladimir 'phcoder' Serbinenko in
17052         https://lists.gnu.org/r/bug-gnulib/2013-10/msg00078.html
17053         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Port to older gcc.
17055 2013-10-16  Paul Eggert  <eggert@cs.ucla.edu>
17057         mkfifo-tests, etc.: allow HP-UX 11.11 bug
17058         Problem reported by Daniel Richard G. in
17059         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00068.html>.
17060         * doc/posix-functions/mkfifo.texi (mkfifo):
17061         * doc/posix-functions/mkfifoat.texi (mkfifoat):
17062         * doc/posix-functions/mknod.texi (mknod):
17063         * doc/posix-functions/mknodat.texi (mknodat):
17064         Document the HP-UX 11.11 bug.
17065         * tests/test-mkfifo.h (test_mkfifo):
17066         Allow the HP-UX 11.11 bug.
17068 2013-10-14  Paul Eggert  <eggert@cs.ucla.edu>
17070         acl: allow cross-compilation to Gentoo
17071         Problem reported by Gabriel Marcano in
17072         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00058.html>.
17073         * m4/acl.m4 (gl_ACL_GET_FILE): When cross-compiling,
17074         test only whether it links.
17076 2013-10-13  Paul Eggert  <eggert@cs.ucla.edu>
17078         mgetgroups: remove dependency on realloc-gnu
17079         The dependency violates the comment in realloc-gnu, which
17080         says that tests can't depend on realloc-gnu; some tests depend
17081         on mgetgroups, so mgetgroups can't depend on realloc-gnu.
17082         Problem reported by Daniel Richard G. in
17083         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00056.html>.
17084         * lib/mgetgroups.c (mgetgroups): Don't call realloc (NULL, 0).
17085         * modules/mgetgroups (Depends-on): Depend on realloc-posix,
17086         not realloc-gnu.
17088 2013-10-12  Paul Eggert  <eggert@cs.ucla.edu>
17090         regex-tests: port to HP-UX 11.11
17091         Problem reported by Daniel Richard G. in
17092         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00052.html>.
17093         * modules/regex-tests (test_regex_LDADD): Add LIBTHREAD, LIB_PTHREAD.
17095 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
17097         verify: document some 'assume' pitfalls
17098         * doc/verify.texi (Compile-time Assertions):
17099         Mention that 'assume (E)' can sometimes slow things down.
17100         Use CHAR_MAX + 1, not UCHAR_MAX + 1.
17102 2013-10-10  Eric Blake  <eblake@redhat.com>
17104         strtoumax: fix typo in previous commit.
17105         * modules/strtoumax (Depends-on): Fix typo.
17106         * modules/strtoimax (Depends-on): Likewise.
17108 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
17110         strtoumax: port to Solaris 8
17111         This problem was introduced in the recent HP-UX patch.
17112         Reported by Tom G. Christensen in
17113         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00037.html>.
17114         * modules/strtoumax (Depends-on): Test HAVE_STRTOUMAX
17115         and REPLACE_STRTOUMAX rather than ac_cv_func_strtoumax.
17117 2013-10-09  Paul Eggert  <eggert@cs.ucla.edu>
17119         strtoimax, strtoumax: port to HP-UX 11.11
17120         Problem reported by Daniel Richard G. in
17121         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00023.html>.
17122         * lib/inttypes.in.h (strtoumax): Replace strtoumax if
17123         REPLACE_STRTOUMAX, thus treating it consistently with strtoimax.
17124         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Add default for
17125         REPLACE_STRTOUMAX.
17126         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX):
17127         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX):
17128         Replace the function if defined as a macro but not as a function.
17129         * modules/inttypes-incomplete (inttypes.h): Substitute
17130         REPLACE_STRTOUMAX.
17131         * modules/strtoumax (configure.ac): Replace strtoumax if
17132         REPLACE_STRTOUMAX.
17134 2013-10-08  Paul Eggert  <eggert@cs.ucla.edu>
17136         strtoimax: port to HP-UX 11.11
17137         Problem reported by Daniel Richard G.
17138         * lib/strtoimax.c (Strtoimax, Strtol, Strtoll): New macros.
17139         (strtoimax, strtol, strtoll) [UNSIGNED]: Remove, since
17140         they might clash with inttypes.h.
17142 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
17144         New module 'count-trailing-zeros'.
17145         * MODULES.html.sh: Mention it.
17146         * lib/count-trailing-zeros.c, lib/count-trailing-zeros.h:
17147         * m4/count-trailing-zeros.m4, modules/count-trailing-zeros:
17148         * modules/count-trailing-zeros-tests:
17149         * tests/test-count-trailing-zeros.c:
17150         New files.
17152         count-leading-zeros: port to MSC; support types wider than 64 bits
17153         The ideas behind the MSC port are stolen from Emacs.
17154         * lib/count-leading-zeros.h:
17155         Don't include verify.h: it's no longer needed, as types wider than
17156         64 bits are now supported.
17157         (COUNT_LEADING_ZEROS): New arg MSC_BUILTIN, for better
17158         performance with MSC.  All uses changed.  Do not assume that TYPE
17159         has at most 64 bits.
17160         (count_leading_zeros_32): Assume 0 < X < 2**32, for speed.
17161         All uses changed.  Fold the subtraction from 31 into the table.
17163         count-one-bits: port to MSC; support types wider than 64 bits
17164         The ideas behind the MSC port are stolen from Emacs.
17165         * lib/count-one-bits.c (popcount_support) [_MSC_VER]: New variable.
17166         * lib/count-one-bits.h: Include limits.h, for CHAR_BIT.
17167         Don't include verify.h: it's no longer needed, as types wider than
17168         64 bits are now supported.
17169         (COUNT_ONE_BITS_GENERIC): New macro.
17170         (popcount_supported) [_MSC_VER]: New inline function.
17171         (COUNT_ONE_BITS): Use it.  New arg MSC_BUILTIN, for better
17172         performance with MSC.  All uses changed.  Do not assume that TYPE
17173         has at most 64 bits.
17174         * modules/count-one-bits (Depends-on): Do not depend on 'verify'.
17176 2013-10-06  Andrew Borodin  <aborodin@vmail.ru>
17178         mountlist: fix resource leak with MOUNTED_INTERIX_STATVFS
17179         * lib/mountlist.c (read_file_system_list): fix leak of directory
17180         streams in case of #ifdef MOUNTED_INTERIX_STATVFS.
17182 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
17184         tests: improve diagnostic when an assertion fails
17185         * tests/macros.h (ASSERT): Report the assertion that failed.
17187 2013-10-02  Paul Eggert  <eggert@cs.ucla.edu>
17189         verify: new macro 'assume'
17190         This is taken from Emacs, and should be generally useful.
17191         * doc/verify.texi (assume): Document it.
17192         * lib/verify.h (assume): New macro.
17193         (__has_builtin): Expand to 0 if not defined.
17195 2013-09-26  Eric Blake  <eblake@redhat.com>
17197         dup2, dup3: work around another cygwin crasher
17198         * m4/dup2.m4 (gl_FUNC_DUP2): Expose the bug.
17199         * m4/dup3.m4 (gl_FUNC_DUP3): Likewise.
17200         * tests/test-dup2.c (main): Likewise.
17201         * lib/dup2.c (rpl_dup2): Use setdtablesize to avoid it.
17202         * lib/dup3.c (dup3): Likewise.
17203         * doc/posix-functions/dup2.texi (dup2): Document it.
17204         * doc/glibc-functions/dup3.texi (dup3): Likewise.
17206         getdtablesize: work around cygwin issue
17207         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Detect problem.
17208         * modules/getdtablesize (configure.ac): Build replacement.
17209         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set up a witness.
17210         * modules/unistd (Makefile.am): Expose the witness.
17211         * lib/unistd.in.h (getdtablesize): Declare replacement.
17212         * lib/getdtablesize.c (rpl_getdtablesize): Work around it.
17213         * tests/test-getdtablesize.c (main): Test it.
17214         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Document it.
17216 2013-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
17218         pmccabe2html: escaping of special characters
17219         Escape all '<', '>', and '&' in HTML output.
17220         * build-aux/pmccabe2html (html_fnc): Call gsub()
17221         instead of sub() to capture all '<', '>', and '&'.
17222         Neither of '<' and '>' is special in a regexp,
17223         so first arguments to gsub() are corrected. Also,
17224         in replacement strings, ampersand must be escaped.
17225         Finally, '&' must be handled first, then '<' and '>'.
17227 2013-09-24  Eric Blake  <eblake@redhat.com>
17229         manywarnings: enable nicer gcc warning messages
17230         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Older gcc requires
17231         some -f options for optimal warnings.
17233 2013-09-21  Jim Meyering  <meyering@fb.com>
17235         timespec: use the new TIMESPEC_RESOLUTION in a few more places
17236         * lib/timespec-add.c (timespec_add): Also replace 999999999
17237         with TIMESPEC_RESOLUTION - 1.
17238         * lib/timespec-sub.c (timespec_sub): Likewise.
17240 2013-09-23  Paul Eggert  <eggert@cs.ucla.edu>
17242         warnings: port --enable-gcc-warnings to Solaris Studio 12.3
17243         Problem reported by Dagobert Michelsen via Eric Blake in
17244         <http://lists.gnu.org/r/bug-gnulib/2013-09/msg00052.html>.
17245         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use AC_LINK_IFELSE,
17246         not AC_COMPILE_IFELSE.
17248 2013-09-23  Eric Blake  <eblake@redhat.com>
17250         configmake: support new --runstatedir option
17251         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Substitute runstatedir
17252         even if autoconf was too old to provide the command line option.
17253         * modules/configmake (Makefile.am): Propagate it to .h file.
17255 2013-09-22  Paul Eggert  <eggert@cs.ucla.edu>
17257         ctype, string: depend on extern-inline
17258         This is needed to complete the recent OS X fixes.
17259         Also, fix related documentation as suggested by Eric Blake.
17260         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
17261         * doc/posix-functions/isascii.texi, doc/posix-functions/iscntrl.texi:
17262         * doc/posix-functions/isdigit.texi, doc/posix-functions/isgraph.texi:
17263         * doc/posix-functions/islower.texi, doc/posix-functions/isprint.texi:
17264         * doc/posix-functions/ispunct.texi, doc/posix-functions/isspace.texi:
17265         * doc/posix-functions/isupper.texi, doc/posix-functions/isxdigit.texi:
17266         * doc/posix-functions/toascii.texi, doc/posix-functions/tolower.texi:
17267         * doc/posix-functions/toupper.texi:
17268         List the 'ctype' gnulib module.
17269         * doc/posix-functions/strcat.texi, doc/posix-functions/strcpy.texi:
17270         * doc/posix-functions/strncpy.texi:
17271         List the 'string' gnulib module.
17272         * modules/memcpy, modules/memmove, modules/memset (Depends-on):
17273         Add string.
17274         * modules/ctype, modules/string (Depends-on): Add extern-inline.
17276 2013-09-19  Pádraig Brady  <P@draigBrady.com>
17278         userspec: support optional parameters to parse_user_spec()
17279         * lib/userspec.c (parse_user_spec): If the GID param is NULL,
17280         then avoid group processing and treat the full spec as a user.
17281         (parse_with_separator): Allow the USERNAME and GROUPNAME to
17282         be optional params (NULL), in which case they're ignored.
17284 2013-09-19  Paul Eggert  <eggert@cs.ucla.edu>
17286         timespec: new function make_timespec, and new constants
17287         * lib/timespec.h: Incorporate recent changes on the Emacs trunk.
17288         (TIMESPEC_RESOLUTION, LOG10_TIMESPEC_RESOLUTION): New constants.
17289         (make_timespec): New function.
17290         * lib/dtotimespec.c (dtotimespec):
17291         * lib/timespec-add.c (timespec_add):
17292         * lib/timespec-sub.c (timespec_sub):
17293         * lib/utimens.c (validate_timespec):
17294         * lib/utimensat.c (rpl_utimensat):
17295         Use these new constants and functions.
17297         stdio: OS X port of putc_unlocked + extern inline
17298         * lib/stdio.in.h (putc_unlocked): #undef on problematic Apple platforms.
17299         * doc/posix-functions/putc_unlocked.texi:
17300         * doc/posix-functions/putchar_unlocked.texi:
17301         Document this portability problem.
17303         signal: OS X port of sigaddset etc. + extern inline
17304         * lib/signal.in.h (sigaddset, sigdelset, sigemptyset, sigfillset)
17305         (sigismember): #undef on problematic Apple platforms.
17306         * doc/posix-functions/sigaddset.texi:
17307         * doc/posix-functions/sigdelset.texi:
17308         * doc/posix-functions/sigemptyset.texi:
17309         * doc/posix-functions/sigfillset.texi:
17310         * doc/posix-functions/sigismember.texi:
17311         Document this portability problem.
17313         extern-inline: do not always suppress extern inline on OS X
17314         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Suppress the use of
17315         extern inline on Apple only if the particular compile-time
17316         configuration is known to have the problem.
17317         (_GL_EXTERN_INLINE_APPLE_BUG): New private macro, to implement this.
17318         (_GL_EXTERN_INLINE_IN_USE): New macro, intended for use by
17319         other Gnulib modules.
17321         extern-inline: document fixes for ctype and wctype macros
17322         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
17323         * doc/posix-functions/isascii.texi, doc/posix-functions/isblank.texi:
17324         * doc/posix-functions/iscntrl.texi, doc/posix-functions/isdigit.texi:
17325         * doc/posix-functions/isgraph.texi, doc/posix-functions/islower.texi:
17326         * doc/posix-functions/isprint.texi, doc/posix-functions/ispunct.texi:
17327         * doc/posix-functions/isspace.texi, doc/posix-functions/isupper.texi:
17328         * doc/posix-functions/iswalnum.texi, doc/posix-functions/iswalpha.texi:
17329         * doc/posix-functions/iswcntrl.texi, doc/posix-functions/iswctype.texi:
17330         * doc/posix-functions/iswdigit.texi, doc/posix-functions/iswgraph.texi:
17331         * doc/posix-functions/iswlower.texi, doc/posix-functions/iswprint.texi:
17332         * doc/posix-functions/iswpunct.texi, doc/posix-functions/iswspace.texi:
17333         * doc/posix-functions/iswupper.texi, doc/posix-functions/iswxdigit.texi:
17334         * doc/posix-functions/isxdigit.texi, doc/posix-functions/toascii.texi:
17335         * doc/posix-functions/memcpy.texi, doc/posix-functions/memmove.texi:
17336         * doc/posix-functions/memset.texi, doc/posix-functions/stpcpy.texi:
17337         * doc/posix-functions/stpncpy.texi, doc/posix-functions/strcat.texi:
17338         * doc/posix-functions/strcpy.texi, doc/posix-functions/strncat.texi:
17339         * doc/posix-functions/strncpy.texi:
17340         * doc/posix-functions/tolower.texi, doc/posix-functions/toupper.texi:
17341         * doc/posix-functions/towlower.texi, doc/posix-functions/towupper.texi:
17342         Document that Gnulib fixes portability problems with these
17343         functions on OS X 10.8 and earlier when called from plain inline
17344         or extern inline functions.
17346 2013-09-17  Kevin Cernekee  <cernekee@gmail.com>
17348         fflush, freadahead, fseeko: Fix for Android
17349         Suggested by Bruno Haible in:
17350         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00306.html>
17351         * lib/stdio-impl.h: Use local __sfileext definition.
17353 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>
17355         pmccabe2html: Portability to other awk versions.
17356         The functions systime() and strftime() are available
17357         in Gawk only.  Properly close two HTML-tags 'style'
17358         and 'span'.
17359         * build-aux/pmccabe2html (BEGIN): Store timing
17360         strings in EPOCH_TIME and CHRONOS_TIME.  Replace
17361         systime() in HTML_COMMENT.
17362         (html_header): Correctly close tag 'style'.
17363         (END): Replace strftime() by CHRONOS_TIME.  Close
17364         tag 'span' correctly, not as 'div'.
17366 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
17368         getgroups: statement without effect
17369         * lib/getgroups.c (rpl_getgroups) [HAVE_GETGROUPS]:
17370         Change equality conditional to expected assignment.
17372 2013-09-09  Eric Blake  <eblake@redhat.com>
17374         glob: fix compilation
17375         * lib/glob.in.h (__THROW): Fix missing line in previous commit.
17377 2013-09-07  Eric Blake  <eblake@redhat.com>
17379         glob: fix build for platforms without __THROW
17380         * lib/glob.in.h (__THROW): Add definition again.
17382 2013-09-04  Anton Ovchinnikov  <revolver112@gmail.com>  (tiny change)
17384         regex-quote: fix buffer access out of bounds
17385         http://lists.gnu.org/r/bug-gnulib/2013-09/msg00001.html
17386         * lib/regex-quote.c (regex_quote_spec_pcre):
17387         Fix typo that resulted in an out-of-bounds read.
17389 2013-09-04  Eric Blake  <eblake@redhat.com>
17391         glob: avoid -Wattribute warnings on glibc
17392         * lib/glob.c (next_brace_sub, prefix_array, collated_compare): Use
17393         __THROWNL, not __THROW, on static functions.
17394         * lib/glob.in.h (__THROW): Adjust...
17395         (__THROWNL): ...accordingly.
17397 2013-08-28  Paul Eggert  <eggert@cs.ucla.edu>
17399         headers: check that _GL_INLINE_HEADER_BEGIN is defined
17400         Suggested by Bruce Korb in:
17401         http://lists.gnu.org/r/bug-gnulib/2013-08/msg00070.html
17402         * doc/extern-inline.texi (extern inline):
17403         Suggest checking that _GL_INLINE_HEADER_BEGIN is defined.
17404         * lib/acl-internal.h, lib/argp-fmtstream.h, lib/argp.h:
17405         * lib/binary-io.h, lib/bitrotate.h, lib/count-leading-zeros.h:
17406         * lib/count-one-bits.h, lib/eealloc.h, lib/execinfo.in.h:
17407         * lib/gethrxtime.h, lib/gl_list.h, lib/gl_oset.h, lib/gl_xlist.h:
17408         * lib/gl_xoset.h, lib/gl_xsublist.h, lib/glthread/cond.h:
17409         * lib/glthread/thread.h, lib/math.in.h, lib/mbchar.h, lib/mbfile.h:
17410         * lib/mbiter.h, lib/mbuiter.h, lib/openat.h, lib/pipe-filter-aux.h:
17411         * lib/priv-set.h, lib/pthread.in.h, lib/savewd.h, lib/se-context.in.h:
17412         * lib/se-selinux.in.h, lib/sig-handler.h, lib/stat-time.h:
17413         * lib/sys_socket.in.h, lib/timespec.h, lib/u64.h, lib/unistd.in.h:
17414         * lib/utimens.h, lib/wctype.in.h, lib/xalloc.h, lib/xsize.h:
17415         * lib/xtime.h:
17416         Check that _GL_INLINE_HEADER_BEGIN is defined.
17418 2013-08-29  Pádraig Brady  <P@draigBrady.com>
17420         bootstrap: remove the --version requirement from ancillary tools
17421         * build-aux/bootstrap (check_exists): A new refactored function to
17422         determine if a command exists.
17423         (find_tool): Use the new function which does not require the
17424         --version option to be supported.
17425         (check_versions): Use the new function.
17427 2013-08-26  Simon Josefsson  <simon@josefsson.org>
17429         gc: support HMAC-SHA256 and HMAC-SHA512.
17430         * lib/gc.h: Add gc_hmac_sha256 and gc_hmac_sha512.
17431         * lib/gc-libgcrypt.c (gc_hmac_sha256, gc_hmac_sha512): New
17432         functions.
17433         (gc_hmac_md5): Use symbolic constant.
17434         * lib/gc-gnulib.c: Include hmac.h for HMAC-SHA256/512 too.
17435         (gc_hmac_sha256, gc_hmac_sha512): New functions.
17436         * lib/hmac.h: Add hmac_sha256 and hmac_sha512 prototypes.
17437         * m4/sha256.m4: Protect against empty expansion.
17438         * m4/sha512.m4: Likewise.
17439         * lib/hmac-sha256.c: New file.
17440         * lib/hmac-sha512.c: Likewise.
17441         * m4/gc-hmac-sha256.m4: Likewise.
17442         * m4/gc-hmac-sha512.m4: Likewise.
17443         * m4/gc-sha256.m4: Likewise.
17444         * m4/gc-sha512.m4: Likewise.
17445         * modules/crypto/gc-hmac-sha256: Likewise.
17446         * modules/crypto/gc-hmac-sha256-tests: Likewise.
17447         * modules/crypto/gc-hmac-sha512: Likewise.
17448         * modules/crypto/gc-hmac-sha512-tests: Likewise.
17449         * modules/crypto/hmac-sha256: Likewise.
17450         * modules/crypto/hmac-sha256-tests: Likewise.
17451         * modules/crypto/hmac-sha512: Likewise.
17452         * modules/crypto/hmac-sha512-tests: Likewise.
17453         * tests/test-gc-hmac-sha256.c: Likewise.
17454         * tests/test-gc-hmac-sha512.c: Likewise
17455         * tests/test-hmac-sha256.c: Likewise.
17456         * tests/test-hmac-sha512.c: Likewise
17458 2013-08-24  Daiki Ueno  <ueno@gnu.org>
17460         * m4/intl.m4: Update from gettext-0.18.3.1, which fixes a misuse
17461         of AC_CHECK_DECLS.
17463 2013-08-23  Paul Eggert  <eggert@cs.ucla.edu>
17465         selinux-at: omit unnecessary include
17466         * lib/selinux-at.c: Don't include dosname.h; not needed, since
17467         this source file doesn't use its macros, and subsidiary files that
17468         use the macros already include it.
17470 2013-08-21  Eric Blake  <eblake@redhat.com>
17472         d-ino: avoid false negative on symlink
17473         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use lstat.
17474         Reported by Stephane Chazelas.
17476 2013-08-12  Mike Miller  <mtmiller@ieee.org>  (tiny change)
17478         bootstrap: port to OpenBSD sed
17479         * build-aux/bootstrap (insert_if_absent): Port to OpenBSD sed which
17480         does not interpret `-' as a file argument to mean stdin.
17482 2013-08-15  Eric Blake  <eblake@redhat.com>
17484         warnings: minor optimization
17485         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use fewer processes.
17487         warnings: check -Wfoo rather than -Wno-foo
17488         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): If name begins with
17489         -Wno-, test if the compiler recognizes the positive form instead.
17491 2013-08-15  Karl Berry  <karl@gnu.org>
17493         * config/srclist-update: add option "doclicense" to placate
17494         pulling *.texi files from Emacs.  Write terse usage
17495         documentation at the top.
17497 2013-08-13  Paul Eggert  <eggert@cs.ucla.edu>
17499         xvasprintf-tests: port to GCC with hardening flags
17500         * tests/test-xvasprintf.c (test_xasprintf): Pass another arg to
17501         xasprintf, to pacify GCC.  Reported by Santiago Vila in:
17502         http://lists.gnu.org/r/bug-diffutils/2013-08/msg00002.html
17504 2013-08-11  Paul Eggert  <eggert@cs.ucla.edu>
17506         fpending: port to recent Cygwin change to stdio_ext.h
17507         Reported by LRN in
17508         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00028.html>.
17509         * lib/fpending.h: Don't worry about HAVE_DECL___FPENDING;
17510         just declare __fpending unless it's a macro.
17511         A duplicate decl shouldn't hurt.
17512         * m4/fpending.m4 (gl_FUNC_FPENDING): Check that an __fpending
17513         call compiles and links, instead of separately checking for
17514         decl and lib function.
17515         * modules/fpending (configure-ac):
17516         Adjust to fpending.m4's renaming of shell variable.
17518 2013-08-10  Paul Eggert  <eggert@cs.ucla.edu>
17520         sys_time: port to OpenBSD
17521         * lib/sys_time.in.h: Simply delegate to the system's header
17522         in the BSDish cases as well.  Problem reported by Mike Miller in
17523         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00016.html>.
17524         * tests/test-sys_select.c, tests/test-sys_time.c (verify_tv_sec_type):
17525         Allow platforms like 64-bit OpenBSD where timeval's tv_sec is
17526         wider than time_t.
17528 2013-08-09  Pádraig Brady  <P@draigBrady.com>
17530         bootstrap: support checksum utils having -c but not --status
17531         * build-aux/bootstrap: Only look for sha1sum if updating po files.
17532         Add sha1 to the list of supported checksum utils since it's now
17533         supported through adjustments below.
17534         (update_po_files): Remove the use of --status
17535         in a way that will suppress all error messages, but since this is
17536         only used to minimize updates, it shouldn't cause an issue.
17537         Exit early if there is a problem updating the po file checksums.
17538         (find_tool): Remove the check for --version support as this
17539         is optional as per commit 86186b17.  Don't even check for the
17540         presence of the command as if that is needed, it's supported
17541         through configuring prerequisites in bootstrap.conf.
17542         Prompt that when a tool isn't found, one can define an environment
17543         variable to add to the hardcoded search list.
17545 2013-08-05  Jim Meyering  <meyering@fb.com>
17547         regex: port to non-glibc/lock-using systems
17548         Since 29-05-2013 commit, 55ba71f4, compilation on a non-glibc
17549         system with GNULIB_LOCK would fail due to absence of the
17550         included "glthread/lock.h".  This would affect any package
17551         for which the "lock" module is used only by the regex module,
17552         and not explicitly used.
17553         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_GLIBC21.
17554         * modules/regex (Depends-on) [!GLIBC && $ac_use_included_regex]:
17555         Add a dependency on the "lock" module.
17557 2013-07-20  Daiki Ueno  <ueno@gnu.org>
17559         localecharset: make locale_charset thread-safe on Mac OS X
17560         * lib/localcharset.c (locale_charset) [DARWIN7]: Use MB_CUR_MAX_L
17561         instead of MB_CUR_MAX.
17563 2013-07-20  Daiki Ueno  <ueno@gnu.org>
17565         gettext: update to version 0.18.3
17566         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.3.  In particular,
17567         require AC_PROG_SED to allow user to specify custom sed command when
17568         generating en@quot PO file.
17570 2013-07-18  Werner Lemberg  <wl@gnu.org>  (tiny change)
17572         bootstrap: use correct source when copying build-aux files
17573         * build-aux/bootstrap (gnulib_extra_files): This variable is
17574         relative to upstream gnulib layout, not downstream.
17576 2013-07-17  Paul Eggert  <eggert@cs.ucla.edu>
17578         tmpdir: fix bug in VMS port
17579         * lib/tmpdir.c (path_search) [__VMS]: Never add slash.
17580         See Steven M. Schweda in
17581         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00026.html>.
17583 2013-07-15  Paul Eggert  <eggert@cs.ucla.edu>
17585         tmpdir: port to VMS, to // != /, and to long dirs
17586         * lib/tmpdir.c (__libc_secure_getenv) [!_LIBC]: Rename from
17587         __secure_getenv, so that we're more like the glibc version.
17588         All uses changed.
17589         (path_search): Don't put slash after directory if __VMS.
17590         Problem reported by Steven M. Schweda in
17591         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00019.html>.
17592         Simplify code to add slash; no need for a loop.
17593         Do not remove trailing slash from "//".
17594         Do not assume dlen <= INT_MAX.
17596 2013-07-09  Paul Eggert  <eggert@cs.ucla.edu>
17598         regex: port to --with-included-regex --enable-gcc-warnings non-threaded
17599         * lib/regex_internal.h (lock_fini, lock_lock): Rework to avoid
17600         gcc warnings in the non-threaded case.  Reported by Charlie Brown in
17601         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00015.html>.
17603         accept4, dup3, pipe2: port to Cygwin
17604         Problem reported for Emacs by Ken Brown in <http://bugs.gnu.org/14821>.
17605         * lib/accept4.c (accept4) [O_BINARY]:
17606         * lib/dup3.c (dup3) [O_BINARY]:
17607         * lib/pipe2.c (pipe2) [O_BINARY]:
17608         Use set_binary_mode, not setmode.
17609         * lib/pipe2.c [!GNULIB_BINARY_IO]: Include binary-io.h.
17610         * modules/binary-io (Depends-on): Remove module indicator.
17611         These last two bits undo the previous change to pipe2 and binary-io.
17613 2013-07-09  Pádraig Brady  <P@draigBrady.com>
17615         mountlist: add support for deallocating returned list entries
17616         * lib/mountlist.c (free_mount_entry): A new exported function
17617         to deallocate a mount list entry.
17618         (read_file_system_list): Refactor to use the new deallocation function.
17619         Suggested by Anton Ovchinnikov.
17621 2013-07-07  Paul Eggert  <eggert@cs.ucla.edu>
17623         stdalign, verify: port to FreeBSD 9.1, to C11, and to C++11
17624         Problem reported by Ulrich Mueller in <http://bugs.gnu.org/14812>.
17625         * lib/stdalign.in.h (_Alignas, _Alignof):
17626         Port to FreeBSD 9.1, and to C11 and C++11.
17627         (_Alignas): Also support ICC.
17628         * lib/verify.h (_Static_assert): Undef if <stddef.h> defines it.
17629         * m4/stdalign.m4 (gl_STDALIGN_H): Port to ICC and to C++11.
17631 2013-07-06  Paul Eggert  <eggert@cs.ucla.edu>
17633         fnmatch: don't goto over declaration
17634         * lib/fnmatch_loop.c (FCT): Hoist local up one level, to avoid
17635         undefined behavior for goto over a declaration.
17636         Problem reported by Charlie Brown in
17637         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00009.html>.
17639         pipe2: decouple from binary-io a bit
17640         This is for Emacs, which needs pipe2 but not binary-io.
17641         * lib/pipe2.c [!GNULIB_BINARY_IO]: Don't include binary-io.h.
17642         * modules/binary-io (Depends-on): Add module indicator.
17644 2013-07-03  Eric Blake  <eblake@redhat.com>
17646         mgetgroups: relax license to LGPLv2+
17647         * modules/getugroups (License): Change from GPLv3+.
17648         * modules/mgetgroups (License): Likewise.
17649         * modules/getgroups (License): Change from LGPLv3+.
17651         xalloc-oversized: relax license to LGPLv2+
17652         * modules/xalloc-oversized (License): Change from GPLv3+.
17654         nproc: relax license to LGPLv2+
17655         * modules/nproc (License): Change from LGPLv3+.
17657         bootstrap: honor --no-git
17658         * build-aux/bootstrap: Don't even try to use git when user is
17659         pointing to a static checkout.
17661 2013-06-23  Paul Eggert  <eggert@cs.ucla.edu>
17663         ignore-value: port to gcc -pedantic
17664         * lib/ignore-value.h (ignore_value):
17665         Port to gcc -pedantic, by using __extension__.
17666         Reindent as per usual gnulib style nowadays.
17667         Simplify GCC version check.
17669 2013-06-21  Paul Eggert  <eggert@cs.ucla.edu>
17671         extern-inline: port to gcc -std=c89
17672         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
17673         Do not use __gnu_inline__ if pedantic and pre-C99.
17675 2013-06-18  Paul Eggert  <eggert@cs.ucla.edu>
17677         doc: document extern-inline
17678         * doc/extern-inline.texi: New file.
17679         * doc/gnulib.texi (alloca-opt): Include it.
17680         * m4/extern-inline.m4: Move some comments to documentation,
17681         and others closer to what they describe.
17683         doc: chatter less
17684         * doc/Makefile (NEWEST_GNULIB_TEXI_FILE): New macro.
17685         (updated-stamp): Use it.  This causes 'make' to output just
17686         one file name rather than zillions.
17688         fflush, fseeko: port to musl cross-compiles
17689         * lib/fseeko.c (fseeko): Assume that fflushing stdin works if
17690         on some implementation that (1) is not known to be buggy,
17691         (2) claims conformance to POSIX.1-2008 or later, and (3) is being
17692         cross-compiled to so we can't easily check for lack of
17693         conformance.  This is for cross-compiling to musl.
17694         Reported by Rich Felker in
17695         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00043.html>.
17696         * m4/fclose.m4 (gl_FUNC_FCLOSE):
17697         * m4/fflush.m4 (gl_FUNC_FFLUSH):
17698         * m4/fseeko.m4 (gl_FUNC_FSEEKO):
17699         Adjust to above change.
17700         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Set gl_cv_func_fflush_stdin
17701         to 'cross', not to 'no', when cross-compiling.  AC_DEFINE
17702         FUNC_FFLUSH_STDIN to 1, 0, -1 if fflushing stdin is known to work,
17703         known not to work, or unknown.
17705 2013-06-15  Paul Eggert  <eggert@cs.ucla.edu>
17707         msvc-inval: port to mingw-w64
17708         * lib/msvc-inval.c (gl_msvc_invalid_parameter_handler):
17709         Use __cdecl, not cdecl, for mingw-w64.  Reported by LRN in
17710         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00039.html>.
17712 2013-06-11  Paul Eggert  <eggert@cs.ucla.edu>
17714         getcwd-lgpl: port to Tru64
17715         * lib/getcwd-lgpl.c: Include <stdlib.h>, for malloc etc.
17716         Problem reported by Steven M. Schweda in
17717         <http://lists.gnu.org/r/bug-gzip/2013-06/msg00010.html>.
17719         tests: port large-fd POSIX spawn tests to OS X
17720         Problem reported by Daiki Ueno in
17721         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00031.html>.
17722         * tests/test-posix_spawn_file_actions_addclose.c:
17723         * tests/test-posix_spawn_file_actions_adddup2.c:
17724         * tests/test-posix_spawn_file_actions_addopen.c:
17725         Include <limits.h>, for OPEN_MAX, if available.
17726         (big_fd): New static function.
17727         (main): Use it.
17729 2013-06-04  Bernhard Voelker  <mail@bernhard-voelker.de>
17731         tests/nap.h: use an adaptive delay to avoid ctime update issues
17732         The recent change in nap.h (5191133e) decreased the probability of lost
17733         races to about a third, however such problems could still be observed
17734         in virtual machines and openSUSE's OBS.
17735         Before, nap() detected the needed time once empirically and then used
17736         that delay (together with a small correction multiplier) in further
17737         calls.  This problem has been reported and discussed several times,
17738         including guesses about possible kernel issues:
17739         https://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html
17740         http://lists.gnu.org/r/coreutils/2012-03/msg00088.html
17741         https://lists.gnu.org/r/bug-gnulib/2011-11/msg00226.html
17742         http://bugs.gnu.org/12820
17743         https://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html
17744         https://lists.gnu.org/r/bug-gnulib/2009-11/msg00007.html
17745         Now, nap() avoids the race alltogether by verifying on a reference
17746         file whether a timestamp difference has happened.
17747         * tests/nap.h (nap_fd): Define file descriptor variable for the
17748         witness file.
17749         (nap_works): Change return value to bool.  Change passing
17750         the old file's status by value instead of by reference as this function
17751         does no longer update that timestamp; rename the function argument from
17752         st to old_st.  Remove the local variables cdiff and mdiff because that
17753         function now returns true/false instead of the precise delay.
17754         (guess_delay): Remove function.
17755         (clear_tmp_file): Add new function to close and unlink the witness file.
17756         (nap): Instead of re-using the delay which has been calculated during
17757         the first call, avoid the race by actually verifying that a timestamp
17758         difference can be observed on the current file system.  Use an adaptive
17759         approach for the delay to minimize execution time.  Assert that the
17760         maximum delay is <= ~2 seconds, more precisely sum(2^n) from 0 to 30
17761         = 2^31 - 1 = 2.1s.
17762         Use atexit to call clear_tmp_file when the process terminates.
17764 2013-06-02  Paul Eggert  <eggert@cs.ucla.edu>
17766         sig2str: port to C++
17767         * lib/sig2str.h (sig2str, str2sig): Declare as extern "C".
17768         Reported by Daniel J Sebald in
17769         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00000.html>.
17771 2013-05-30  Eric Blake  <eblake@redhat.com>
17773         docs: mention cygwin shortcoming in <sys/un.h>
17774         * doc/posix-headers/sys_un.texi (sys/un.h): Mention problem.
17776         vasnprintf: silence mingw compiler warning
17777         * lib/vasnprintf.c (VASNPRINTF): Avoid unused variable warning.
17779 2013-05-29  Paul Eggert  <eggert@cs.ucla.edu>
17781         c-ctype, regex, verify: port to gcc -std=c90 -pedantic
17782         Avoid constructions that are rejected by gcc -std=c90 -pedantic.
17783         This fixes a porting bug I recently reintroduced in regex, and
17784         some other instances that I discovered while testing the fix.
17785         * lib/c-ctype.h [__STRICT_ANSI__]: Avoid ({ ... }).
17786         * lib/regcomp.c (utf8_sb_map) [__STRICT_ANSI__]: Avoid [0 ... N] = E.
17787         * lib/regex_internal.h [!_LIBC && GNULIB_LOCK]: Do not use a macro
17788         with an empty argument if this is a pedantic pre-C99 GCC.
17789         * lib/verify.h: Do not use _Static_assert if this is a pedantic
17790         pre-C11 GCC.
17792         regex: adapt to locking regime instead of depending on pthread
17793         Instead of depending on pthread, adapt to whatever thread
17794         modules are in use.  Problem reported by Ludovic Courtès in
17795         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00082.html>
17796         and by Mats Erik Andersson in
17797         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00100.html>.
17798         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
17799         Support either the 'lock' module, or the 'pthread' module, or
17800         no module.
17801         (lock_lock, lock_unlock): New macros.
17802         * lib/regexec.c (regexec, re_search_stub): Use the new macros.
17803         * modules/lock, modules/pthread (configure.ac): Add module indicator.
17804         * modules/regex (Depends-on): Remove pthread.
17806 2013-05-22  Eric Blake  <eblake@redhat.com>
17808         getgroups: document portability issues
17809         * doc/glibc-functions/initgroups.texi (initgroups): Mention
17810         multithread safety.
17811         * doc/posix-functions/getpwuid.texi (getpwuid): Likewise.
17812         * doc/posix-functions/getpwuid_r.texi (getpwuid_r): Likewise.
17813         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Mention
17814         getugroups.
17815         * doc/posix-functions/getgroups.texi (getgroups): Mention
17816         multithread safety and mgetgroups.
17818 2013-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
17820         test-lchown, test-chown: also skip test if chown fails with EPERM
17821         * tests/test-lchown.h (test_lchown): Add EPERM to the condition to
17822         skip this test, to handle FAT file systems.
17823         * tests/test-chown.h (test_chown): Likewise.
17825 2013-05-19  Paul Eggert  <eggert@cs.ucla.edu>
17827         regex: fix dfa race in multithreaded uses
17828         Problem reported by Ludovic Courtès in
17829         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00058.html>.
17830         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
17831         New macros.  All uses of __libc_lock_define, __libc_lock_init
17832         changed to use the first two of these.
17833         (__libc_lock_lock, __libc_lock_unlock): New macros, for
17834         non-glibc platforms.
17835         (struct re_dfa_t): Define the lock unconditionally.
17836         * lib/regexec.c (regexec, re_search_stub): Remove some now-incorrect
17837         '#ifdef _LIBC"s.
17838         * modules/regex (Depends-on): Add pthread, if we use the
17839         included regex.
17841         * lib/regcomp.c: Do actions that are not needed for glibc,
17842         but may be needed elsewhere.
17843         (regfree, re_compile_internal): Destroy the lock.
17844         (re_compile_internal): Check for lock-initialization failure.
17846         malloca: port to compilers that reject size-zero arrays
17847         This fixes a bug introduced in my previous patch.
17848         * lib/malloca.c (struct preliminary_header): Use an int
17849         rather than a character array of size int; that's simpler.
17850         (struct header): Remove, replacing with ...
17851         (union header): New type.  This avoids the need for declaring a
17852         character array of size zero, which is not allowed on some platforms.
17853         All uses changed.
17855 2013-05-18  Paul Eggert  <eggert@cs.ucla.edu>
17857         parse-datetime, tests: don't use "string" + int
17858         Recent versions of 'clang' complain about C source code that
17859         uses expressions of the form '"string literal" + integer',
17860         I guess on the theory that it's confusing for readers who are
17861         used to C++.  On those grounds I suppose it's OK to make this
17862         minor style change.
17863         * lib/parse-datetime.y (parse_datetime):
17864         * tests/test-fchdir.c (main):
17865         * tests/test-snprintf-posix.h (test_function):
17866         * tests/test-snprintf.c (main):
17867         * tests/test-vasnprintf-posix.c (test_function):
17868         * tests/test-vasnprintf.c (test_function):
17869         * tests/test-vsnprintf.c (main):
17870         * tests/unistdio/test-ulc-asnprintf1.h (test_function):
17871         Rewrite '"str" + E' to '&"str"[E]'.
17873 2013-05-17  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
17875         argmatch: port to C++
17876         * lib/argmatch.h [__cplusplus]: Add extern "C".
17878         argp: typo fix
17879         * lib/argp-help.c: Typo in comment.
17881 2013-05-15  Paul Eggert  <eggert@cs.ucla.edu>
17883         manywarnings: update for GCC 4.8.0
17884         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
17885         Add -Waggressive-loop-optimizations, -Wreturn-local-addr, which
17886         are new to GCC 4.8.  Remove -Wformat=2, -Wmissing-format-attribute,
17887         -Wmissing-noreturn, as they are duplicates of other warnings.
17888         Remove -Wunreachable-code, as it is removed in GCC 4.8 and
17889         was documented to be flaky in earlier versions of GCC.
17891         spawn-tests, sys_socket-tests, sys_wait-tests: port to clang
17892         * tests/test-spawn.c (main):
17893         * tests/test-sys_socket.c (main):
17894         * tests/test-sys_wait.c (main):
17895         Don't have a switch value that isn't covered by a case.
17897         getaddrinfo-tests: port --enable-gcc-warnings to clang
17898         * tests/test-getaddrinfo.c (simple):
17899         Avoid casts from looser to stricter-aligned pointers.
17901         thread: port --enable-gcc-warnings to clang
17902         * lib/glthread/thread.h [__clang__ && USE_POSIX_THREADS_WEAK]:
17903         Include <signal.h>, to pacify a warning about pthread_sigmask.
17905         stdio: use __REDIRECT for fwrite, fwrite_unlocked
17906         * lib/stdio.in.h (fwrite):
17907         When working around bug 11959, use __REDIRECT rather than '#define
17908         fwrite(...) ... fwrite (...) ...'.  This is a more-targeted way to
17909         fix the -Wunused-value issue with clang, and it works with GCC too.
17910         Problem with targeting reported by Eric Blake in
17911         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00067.html>.
17912         (fwrite_unlocked): Treat like fwrite.  I ran into this issue while
17913         debugging the fwrite issue.
17915         stdio: port --enable-gcc-warnings to clang
17916         * lib/stdio.in.h (fwrite) [__clang__]: Ignore -Wunused-value entirely,
17917         since the GCC workaround for fwrite does not pacify clang.
17919         sig2str: port --enable-gcc-warnings to clang
17920         * lib/sig2str.c (sig2str): Avoid warning about unused printf argument.
17922         obstack: port --enable-gcc-warnings to clang
17923         * lib/obstack.h (obstack_ptr_grow_fast, obstack_int_grow_fast):
17924         Avoid casts from looser to stricter-aligned pointers.
17926         memchr2: port --enable-gcc-warnings to clang
17927         * lib/memchr2.c (memchr2):
17928         Avoid casts from looser to stricter-aligned pointers.
17930         mbsstr: port --enable-gcc-warnings to clang
17931         * lib/mbsstr.c (knuth_morris_pratt_multibyte):
17932         Avoid casts from looser to stricter-aligned pointers.
17934         malloca: port --enable-gcc-warnings to clang
17935         * lib/malloca.c (struct header): New member 'magic', to avoid casts.
17936         (mmalloca): Avoid casts from looser to stricter-aligned pointers.
17938         inttostr: port --enable-gcc-warnings to clang
17939         * lib/anytostr.c [__clang__]: Ignore -Wtautological-compare.
17941         warnings: port to clang
17942         Problem reported by Daniel P. Berrange via Eric Blake in
17943         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00055.html>.
17944         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS): New macro.
17945         (gl_WARN_ADD): Use it.
17947 2013-05-11  Jim Meyering  <meyering@fb.com>
17949         quotearg: do not read beyond end of buffer
17950         * lib/quotearg.c (quotearg_buffer_restyled): Do not read beyond the
17951         end of an ARG for which no length was specified.  With an N-byte
17952         quote string, (e.g., N is 3 in the fr_FR.UTF-8 locale), this function
17953         would read N-2 bytes beyond ARG's trailing NUL.  This was triggered
17954         via coreutils' misc/sort-debug-keys.sh test and detected by running
17955         the test against a binary compiled with gcc-4.8.0's -fsanitize=address.
17956         * tests/test-quotearg-simple.c (main): Add a test to trigger the bug.
17957         * modules/quotearg-simple-tests (Files): Add tests/zerosize-ptr.h.
17958         Introduced via the 2000-01-15 commit, c4b7f3f8, "Quote multibyte
17959         characters correctly."
17961 2013-05-11  Daiki Ueno  <ueno@gnu.org>
17963         lock: work around pthread recursive mutexes bug in Mac OS X 10.6
17964         * m4/lock.m4: Don't define HAVE_PTHREAD_MUTEX_RECURSIVE if the
17965         compilation target is Mac OS X 10.6.
17966         Problem reported by parafin and Andoni Morales in
17967         <http://savannah.gnu.org/bugs/?37844> and
17968         <http://lists.gnu.org/r/bug-gettext/2013-05/msg00007.html>.
17970 2013-05-11  Paul Eggert  <eggert@cs.ucla.edu>
17972         mkdir-p: remove assumptions about umask and mode
17973         * lib/mkdir-p.c (make_dir_parents): Do not assume that the current
17974         umask is 0, or that MODE is a subset of MODE_BITS.
17976 2013-05-10  Eric Blake  <eblake@redhat.com>
17978         maint.mk: catch more abuse of HAVE_DECL in syntax-check
17979         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex.
17981 2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
17983         deps: require Automake >= 1.9.6 in generated Makefile fragments
17985         That is the same minimal version required in the DEPENDENCIES file.
17986         Moreover, the old code generated a requirement of Automake >= 1.5,
17987         and that is an insanely outdated version.
17989         * gnulib-tool: Bump minimal version requirement in AUTOMAKE_OPTIONS.
17990         * tests/havelib/rpathlx/Makefile.am: Likewise.
17991         * tests/havelib/rpathly/Makefile.am: Likewise.
17992         * tests/havelib/rpathlyx/Makefile.am: Likewise.
17993         * tests/havelib/rpathlz/Makefile.am: Likewise.
17994         * tests/havelib/rpathlzyx/Makefile.am: Likewise.
17995         * tests/havelib/rpathx/Makefile.am: Likewise.
17996         * tests/havelib/rpathy/Makefile.am: Likewise.
17997         * tests/havelib/rpathz/Makefile.am: Likewise.
17999 2013-05-08  Eric Blake  <eblake@redhat.com>
18001         bootstrap: AC_INIT may have more than four parameters
18002         * build-aux/bootstrap (extract_package_name): Correctly extract
18003         non-empty tarname field.  Avoid range in regex.
18004         Based on a report by Sami Kerola <kerolasa@iki.fi>.
18006 2013-05-07  Paul Eggert  <eggert@cs.ucla.edu>
18008         qacl: port to MS-Windows port of GNU Emacs
18009         * lib/acl-errno-valid.c (acl_errno_valid) [ENOTSUP == ENOSYS]:
18010         Omit the duplicate ENOTSUP case.  Needed for the MS-Windows
18011         port of GNU Emacs.  Problem reported by Eli Zaretskii in
18012         <http://bugs.gnu.org/14295#14>.
18014 2013-05-07  Mike Frysinger  <vapier@gentoo.org>
18016         acl: include quote.h
18017         * lib/copy-acl.c: Include quote.h.
18018         * lib/set-acl.c: Likewise.
18020 2013-05-06  Mike Frysinger  <vapier@gentoo.org>
18022         fchownat, renameat, unlinkat: update statat dependencies
18023         These modules use statat and lstatat, not fstatat; so depend on
18024         the statat module, which was split out recently from fstatat.
18025         * modules/fchownat, modules/unlinkat: Change fstatat to statat.
18026         * modules/renameat: Likewise.  Also delete fstat.
18027         URL: http://bugs.gentoo.org/468790
18029 2013-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
18031         Assume gnulib is checked out from Git, not CVS
18033         In fact, access to the gnulib repository through CVS has been
18034         disabled, or more precisely, got broken and was never restored; see:
18035         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00008.html>
18037         Note that support for CVS is not removed completely and unthinkingly
18038         by this change: only support for CVS checkouts of gnulib itself is
18039         removed.  For example, the 'bootstrap' script still cater to .cvsingore
18040         files and CVS directories, for the benefit of those poor gnulib clients
18041         still stuck with CVS.  Ditto for the 'gnulib-tool' script itself.
18043         * gnulib-tool: Simplify accordingly.
18044         * posix-modules: Likewise.
18045         * MODULES.html.sh: Likewise.
18046         * doc/gnulib.texi: No longer mention the decommissioned CVS gnulib
18047         repository.
18048         * doc/gnulib-intro.texi: Likewise.
18049         * doc/gnulib-readme.texi: Likewise.
18050         * doc/gnulib-tool.texi: In the examples and explanations, refer to a
18051         sample '.gitignore' file rather than a sample '.cvsignore'.
18052         * NEWS: Update.
18053         * m4/extensions.m4: While at it, remove a comment mistakenly referring
18054         to "CVS Autoconf" rather than "git Autoconf".
18056 2013-04-30  Paul Eggert  <eggert@cs.ucla.edu>
18058         utimensat-tests, etc.: try to fix some races
18059         Problem reported by Bernhard Voelker in
18060         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html>.
18061         I don't know whether this patch fixes that race condition, but it
18062         fixes *some* race conditions, so it should be a win.
18063         * modules/chown-tests (Depends-on):
18064         * modules/fchownat-tests (Depends-on):
18065         * modules/fdutimensat-tests (Depends-on):
18066         * modules/futimens-tests (Depends-on):
18067         * modules/lchown-tests (Depends-on):
18068         * modules/stat-time-tests (Depends-on):
18069         * modules/utimens-tests (Depends-on):
18070         * modules/utimensat-tests (Depends-on):
18071         Depend on nanosleep, not usleep.
18072         * modules/chown-tests (test_chown_LDADD):
18073         * modules/lchown-tests (test_lchown_LDADD):
18074         * modules/stat-time-tests (test_stat_time_LDADD):
18075         New macro.
18076         * modules/fchownat-tests (test_fchownat_LDADD):
18077         * modules/fdutimensat-tests (test_fdutimensat_LDADD):
18078         * modules/futimens-tests (test_futimens_LDADD):
18079         * modules/utimens-tests (test_utimens_LDADD):
18080         * modules/utimensat-tests (test_utimensat_LDADD):
18081         Add $(LIB_NANOSLEEP).
18082         * modules/stat-time-tests (Files): Add tests/nap.h.
18083         * tests/nap.h: Include <limits.h>, for INT_MAX.
18084         (lt_mtime): Remove.
18085         (diff_timespec): New function.
18086         (get_stat): Rename from get_mtime.  All callers changed.
18087         (nap_works): Determine the needed delay by inspecting the
18088         file system's timestamp jumps; this should be more reliable.
18089         Look at both mtime and ctime, and take the maximum of the two jumps.
18090         (nap_works, guess_delay):
18091         Return a nanosecond count, not a microsecond count.
18092         All callers changed.
18093         (nap_works, nap): Use nanosleep, not usleep.  Check for nanosleep
18094         failure.
18095         (nap): Multiply the guess by 1.125, to accommodate the case where
18096         the file system's clock is a bit slower than nanosleep's clock.
18097         * tests/test-stat-time.c (BASE): New macro.
18098         Include nap.h.
18099         (nap): Remove; nap.h now defines this.  This removes a duplicate
18100         implementation of 'nap'.
18102         utimens, utimensat: work around Solaris UTIME_OMIT bug
18103         Solaris 11.1 and Solaris 10 have the same UTIME_OMIT bug that
18104         Linux kernel 2.6.32 does.  Work around it in the same way.
18105         * doc/posix-functions/futimens.texi (futimens):
18106         * doc/posix-functions/utimensat.texi (utimensat): Document the bug.
18107         * lib/utimens.c (fdutimens, lutimens):
18108         * lib/utimensat.c (rpl_utimensat): Work around the bug.
18110         gettext: now it's your responsibility to add -I$(top_builddir)/intl
18111         Formerly, it was your responsibility to do this for all Makefile.ams
18112         other than Gnulib's.  Now it's your responsibility to do it for
18113         Gnulib's Makefile.am, too.
18114         * NEWS: Document this.
18115         * modules/gettext (AM_CPPFLAGS): Don't append -$(top_builddir)/intl.
18117         acl: include errno.h to get errno
18118         Reported by Daiki Ueno in
18119         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00073.html>.
18120         * lib/copy-acl.c, lib/set-acl.c: Include errno.h.
18122 2013-04-29  Paul Eggert  <eggert@cs.ucla.edu>
18124         tests: don't assume getdtablesize () <= 10000000
18125         * modules/cloexec-tests:
18126         * modules/dup2-tests:
18127         * modules/dup3-tests:
18128         * modules/nonblocking-tests:
18129         * modules/posix_spawn_file_actions_addclose-tests:
18130         * modules/posix_spawn_file_actions_adddup2-tests:
18131         * modules/posix_spawn_file_actions_addopen-tests:
18132         * modules/unistd-safer-tests:
18133         Depend on the getdtablesize module.
18134         * tests/test-cloexec.c:
18135         * tests/test-dup-safer.c:
18136         * tests/test-dup2.c:
18137         * tests/test-dup3.c:
18138         * tests/test-fcntl.c:
18139         * tests/test-nonblocking.c:
18140         * tests/test-posix_spawn_file_actions_addclose.c:
18141         * tests/test-posix_spawn_file_actions_adddup2.c:
18142         * tests/test-posix_spawn_file_actions_addopen.c:
18143         Don't assume getdtablesize () <= 10000000.
18145 2013-04-28  Paul Eggert  <eggert@cs.ucla.edu>
18147         extern-inline: work around bug in Sun c99
18148         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
18149         Work around bug in Sun C 5.12 c99's implementation of 'inline'.
18151 2013-04-27  Paul Eggert  <eggert@cs.ucla.edu>
18153         qacl: new module, broken out from the acl module
18154         This is for GNU Emacs, which wants the acl functions but does
18155         not want 'error' invoked when they fail.
18156         * lib/acl-internal.h: Do not include error.h, quote.h.
18157         (ENOSYS, ENOTSUP): Remove; no longer needed.
18158         (ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid.
18159         * lib/acl.h: Include <stdbool.h>.
18160         (acl_errno_valid): New function.
18161         * lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h.
18162         * lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c.
18163         * lib/set-acl.c: Rename from lib/set-mode-acl.c.
18164         (chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c.
18165         (ACL_INTERNAL_INLINE): Remove; no longer needed.
18166         * lib/file-has-acl.c (file_has_acl):
18167         * lib/qcopy-acl.c (qcopy_acl):
18168         * lib/qset-acl.c (qset_acl):
18169         Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED.
18170         * modules/acl (Files): Move lib/acl.h, lib/acl-internal.h,
18171         lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c),
18172         lib/file-has-acl.c, m4/acl.m4 to qacl module.
18173         Add lib/set-acl.c.
18174         (Depends-on): Move extern-inline, fstat, sys_stat to qacl module.
18175         Add qacl.
18176         (configure.ac): Move gl_FUNC_ACL to qacl module.
18177         (lib_SOURCES): Remove file-has-acl.c (moved to qacl module).
18178         Rename set-mode-acl.c to set-acl.c.
18179         * lib/acl-errno-valid.c: New file.
18180         * lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the
18181         copy_acl function remains in copy-acl.c.
18182         * lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h.
18183         (_): Remove; not needed.
18184         * lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the
18185         set_acl function remains in set-acl.c (renamed from set-mode-acl.c).
18186         * modules/qacl: New file, moved from the old modules/acl.
18187         (Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c.
18188         Remove set-mode-acl.c, copy-acl.c.
18189         (Depends-on): Remove error, gettext-h, quote.  Add stdbool.
18191         alignof, intprops, malloca: port better to IBM's C compiler
18192         * lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__.
18193         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1.
18194         * lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__.
18196 2013-04-25  Daiki Ueno  <ueno@gnu.org>
18198         wctype-h: fix gettext link error on mingw
18199         Reported by Josue Andrade Gomes and Takayuki Tsunakawa in
18200         <https://lists.gnu.org/r/bug-gettext/2013-03/msg00086.html>.
18201         * lib/wctype.in.h [__MINGW32__]: Include <ctype.h> before defining
18202         rpl_towupper and rpl_towupper.
18204 2013-04-11  Dmitry V. Levin  <ldv@altlinux.org>
18206         regex-tests, regex: allow glibc re_search behavior
18207         * tests/test-regex.c (main): In test for glibc bug 15078, reformat
18208         re_search input data to make the multi-character collating element
18209         in it clearly visible, and treat re_search return code 0 as valid.
18210         * m4/regex.m4 (gl_REGEX): Likewise.
18212 2013-03-30  Paul Eggert  <eggert@cs.ucla.edu>
18214         stdalign: doc fix
18215         * doc/posix-headers/stdalign.texi (stdalign.h):
18216         Gnulib doesn't support '_Alignof expr'.
18218 2013-03-29  Paul Eggert  <eggert@cs.ucla.edu>
18220         stdalign: port to stricter ISO C11
18221         ISO C11 says that _Alignof's operand must be a parenthesized type.
18222         Problem reported by Eli Zaretskii in
18223         <http://lists.gnu.org/r/emacs-devel/2013-03/msg00960.html>.
18224         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
18225         * m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr).
18227 2013-03-21  Paul Eggert  <eggert@cs.ucla.edu>
18229         sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
18230         Problem reported by Marco Atzeri in
18231         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00000.html>.
18232         * lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
18233         Simply delegate to the system <sys/select.h> in this case too.
18234         Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
18235         if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
18236         be needed on Solaris either.
18237         * lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
18238         Simply delegate to the system <sys/time.h> in this case.
18240 2013-03-19  Karl Berry  <karl@gnu.org>
18242         * build-aux/gnupload: check for erroneous (with gnupload) use of
18243         ftp-upload.gnu.org, tweak help.
18245 2013-03-19  Paul Eggert  <eggert@cs.ucla.edu>
18247         copy-file, rpmatch: fix problems found by cppcheck
18248         Reported by Arno Onken in
18249         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00069.html>.
18250         * lib/rpmatch.c (try): Fix memory leak.
18251         * lib/copy-file.c: Include "ignore-value.h".
18252         (qcopy_file_preserving): Ignore chown value.
18253         * modules/copy-file (Depends-on): Add ignore-value.
18255 2013-01-27  Jim Meyering  <jim@meyering.net>
18257         prefix-gnulib-mk: give better diagnostics
18258         * build-aux/prefix-gnulib-mk: Don't just "die".
18259         Give better diagnostics upon failure.
18261 2013-03-13  Paul Eggert  <eggert@cs.ucla.edu>
18263         putenv: port to Solaris 10
18264         * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not
18265         HAVE__PUTENV.  Solaris 10 has a _putenv that's not declared and
18266         is not what is wanted here.
18267         * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's
18268         declaration, not for its existence.
18270 2013-03-12  Paul Eggert  <eggert@cs.ucla.edu>
18272         mktime: fix configure typo
18273         * m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change.
18275 2013-03-12  Eric Blake  <eblake@redhat.com>
18277         regex-tests: skip UTF-8 test on mingw
18278         * modules/regex-tests (Depends-on): Add localcharset.
18279         * tests/test-regex.c (main): Use it to skip test on mingw.
18281 2013-03-11  Eric Blake  <eblake@redhat.com>
18283         tests: make it easier to bypass alarm time in debugger
18284         * tests/test-file-has-acl.c (main): Allow gdb to override alarm.
18285         * tests/test-memmem.c (main): Likewise.
18286         * tests/test-passfd.c (main): Likewise.
18287         * tests/test-ptsname.c (main): Likewise.
18288         * tests/test-ptsname_r.c (main): Likewise.
18289         * tests/test-strcasestr.c (main): Likewise.
18290         * tests/test-strstr.c (main): Likewise.
18292         regex: port to mingw's recent addition of undeclared alarm
18293         * doc/posix-functions/alarm.texi (alarm): Document that alarm
18294         exists but still doesn't work in newer mingw.
18295         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration,
18296         not existence.  Ensure SIGALRM is not trapped.
18297         * m4/mktime.m4 (gl_FUNC_MKTIME): Likewise.
18298         * m4/regex.m4 (gl_REGEX): Likewise.
18299         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise.
18300         * tests/test-regex.c (main): Use correct probe for alarm.
18302         putenv: avoid compilation warning on mingw
18303         * lib/putenv.c (_unsetenv): Protect variable declaration.
18304         (putenv): Fix indentation.
18306 2013-03-11  Gary V. Vaughan  <gary@gnu.org>
18308         unistd: don't prevent Tru64 Unix from using gnulib strtod.
18309         * lib/unistd.in.h: be careful not to include un-needed system
18310         stdlib.h from here, because that prevents gnulib stdlib.h from
18311         defining rpl_strtod correctly.
18313 2013-03-09  Gary V. Vaughan  <gary@gnu.org>
18315         vasprintf-posix-tests: allow rounding 1.51 to 1, per the previous
18316         changesets, but for the 'precision 0' test.
18317         * tests/test-vasprintf-posix.c (test_function): Don't insist on
18318         round-to-even, since POSIX says rounding is implementation-defined
18319         and OS X 10.8.2 rounds 1.51 to 1 here.
18321         vasprintf-posix-tests: allow rounding 1.5 to 1, per the previous
18322         changeset.
18323         * tests/test-vasprintf-posix.c (test_function): Don't insist on
18324         round-to-even, since POSIX says rounding is implementation-defined
18325         and OS X 10.8.2 rounds 1.5 to 1 here.
18327 2013-03-08  Paul Eggert  <eggert@cs.ucla.edu>
18329         vasnprintf-posix-tests: allow rounding 1.5 to 1
18330         * tests/test-vasnprintf-posix.c (test_function): Don't insist on
18331         round-to-even, since POSIX says rounding is implementation-defined
18332         and OS X 10.8.2 rounds 1.5 to 1 here.  Reported by Gary V. Vaughan in
18333         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00019.html>.
18335         bootstrap: port to FreeBSD
18336         * build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells
18337         that treat '--' differently.  Reported by Mats Erik Andersson in
18338         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00012.html>.
18340 2013-03-08  Gary V. Vaughan  <gary@gnu.org>
18342         regex: rename remaining __attribute calls to __attribute__.
18343         2012-02-25 changed definition of __attribute, but left some uses
18344         unchanged, preventing compilation of regex module on most non-gcc
18345         environments.
18346         * lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
18347         (lookup_collation_sequence_value, build_range_exp)
18348         (build_collating_symbol): Set attributes with newly renamed
18349         __attribute__ decorator.
18350         * lib/regex_internal.c (re_string_peek_byte_case)
18351         (re_node_set_compare, re_node_set_contains): Likewise.
18352         * lib/regexec.c (acquire_init_state_context): Likewise.
18354 2013-03-06  Bruno Haible  <bruno@clisp.org>
18356         execute: Revert last change, but use a different condition.
18357         * lib/execute.c (nonintr_close, nonintr_open): Reintroduce, but only
18358         on Windows.
18360 2013-03-05  Eric Blake  <eblake@redhat.com>
18362         execute: drop dead code
18363         * lib/execute.c (nonintr_close, nonintr_open): Delete.
18365 2013-03-04  Paul Eggert  <eggert@cs.ucla.edu>
18367         non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
18368         * m4/non-recursive-gnulib-prefix-hack.m4
18369         (gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA.
18370         Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in
18371         <http://bugs.gnu.org/10305#237>.
18373 2013-03-04  Eric Blake  <eblake@redhat.com>
18375         test-getsockopt: avoid compiler warning
18376         * tests/test-getsockopt.c (includes): Ensure close is declared.
18378 2013-03-02  Bruno Haible  <bruno@clisp.org>
18380         sys_types: Avoid autoconf warning about gl_SYS_TYPES_H.
18381         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define through AC_DEFUN_ONCE.
18383 2013-03-02  Bruno Haible  <bruno@clisp.org>
18385         gettext: Update to version 0.18.2.
18386         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.2. In particular:
18387         2012-12-07  Stefano Lattarini  <stefano.lattarini@gmailcom>
18388                 * intl.m4, po.m4: Bump requirement in AC_PREREQ to 2.60.
18390 2013-02-25  Paul Eggert  <eggert@cs.ucla.edu>
18392         regex: merge patches from libc
18394         2013-02-26  Siddhesh Poyarekar  <siddhesh@redhat.com>
18395         * lib/regex_internal.h (__attribute__): Rename from __attribute.
18396         All uses changed.
18397         (bitset_not, bitset_merge, bitset_mask, re_string_char_size_at)
18398         (re_string_wchar_at, re_string_elem_size_at):
18399         Mark function as possibly unused.
18401         2013-02-12  Andreas Schwab  <schwab@suse.de>  [BZ #11561]
18402         * lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating
18403         elements compare against the byte sequence of it, not its name.
18405 2013-02-21  Paul Eggert  <eggert@cs.ucla.edu>
18407         putenv: port better to native Windows
18408         * lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
18409         Define WIN32_LEAN_AND_MEAN and include <windows.h>.
18410         (_unsetenv): Use _putenv if available.
18411         (putenv): Temporarily set NAME=' ' rather than NAME='x' as that's
18412         a bit less likely to cause damage.
18413         (putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
18414         Fix the wrong value with SetEnvironmentVariable.
18415         (putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV
18416         code better.
18418 2013-02-20  Paul Eggert  <eggert@cs.ucla.edu>
18420         regex: ignore old-style-definition warnings
18421         * lib/regex.c: Add pragma to ignore these warnings.
18422         Problem reported for GNU tar by Pavel Raiskup.
18424 2013-02-19  Paul Eggert  <eggert@cs.ucla.edu>
18426         getcwd: support coreutils better
18427         Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD,
18428         but this might not be correct in coreutils, which disables
18429         the raw decl checks.  Problem reported by Nagendra in
18430         <http://bugs.gnu.org/10305#192>.
18431         * lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD.
18432         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
18433         Test the getcwd function, not any macro, since getcwd.c wants the
18434         function.
18435         * m4/getcwd.m4 (gl_FUNC_GETCWD):
18436         Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't
18437         compile, as might happen if there's a macro but no function.
18439         strtod: support coreutils better
18440         * lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
18441         HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
18442         disables the raw decl checks.  This assumes there is an underlying
18443         strtod, but that's a safe assumption these days.
18444         (HAVE_RAW_DECL_STRTOD): Remove; no longer used.
18446         mountlist: port to HP NonStop
18447         Reported by Joachim Schmitz in
18448         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00084.html>.
18449         * lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function.
18450         (MNT_IGNORE) [MNTOPT_IGNORE]: Use it.
18452 2013-02-18  Paul Eggert  <eggert@cs.ucla.edu>
18454         extern-inline: avoid compilation error with HP-UX cc
18455         Reported by Richard Lloyd in
18456         <http://lists.gnu.org/r/bug-texinfo/2013-02/msg00030.html>.
18457         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
18458         Suppress extern inline with HP-UX cc.  This should be safe,
18459         though it may hurt performance.  Perhaps someone with some HP-UX
18460         experience can come up with a higher-performance fix.
18462 2013-02-14  Paul Eggert  <eggert@cs.ucla.edu>
18464         putenv: fix heap corruption with mixed putenv/_putenv
18465         Problem reported by Michael Goffioul in
18466         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00061.html>.
18467         * lib/putenv.c (putenv) [HAVE__PUTENV]:
18468         Rely on _putenv to allocate the new environment.
18469         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
18470         * modules/putenv (configure.ac): Use it.
18472 2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>
18474         unsetenv etc.: port to Solaris 11 + GNU Emacs
18475         * lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c:
18476         * lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c:
18477         * lib/unsetenv.c (_GL_ARG_NONNULL): Define before including <config.h>.
18478         GNU Emacs's <config.h> includes <stdlib.h> (which is not a great
18479         idea but is too painful to fix right now), and without this gnulib
18480         change <stdlib.h> was defining _GL_ARG_NONNULL incorrectly when
18481         compiling unsetenv.c on Solaris 11.  Fix the problem for
18482         unsetenv.c, and fix other similar occurrences.
18484 2013-02-09  Paul Eggert  <eggert@cs.ucla.edu>
18486         secure_getenv: fix C++ declaration typo
18487         * lib/stdlib.in.h (secure_getenv): Fix typo with return type
18488         in _GL_CXXALIAS_SYS macro.  Reported by John W. Eaton in
18489         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00057.html>.
18491 2013-02-08  Paul Eggert  <eggert@cs.ucla.edu>
18493         careadlinkat: stop exporting careadlinkatcwd
18494         Only Emacs used it directly, and Emacs no longer needs it.
18495         * NEWS: Document this simplification.
18496         * lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
18497         and make it static.  Include <stdlib.h>, for abort, and unistd.h,
18498         for readlink.
18499         * lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
18500         Don't include stdlib.h; no longer needed.
18501         * lib/careadlinkat.h (careadlinkatcwd): Remove decl.
18502         * lib/relocwrapper.c: Adjust comment to match new dependencies.
18503         * modules/areadlink (Depends-on): Add readlink.
18504         (Maintainer): Add self.
18505         * modules/careadlinkat (Depends-on): Remove readlink.
18507         extensions: port better to HP-UX
18508         This is merged from git Autoconf.
18509         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
18510         On hosts that need _XOPEN_SOURCE, define it when configuring, too,
18511         so that it's compatible with the value used when compiling.
18513         openpty: fix bug where HAVE_OPENPTY is mistakenly 1
18514         Problem reported by Mats Erik Andersson in
18515         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00051.html>.
18516         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
18517         openpty function exists, not merely when we intend to replace it.
18518         This corrects the 2013-01-31 patch, which mistakenly defined
18519         HAVE_OPENPTY even on hosts that lacked it.
18521 2013-02-07  Paul Eggert  <eggert@cs.ucla.edu>
18523         secure_getenv: fix include typo
18524         * lib/secure_getenv.c: Include config.h.  Somehow I forgot!
18526         secure_getenv: port better to FreeBSD and Solaris
18527         * lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
18528         Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
18529         (secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
18530         This works better on BSDish platforms.
18531         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
18532         Test for issetugid if __secure_getenv is missing.
18534 2013-02-06  Paul Eggert  <eggert@cs.ucla.edu>
18536         extensions: port better to MINIX 3, HP-UX, autoheader 2.62
18537         Some of these changes are merged in from git Autoconf.
18538         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
18539         When deciding whether to define _XOPEN_SOURCE, inspect the
18540         preprocessor macro __hpux instead of the more-heavyweight
18541         operation of requiring AC_CANONICAL_HOST.  Define _NETBSD_HOST on
18542         MINIX, for MINIX 3.  Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
18543         as the key for __EXTENSIONS__.
18545         unistd: avoid namespace pollution on non-glibc systems
18546         * lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
18547         This avoids namespace pollution on non-glibc systems, by causing
18548         gnulib unistd.h to behave more like glibc unistd.h.  I also hope
18549         that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
18550         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00027.html>.
18552 2013-02-04  Paul Eggert  <eggert@cs.ucla.edu>
18554         tmpdir: use secure_getenv
18555         * lib/tmpdir.c (__secure_getenv) [!LIBC]:
18556         Define to secure_getenv, not getenv.
18557         * m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv,
18558         as that's now secure_getenv's job.
18559         * modules/tmpdir (Depends-on): Add secure_getenv.
18561         tempname: use secure_getenv
18562         * lib/tempname.c (__secure_getenv) [!_LIBC]:
18563         Define to secure_getenv, not getenv.
18564         * modules/tempname (Depends-on):
18565         Add secure_getenv.
18567         secure_getenv: new module
18568         * MODULES.html.sh (Extra functions based on ANSI C 89):
18569         Add secure_getenv.
18570         * doc/glibc-functions/secure_getenv.texi: New file.
18571         * doc/gnulib.texi: Include it.
18572         * lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
18573         New files.
18574         * lib/stdlib.in.h (secure_getenv): New decl.
18575         * m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
18576         * modules/stdlib (stdlib.h):
18577         Add secure_getenv checks.
18579 2013-02-03  Paul Eggert  <eggert@cs.ucla.edu>
18581         getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
18582         Reported for OS X 10.8.2 by Assaf Gordon in
18583         <http://bugs.gnu.org/13516>.
18584         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
18585         !HAVE_OPENAT && !HAVE_FDOPENDIR.
18586         * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
18587         so that they can be kept in sync more easily.  Avoid PATH_MAX
18588         test on the Hurd.  Sync from test-getcwd.c for errno tests after
18589         mkdir or chdir failure.
18590         * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
18591         lib/getcwd.c.
18592         (test_abort_bug): Do not test for the deep directory bug unless we
18593         have openat support.  Avoid PATH_MAX test on the Hurd.
18595         regex-tests, regex: fix bug: memset undeclared
18596         * tests/test-regex.c: Don't include regex.h twice.  Include
18597         string.h, to declare memset.  Christensen's report also mentioned
18598         this issue.
18599         * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
18600         test-regex.c, to avoid future problems like this.  Remove
18601         AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
18602         twice.
18604         regex-tests: fix link errors on older Solaris
18605         These need to link with @LIBINTL@ to get libintl_gettext.
18606         Problem reported by Tom G. Christensen in
18607         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00003.html>.
18608         * modules/regex-tests (test_regex_LDADD): New macro.
18610 2013-01-31  Paul Eggert  <eggert@cs.ucla.edu>
18612         regex-tests: new module
18613         * modules/regex-tests, tests/test-regex.c: New files.
18615         regex: fix off-by-one error in configure test
18616         * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
18618 2013-01-31  Eric Blake  <eblake@redhat.com>
18620         regex: avoid infinite configure test
18621         * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
18623 2013-01-31  Reuben Thomas  <rrt@sc3d.org>
18625         openpty: fix bug where HAVE_OPENPTY wasn't defined
18626         See the thread starting at:
18627         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00185.html
18628         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
18629         openpty function exists, not merely when we intend to replace it.
18631 2013-01-30  Paul Eggert  <eggert@cs.ucla.edu>
18633         sys_time: port to Solaris 2.6
18634         There is a circularity problem on Solaris 2.6, where <time.h> includes
18635         <sys/time.h> for struct timespec.  The include nesting is gnulib
18636         <time.h>, system <time.h>, gnulib <sys/time.h>, system
18637         <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
18638         <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
18639         <sys/siginfo.h>; the last, innermost file needs struct
18640         timestruc_t, which is defined in <sys/time.h>, which has not been
18641         fully parsed.  Problem reported by Tom G. Christensen in
18642         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00113.html>.
18643         * lib/sys_select.in.h: Treat Solaris 2.6's problem with
18644         <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
18645         * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
18646         uses split double-inclusion guards.
18648 2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>
18650         regex: test for buffer overrun
18651         * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
18652         for the just-fixed regex bug.
18654 2013-01-29  Andreas Schwab  <schwab@suse.de>
18656         regex: fix buffer overrun in regexp matcher [BZ #15078]
18657         * lib/regexec.c (extend_buffers): Add parameter min_len.
18658         (check_matching): Pass minimum needed length.
18659         (clean_state_log_if_needed): Likewise.
18660         (get_subexp): Likewise.
18662 2013-01-28  Pádraig Brady  <P@draigBrady.com>
18664         mountlist: don't consider "devtmpfs" as dummy
18665         * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
18666         as there is storage associcated with it.
18668 2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
18670         futimens-tests, utimens-tests: Depend on gettext.
18671         This works around a problem introduced in my 2013-01-12 patch,
18672         which added @LIBINTL@ to these modules.
18673         * modules/futimens-tests (Depends-on):
18674         * modules/utimens-tests (Depends-on): Add gettext.
18676 2013-01-26  Eric Blake  <eblake@redhat.com>
18678         test-getpeername: fix typo
18679         * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
18681 2013-01-20  Bernhard Voelker  <mail@bernhard-voelker.de>
18683         bootstrap: remove the need for a sorted .gitignore file
18684         * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
18685         rename to insert_if_absent(), so that we don't need or generate
18686         a sorted .gitignore file.  We do require a .gitignore with no
18687         existing duplicate entries and enforce that.
18688         (sort_patterns): Remove this function as we now use the simpler
18689         technigue of inserting blacklist entries at the top of the file,
18690         assuming gnulib won't be inserting !whitelist entries.
18692 2013-01-23  Paul Eggert  <eggert@cs.ucla.edu>
18694         readlinkat: don't depend on gl_FUNC_OPENAT
18695         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
18696         Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
18697         renameat.m4, symlinkat.m4; but one thing at a time.
18699         statat: new module, split out from fstatat
18700         GNU Emacs needs the POSIX-specified fstatat, but not the
18701         gnulib-specified statat and lstat.  Split the latter two into a
18702         new module 'statat'.
18703         * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
18704         * lib/openat.h, lib/statat.c (STATAT_INLINE):
18705         Rename from FSTATAT_INLINE. All uses changed.
18706         * modules/fstatat (Files): Remove lib/statat.c.
18707         (gl_MODULE_INDICATOR([fstatat])): Remove.
18708         (lib_SOURCES): Remove.
18709         (Maintainer): Add self.
18710         * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
18711         * tests/test-fstatat.c (BASE): Don't define if already defined.
18712         (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
18714 2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
18716         tests: don't assume fd 99 is closed
18717         * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
18718         * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
18719         * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
18720         * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
18721         * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
18722         * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
18723         * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
18724         * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
18725         * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
18726         * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
18727         * tests/test-fwrite.c, tests/test-getpeername.c:
18728         * tests/test-getsockname.c, tests/test-getsockopt.c:
18729         * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
18730         * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
18731         * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
18732         * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
18733         * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
18734         * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
18735         * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
18736         * tests/test-symlinkat.c, tests/test-ttyname_r.c:
18737         * tests/test-unlinkat.c, tests/test-unlockpt.c:
18738         * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
18739         Close file descriptor 99, instead of assuming it's already closed.
18741 2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
18743         stpncpy: port to OS X 10.8
18744         * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
18745         Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
18747 2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
18749         unistd: port to recent mingw
18750         * lib/unistd.in.h: Remove special invocation convention for mingw,
18751         which breaks for the latest mingw version.  See John W. Eaton in
18752         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00100.html>.
18754         largefile: port better to Mac OS X 10.5
18755         This patch is backported from Autoconf git.
18756         * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
18757         AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
18758         with ino_t size being different for configuration time versus
18759         build/run time.  Problem reported by PHO in
18760         <http://lists.gnu.org/r/bug-autoconf/2013-01/msg00040.html>.
18762 2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
18764         doc: clarify -Werror
18765         * doc/warnings.texi (warnings): -Werror is not always a bad idea;
18766         clarify that it's intended for developers, not for ordinary builds,
18767         and mention --enable-gcc-warnings as one possible use.
18769 2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
18771         stdint: fix build with Android's Bionic fox x86
18772         * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
18773         was already included as _SSIZE_T_DEFINED_ might also be defined
18774         in include/machine/_types.h, which is included by stdio.h
18776 2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
18778         net_if-tests: port to Solaris 7 + GCC 3.4.6
18779         Problem reported by Tom G. Christensen in
18780         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00091.html>.
18781         * tests/test-net_if.c (ni): Move to next the code that uses it,
18782         so that it's declared only if needed.
18784 2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
18786         net_if-tests: port to older Solaris
18787         Problem reported by Tom G. Christensen in
18788         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
18789         * modules/net_if-tests (NET_IF_LIB): New substitution.
18790         (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
18791         (HAVE_IF_NAMEINDEX): New C macro.
18792         * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
18794         system-quote-tests: port to older Solaris
18795         Problem reported by Tom G. Christensen in
18796         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
18797         * tests/test-system-quote-child.c (fopen, fread): Undef.
18799         c-xvasprintf etc.: fix link errors on older Solaris
18800         These need to link with @LIBINTL@ to get libintl_gettext.
18801         Problem reported by Tom G. Christensen in
18802         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
18803         * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
18804         * modules/readtokens-tests (test_readtokens_LDADD): New macros.
18805         * modules/futimens-tests (test_futimens_LDADD):
18806         * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
18808 2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
18810         locale: port to Solaris 2.6 and 7 + GNU gettext
18811         * lib/locale.in.h: Just include_next <locale.h> when
18812         being invoked recursively.  This prevents problems on Solaris 2.6 and 7
18813         when combining the localename module with GNU gettext 0.18.2.
18814         Problem reported by Tom G. Christensen in
18815         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00084.html>.
18817 2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
18819         stdlib: port to Solaris 2.6
18820         Also, the code worked on Solaris 7 through 9 only by accident.
18821         Problem reported by Tom G. Christensen in
18822         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00059.html>.
18823         * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
18824         simply include the system stdlib.h.
18825         * lib/getopt.in.h (__need_system_stdlib_h):
18826         * lib/pthread.in.h (__need_system_stdlib_h):
18827         * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
18828         Define when including <stdlib.h>, to avoid problems at least for
18829         the pthread case on Solaris 2.6 and 7.  These .h files can get by
18830         with the system stdlib.h.
18832 2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
18834         doc: update main copyright year
18835         * doc/gnulib.texi: Update copyright date.
18837         doc: improve ISO 8601 discussion
18838         * doc/parse-datetime.texi (Combined date and time of day items):
18839         Specify more carefully what formats are supported and what is
18840         done with excess precision.
18842 2013-01-05  Paul Eggert  <eggert@cs.ucla.edu>
18844         doc: avoid small caps
18845         * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
18846         they're more trouble than they're worth.  Suggested by Karl Berry
18847         in <http://bugs.gnu.org/13360>.
18849         regex: conform to strict C
18850         * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
18851         From Aharon Robbins.
18853         gnulib-tool: fix incompatibility with autopoint 0.18.2
18854         * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
18855         Problem reported by Tom G. Christensen in
18856         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00053.html>.
18858 2013-01-04  Paul Eggert  <eggert@cs.ucla.edu>
18860         fprintftime: bring back and reword fwrite comment
18861         * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
18863         stdio: remove now-unnecessary stdio.c
18864         Since stdio.in.h no longer uses inline functions, we no longer
18865         need to compile the extern versions.
18866         * lib/stdio.c: Remove.
18867         * modules/stdio (Files): Remove lib/stdio.c.
18868         (lib_SOURCES): Remove.
18870         unicodeio: depend on stdio, not ignore-value
18871         * lib/unicodeio.c: Do not include ignore-value.h.
18872         (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
18873         * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
18875         fprintftime: depend on stdio, not ignore-value
18876         * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
18877         (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
18878         since the stdio module arranges to silence that warning now.
18879         * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
18881 2012-10-04  Simon Josefsson  <simon@josefsson.org>
18883         stdint-tests: Fix expanded-before-required-warning.
18884         * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
18886 2013-01-03  Paul Eggert  <eggert@cs.ucla.edu>
18888         fwrite: silence __wur only for older glibc versions
18889         * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
18890         This will help us remove this workaround some time in the far future.
18892 2013-01-03  Eric Blake  <eblake@redhat.com>
18894         fwrite: silence __wur without using inline
18895         * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
18896         just gcc, and in a way that avoids inline issues.
18897         * modules/stdio (Depends-on): Drop extern-inline.
18899 2013-01-03  Jim Meyering  <jim@meyering.net>
18901         update-copyright: avoid copyright notice date corruption
18902         Given a sequence of copyright year numbers in which the final
18903         one was a two-digit number that happened to be a substring of
18904         a preceding four-digit year number, we would mistakenly update
18905         the substring (from two- to four-digit) rather than the two-digit
18906         number at the end, which, combined with the addition of the current
18907         4-digit year number would yield two 5-digit year numbers, e.g.,
18908         here, it would convert the first "99" to "1999, 2013" rather than
18909         the final one:
18910           1991, 99
18911           11999, 20131, 1999
18912         * build-aux/update-copyright: Tighten a regexp.
18913         * tests/test-update-copyright.sh: Add a test case to trigger the bug.
18914         Reported by Joseph Myers in
18915         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
18917 2013-01-01  Paul Eggert  <eggert@cs.ucla.edu>
18919         regex: omit needless signed-pointer casts
18920         * lib/regcomp.c (build_charclass, build_charclass_op):
18921         Use char *, not unsigned char *, for class name and extra.
18922         The char values are always nonnegative so there's no need to
18923         insist on unsigned char * here, and using char * removes the need
18924         for casts.  Reported by Aharon Robbins in
18925         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
18927         regex: support Gawk, which never uses alloca
18928         * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
18929         Do not include in this case.  Gawk doesn't supply a substitute
18930         alloca.h and doesn't need one.
18932         regex: port __libc_lock_define usage to C89
18933         * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
18934         (struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
18935         does not conform to C89, as it has an empty macro argument.
18936         Reported by Aharon Robbins in
18937         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
18939 2013-01-01  Eric Blake  <eblake@redhat.com>
18941         maint: update all copyright year number ranges
18942         Run "make update-copyright".
18944         version-etc: bump copyright year reported in --version
18945         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
18947 2012-12-31  Eric Blake  <eblake@redhat.com>
18949         sigprocmask-tests: skip test if pid is unexpectedly large
18950         * tests/test-sigprocmask.c (main): Add range check.
18952         git-version-gen: avoid test -z portability glitch
18953         * build-aux/git-version-gen: Prefer portable test spelling, since
18954         git-version-gen is run on more than just developer machines.
18956 2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
18958         git-version-gen: add --fallback option to use if git is not present
18959         * build-aux/git-version-gen: Add support for the new option --fallback,
18960         which comes into play when there is no $tarball_version_file and
18961         git is not working.
18962         (scriptversion): Update.
18964         maint.mk: handle missing git with more grace
18965         * top/maint.mk (no-submodule-changes, public-submodule-commit):
18966         Quietly proceed if git is not present.
18968 2012-12-31  Eric Blake  <eblake@redhat.com>
18970         dup2: work around cygwin bug
18971         * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
18972         * lib/dup2.c (rpl_dup2): Work around it.
18973         * doc/posix-functions/dup2.texi (dup2): Document it.
18975 2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
18977         regex: remove unnecessary dependency on localcharset.h
18978         * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
18979         hasn't been needed for years.
18980         * modules/regex (Depends-on): Remove localcharset.
18982         regex: revert single-byte change
18983         * lib/regexec.c (check_node_accept_bytes): Revert previous change
18984         to this function.  This was alredy fixed in a different way, at
18985         bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
18986         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
18987         <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
18989         regex: simplify based on Gawk version
18990         * lib/regex_internal.c (re_dfa_add_node): Simplify.
18991         Reported by Aharon Robbins in
18992         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
18994 2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
18996         regex: check that pattern char is single-byte
18997         Reported by Aharon Robbins in
18998         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
18999         * lib/regexec.c (check_node_accept_bytes):
19000         Return 0 if the pattern string has a multibyte character here.
19002         regex: implement rational ranges
19003         Reported by Aharon Robbins in
19004         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
19005         * lib/regcomp.c (build_range_exp) [!_LIBC]:
19006         * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
19007         Implement rational ranges.
19009         regex: avoid redefining __wctype
19010         Reported by Aharon Robbins in
19011         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
19012         * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
19013         #undef before defining.
19015         regex: port to hosts where malloc (0) == NULL
19016         Reported by Aharon Robbins in
19017         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
19018         * lib/regex_internal.c (re_node_set_alloc):
19019         Don't assume that malloc (0) yields nonnull.
19020         * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
19021         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
19022         * modules/regex (Files): Add m4/eealloc.m4.
19024         regex: port to C89
19025         Reported by Aharon Robbins in
19026         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
19027         * lib/regcomp.c (init_word_char): Declaration before statement.
19029         regex: merge glibc changes
19030         Also, copy the license wording from glibc.  This simplifies
19031         merging changes.  gnulib-tool will change the wording to GPL as
19032         appropriate, when importing it to other packages.  The only
19033         glibc change made since the last merge, which needs merging, is:
19034         2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
19035         * lib/regex_internal.h (gettext): Remove use of INTUSE.
19037         * users.txt: Add Emacs.
19039         doc: omit mention of version when not needed
19040         * doc/gnulib-intro.texi (Portability and Application Code):
19041         * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
19042         Don't mention particular dates or versions when not necessary, so
19043         that the documentation won't go out of date so quickly.
19045         * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
19047 2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
19049         bootstrap: pass --force to autoreconf.
19050         * build-aux/bootstrap (AUTORECONFFLAGS): New.
19051         Add "--force" so that Automake's ylwrap and other such tools
19052         be updated at each bootstrap invocation.
19053         Use it.
19055 2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
19057         argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
19058         The earlier patch forgot to update one of the #if conditions, causing
19059         a problem on Debian testing i386 reported by Mats Erik Andersson
19060         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00124.html>.
19061         * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
19062         (__argp_fmtstream_puts, argp_fmtstream_puts)
19063         (__argp_fmtstream_write, argp_fmtstream_write)
19064         [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
19066         * doc/gnulib-readme.texi: Minor fixups.
19067         (Portability guidelines): Modernize URLs.  Remove some repetition.
19068         (Indent with spaces not TABs): Reword to avoid too-long lines.
19069         Remove some '@ifset standalone' stuff that isn't used.
19071         * doc/gnulib-readme.texi (Portability guidelines):
19072         ctype.h, not ctime.h.
19074         Correct name of POSIX.1-2001.
19075         * doc/posix-functions/fgetc.texi (fgetc):
19076         * doc/posix-functions/fgets.texi (fgets):
19077         * doc/posix-functions/fread.texi (fread):
19078         * doc/posix-functions/fscanf.texi (fscanf):
19079         * doc/posix-functions/getc.texi (getc):
19080         * doc/posix-functions/getchar.texi (getchar):
19081         * doc/posix-functions/scanf.texi (scanf):
19082         POSIX.1-2001, not POSIX-2001.
19084         doc: move README into manual
19085         * README: Move contents to new file doc/gnulib-readme.texi.
19086         Replace with a one-line summary.
19087         * doc/gnulib.texi (Brief Overview): New section,
19088         with old intro preface.  Include gnulib-readme.texi for contents.
19089         (Philosophy): Rename from "Introduction", since this
19090         section no longer introduces the rest.  Write a new preface.
19091         * doc/gnulib-readme.texi: New file, with the old contents of
19092         README texinfo-ized.  This way, the README info appears
19093         in the online and printed manual.
19095 2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
19097         c-xvasprintf: Fix "implicit declaration of function" GCC warning.
19098         * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
19099         c_vasprintf() prototype.
19101 2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
19103         c-vasprintf: Fix "empty declaration" warning reported by GCC.
19104         * lib/c-vasprintf.h: Remove stray semicolon.
19106 2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
19108         gettext: avoid obsolete macro AM_PROG_MKDIR_P
19109         It is obsolete and is planned to be removed from Automake 1.14; see
19110         <http://lists.gnu.org/r/automake/2012-12/msg00029.html>.
19111         * build-aux/po/Makefile.in.in (install-data, install-data-yes)
19112         (installdirs-data, installdirs-data-yes):
19113         Use $(MKDIR_P), not $(mkdir_p).
19114         * m4/intl.m4 (AM_INTL_SUBDIR):
19115         * m4/po.m4 (AM_PO_SUBDIRS):
19116         Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
19118 2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
19120         argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
19121         On this platform, we are not optimizing but we are using
19122         the substitute for extern inlines, so compile as if
19123         C99-style extern inline, or a substitute, is available.
19124         * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
19125         (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
19126         (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
19127         (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
19128         (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
19129         Declare as ARGP_FS_EI, not as extern.
19130         * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
19131         (__option_is_short, _option_is_end, __option_is_end)
19132         [!_LIBC && __USE_EXTERN_INLINES]:
19133         Declare as ARGP_EI, not as extern.
19135 2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
19137         AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
19138         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
19139         Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
19140         m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
19141         ...), as the latter is fatal with older Autoconfs.
19142         Problem reported and fix suggested by Eric Blake in thread starting at
19143         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00097.html>.
19145 2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
19147         AC_PROG_MKDIR_P: don't workaround if not buggy
19148         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
19149         Define only for Autoconf versions before 2.62.
19150         (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
19151         undocumented m4_PACKAGE_VERSION, for consistency with the
19152         abovementioned change to AC_PROG_MKDIR_P.  This should suffice
19153         since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
19154         was introduced in 2.62.
19156 2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
19158         New 'c-*printf' modules for formatted output in C locale.
19160         New module 'c-vasnprintf'.
19161         * modules/c-vasnprintf: New file.
19162         * lib/c-vasnprintf.c: New file.
19163         * lib/c-vasnprintf.h: New file.
19165         New module 'c-snprintf'.
19166         * modules/c-snprintf: New file.
19167         * modules/c-snprintf-tests: New file.
19168         * lib/c-snprintf.c: New file.
19169         * lib/c-snprintf.h: New file.
19170         * tests/test-c-snprintf.c: New file.
19171         * tests/test-c-snprintf.sh: New file.
19173         New module 'c-vsnprintf'.
19174         * modules/c-vsnprintf: New file.
19175         * modules/c-vsnprintf-tests: New file.
19176         * lib/c-vsnprintf.c: New file.
19177         * lib/c-vsnprintf.h: New file.
19178         * tests/test-c-vsnprintf.c: New file.
19179         * tests/test-c-vsnprintf.sh: New file.
19181         New module 'c-vasprintf'.
19182         * modules/c-vasprintf: New file.
19183         * modules/c-vasprintf-tests: New file.
19184         * lib/c-asprintf.c: New file.
19185         * lib/c-vasprintf.c: New file.
19186         * lib/c-vasprintf.h: New file.
19187         * tests/test-c-vasprintf.c  +: New file.
19188         * tests/test-c-vasprintf.sh: New file.
19190         New module 'c-xvasprintf'.
19191         * modules/c-xvasprintf: New file.
19192         * modules/c-xvasprintf-tests: New file.
19193         * lib/c-xasprintf.c: New file.
19194         * lib/c-xvasprintf.c: New file.
19195         * lib/c-xvasprintf.h: New file.
19196         * tests/test-c-xvasprintf.c: New file.
19197         * tests/test-c-xvasprintf.sh: New file.
19199 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
19201         argp: better 'inline'
19202         Use extern-inline module to declare extern inline functions.
19203         This avoids some bogus warning diagnostics.  Problem discovered
19204         when modifying GNU tar to use the manywarnings module.
19205         * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
19206         * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
19207         Define based on extern-inline.
19208         * modules/argp (Depends-on): Add extern-inline.
19210 2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
19212         filemode, sys_stat: Handle MPX files a la AIX.
19213         * lib/filemode.c (ftypelet): Report 'm' for MPX files.
19214         * lib/sys_stat.in.h (S_ISMPX): New macro.
19215         * tests/test-sys_stat.c: Add tests for MPX files.
19217 2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
19219         x-to-1: honor $PERL
19220         * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
19221         a chance to use his preferred version of Perl.  This is typically
19222         required by Darwin users whose default /usr/bin/perl does not have all
19223         the libraries required by help2man, and who need to use their MacPorts
19224         installation of Perl instead.
19226 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
19228         gnu-web-doc-update: add all the new files, even in new directories
19229         See http://lists.gnu.org/r/bug-gnulib/2012-12/msg00057.html
19230         * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
19231         Use it.
19232         (main): Don't use cvsutils to get the list of unknown files,
19233         just add all the existing files and directories.
19235 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
19237         gnu-web-doc-update: improve --help
19238         * build-aux/gnu-web-doc-update: Move comments into --help.
19240 2012-12-07  Eric Wong  <normalperson@yhbt.net>
19242         mountlist: recognize more "dummy" file systems
19243         * lib/mountlist.c (ME_DUMMY_0):
19244         Add these dummy FS names to the list:
19245         - "debugfs" virtual filesystem for kernel debugging
19246         - "devpts" PTY slave filesystem
19247         - "devtmpfs" device filesystem on top of tmpfs/ramfs
19248         - "fusectl" control filesystem for FUSE
19249         - "mqueue" enumerates POSIX message queues
19250         - "rpc_pipefs" kernel <-> userspace bridge for NFS
19251         - "sysfs" is for exporting kernel objects
19252         - "devfs" device filesystem for Linux 2.4 and FreeBSD
19254 2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
19256         extern-inline: avoid incompatibility with Darwin Libc
19257         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
19258         extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
19259         Problem reported by Akim Demaille in
19260         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html>.
19262 2012-12-11  Simon Josefsson  <simon@josefsson.org>
19264         gnupload: Work with GnuPG using gpg-agent (for smartcards).
19265         * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
19266         let it handle password prompting.
19268 2012-12-10  Eli Zaretskii  <eliz@gnu.org>
19270         canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
19271         * lib/canonicalize.c (canonicalize_filename_mode):
19272         * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
19273         fetching the current directory.  Don't overrun the beginning of
19274         rpath if there's no slashes after the MS-Windows drive letter.
19276 2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
19278         maint.mk: avoid extra forks
19279         * top/maint.mk (_cfg_mk): The GNU make manual documents that
19280         "$(wildcard FILE)" expands to empty if FILE doesn't exist.
19281         So use that instead of "$(shell test -f FILE && echo FILE)".
19283 2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
19285         vasnprintf: fix ASCII_ONLY typo
19286         * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
19287         * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
19288         * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
19289         New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
19290         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00021.html>.
19292 2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
19294         list, oset, xlist, xoset: fix extern inline issue with C99
19295         This was introduced by my recent changes for 'inline'.
19296         Problem reported for gettext by Daiki Ueno in
19297         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00000.html>.
19298         * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
19299         (gl_list_nx_create, gl_list_size, gl_list_node_value)
19300         (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
19301         (gl_list_previous_node, gl_list_get_at)
19302         (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
19303         (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
19304         (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
19305         (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
19306         (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
19307         (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
19308         (gl_list_iterator_free, gl_sortedlist_search)
19309         (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
19310         (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
19311         (gl_sortedlist_remove):
19312         * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
19313         (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
19314         (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
19315         * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
19316         (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
19317         (gl_list_add_last, gl_list_add_before, gl_list_add_after)
19318         (gl_list_add_at, gl_sortedlist_add):
19319         * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
19320         Wrap these extern decls inside "#if 0", because they are implemented
19321         as inline functions, and extern inline is not what's wanted here.
19322         It would simplify these .h files to remove the extern decls entirely,
19323         although a downside would be less-clear separation between
19324         specification and implementation.
19326 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
19328         sys_stat: no 'static inline'
19329         * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
19330         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
19332         extern-inline: no 'static inline'
19333         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
19334         Do not require AC_C_INLINE.
19335         (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
19336         'static inline', for older compilers.
19338         snippet/warn-on-use: no 'static inline'
19339         * build-aux/snippet/warn-on-use.h:
19340         Remove unnecessary 'inline' in comment.
19342         rbtree-list, rbtreehash-list: no 'static inline'
19343         * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
19344         * lib/gl_anytree_list2.h (node_at):
19345         * lib/gl_anytreehash_list1.h (hash_resize_after_add)
19346         (gl_oset_first, add_nodes_to_buckets):
19347         Now static, not static inline.
19349         regex: no 'static inline'
19350         * lib/regex_internal.c (calc_state_hash):
19351         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
19352         (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
19353         (bitset_mask, re_string_char_size_at, re_string_wchar_at):
19354         Now static, not static inline.
19355         (inline) [__GNUC__ < 3 && _LIBC]:
19356         Remove macro; no longer needed.
19358         xvasprintf: no 'static inline'
19359         * lib/xvasprintf.c (xstrcat):
19360         Now static, not static inline.
19361         * m4/xvasprintf.m4 (gl_XVASPRINTF):
19362         Do not require AC_C_INLINE.
19364         parse-datetime, parse-duration: no 'static inline'
19365         * lib/parse-datetime.y (to_uchar):
19366         * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
19367         (scale_n_add):
19368         Now static, not static inline.
19369         * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
19370         * modules/parse-duration (configure.ac):
19371         Do not require AC_C_INLINE.
19373         getaddrinfo: no 'static inline'
19374         * lib/getaddrinfo.c (validate_family):
19375         Now static, not static inline.
19376         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
19377         Do not require AC_C_INLINE.
19379         ftruncate, fts, lstat, openat, raise: no 'static inline'
19380         * lib/ftruncate.c (chsize_nothrow):
19381         * lib/fts.c (opendirat, diropen):
19382         * lib/lstat.c (orig_lstat):
19383         * lib/openat.c (orig_openat):
19384         * lib/raise.c (raise_nothrow):
19385         Now static, not static inline.
19386         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
19387         * m4/fts.m4 (gl_FUNC_FTS_CORE):
19388         * m4/lstat.m4 (gl_PREREQ_LSTAT):
19389         * m4/openat.m4 (gl_PREREQ_OPENAT):
19390         * m4/raise.m4 (gl_PREREQ_RAISE):
19391         Do not require AC_C_INLINE.
19393         fflush, stat: no 'static inline'
19394         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
19395         (clear_ungetc_buffer, disable_seek_optimization)
19396         (restore_seek_optimization, update_fpos_cache):
19397         * lib/stat.c (orig_stat):
19398         Now static, not static inline.
19399         * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
19400         (update_fpos_cache):
19401         Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
19402         * m4/fflush.m4 (gl_PREREQ_FFLUSH):
19403         * m4/stat.m4 (gl_PREREQ_STAT):
19404         Do not require AC_C_INLINE.
19406         error, filevercmp: no 'static inline'
19407         * lib/error.c (is_open, flush_stdout):
19408         * lib/filevercmp.c (order):
19409         Now static, not static inline.
19410         * m4/error.m4 (gl_PREREQ_ERROR):
19411         * modules/filevercmp (configure.ac):
19412         Do not require AC_C_INLINE.
19414         dup, execute, fatal-signal, etc.: no 'static inline'
19415         * lib/dup.c (dup_nothrow):
19416         * lib/execute.c (nonintr_close, nonintr_open):
19417         * lib/fatal-signal.c (uninstall_handlers, install_handlers):
19418         * lib/fopen.c (orig_fopen):
19419         * lib/freadseek.c (freadptrinc):
19420         * lib/freopen.c (orig_freopen):
19421         * lib/fstat.c (orig_fstat, fstat_nothrow):
19422         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
19423         (get_rusage_as_via_iterator):
19424         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
19425         * lib/getdtablesize.c (_setmaxstdio_nothrow):
19426         * lib/isatty.c (_isatty_nothrow):
19427         * lib/open.c (orig_open):
19428         * lib/read.c (read_nothrow):
19429         * lib/sigprocmask.c (signal_nothrow):
19430         * lib/spawn-pipe.c (nonintr_close, nonintr_open):
19431         * lib/vasnprintf.c (MAX_ROOM_NEEDED):
19432         * lib/wait-process.c (unregister_slave_subprocess):
19433         * lib/write.c (write_nothrow):
19434         Now static, not static inline.
19435         * lib/spawn-pipe.c (nonintr_open): Define only if
19436         (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
19437         * m4/dup.m4 (gl_PREREQ_DUP):
19438         * m4/execute.m4 (gl_EXECUTE):
19439         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
19440         * m4/fopen.m4 (gl_PREREQ_FOPEN):
19441         * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
19442         * m4/freopen.m4 (gl_PREREQ_FREOPEN):
19443         * m4/fstat.m4 (gl_PREREQ_FSTAT):
19444         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
19445         * m4/isatty.m4 (gl_PREREQ_ISATTY):
19446         * m4/open.m4 (gl_PREREQ_OPEN):
19447         * m4/read.m4 (gl_PREREQ_READ):
19448         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
19449         * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
19450         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
19451         * m4/wait-process.m4 (gl_WAIT_PROCESS):
19452         * m4/write.m4 (gl_PREREQ_WRITE):
19453         * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
19454         Do not require AC_C_INLINE.
19456         c-strtod, memcoll, readutmp: no 'static inline'
19457         * lib/c-strtod.c (c_locale):
19458         * lib/memcoll.c (strcoll_loop):
19459         * lib/readutmp.c (desirable_utmp_entry):
19460         Now static, not static inline.
19461         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
19462         * m4/memcoll.m4 (gl_MEMCOLL):
19463         * m4/readutmp.m4 (gl_READUTMP):
19464         Do not require AC_C_INLINE.
19466         arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
19467         * lib/arctwo.c (to_uchar):
19468         * lib/md4.c (set_uint32):
19469         * lib/md5.c (set_uint32):
19470         * lib/sha1.c (set_uint32):
19471         * lib/sha256.c (set_uint32):
19472         * lib/sha512.c (set_uint64):
19473         Now static, not static inline.  This is a bit simpler, and doesn't
19474         affect performance with GCC and default optimization.
19475         * m4/arctwo.m4 (gl_ARCTWO):
19476         * m4/md4.m4 (gl_MD4):
19477         * m4/md5.m4 (gl_MD5):
19478         * m4/sha1.m4 (gl_SHA1):
19479         * m4/sha256.m4 (gl_SHA256):
19480         * m4/sha512.m4 (gl_SHA512):
19481         Do not require AC_C_INLINE.
19483         cond, lock, thread: better 'inline'
19484         * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
19485         * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
19486         New macros.  Use them instead of static inline, for header functions.
19487         * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
19488         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
19489         * lib/glthread/lock.c (gl_waitqueue_init)
19490         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
19491         * lib/glthread/thread.c (get_current_thread_handle):
19492         Change 'static inline' to 'inline'.
19493         * lib/glthread/cond.h, lib/glthread/thread.h:
19494         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19495         * m4/cond.m4 (gl_COND):
19496         * m4/lock.m4 (gl_PREREQ_LOCK):
19497         * m4/thread.m4 (gl_THREAD):
19498         Do not require AC_C_INLINE.
19499         * modules/cond, modules/thread (Depends-on): Add extern-inline.
19501         chdir-long, cycle-check, savewd: better 'inline'
19502         * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
19503         (find_non_slash):
19504         * lib/cycle-check.c (is_zero_or_power_of_two):
19505         * lib/savewd.c (savewd_delegating):
19506         Change 'static inline' to 'inline'.
19507         * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
19508         Replace all remaining uses of 'static inline' with it.
19509         * lib/savewd.h:
19510         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19511         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
19512         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
19513         * m4/savewd.m4 (gl_SAVEWD):
19514         Do not require AC_C_INLINE.
19515         * modules/savewd (Depends-on): Add extern-inline.
19517         base32, base64: no need for 'inline'
19518         * lib/base32.c (to_uchar, get_8, decode_8):
19519         * lib/base64.c (to_uchar, get_4, decode_4):
19520         Change 'static inline' to 'inline'.
19521         * m4/base32.m4 (gl_PREREQ_BASE32):
19522         * m4/base64.m4 (gl_PREREQ_BASE64):
19523         Do not require AC_C_INLINE.
19525         array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
19526         * lib/gl_array_oset.c (gl_array_nx_add_at):
19527         (gl_array_remove_at):
19528         * lib/gl_linkedhash_list.c (hash_resize_after_add)
19529         (add_to_bucket, remove_from_bucket):
19530         * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
19531         Change 'static inline' to 'static', as it's simpler to omit
19532         'inline' unless there's a significant performance advantage.
19534         list, oset, xlist, xoset, xsublist: simplify via extern inline
19535         * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
19536         * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
19537         * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
19538         * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
19539         * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
19540         New macro.  Replace all uses of 'static inline' with it.
19541         [HAVE_INLINE]: Implement functions as *_INLINE functions,
19542         instead of as macros FOO that are defined to static inline
19543         functions FOO_inline.
19544         * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
19545         * lib/gl_xsublist.c:
19546         Reimplement from scratch, by defining the corresponding *_INLINE
19547         macro and including the corresponding .h file.  This is simpler.
19548         * modules/list, modules/oset, modules/xlist, modules/xoset:
19549         (Files): Remove m4/gl_list.m4.
19550         (configure.ac): Remove gl_LIST.
19551         * m4/gl_list.m4: Remove.
19552         * modules/list, modules/oset, modules/xlist, modules/xoset:
19553         * modules/xsublist:
19554         (Depends-on): Depend on extern-inline, not inline.
19556         xalloc: better 'inline'
19557         * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
19558         New macro.  Replace all uses of 'static inline' with it.
19559         (static_inline): Remove.
19560         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
19561         Let 'extern inline' do the work automatically, instead of doing
19562         it by hand.
19563         * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
19564         Remove.  All uses removed.
19565         * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
19567         gethrxtime: better 'inline'
19568         * lib/xtime.c: New file.
19569         * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
19570         * lib/xtime.h (XTIME_INCLUDE):
19571         New macros.  Replace all uses of 'static inline' with them.
19572         * lib/gethrxtime.c (gethrxtime): Define only if
19573         ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
19574         this source file is now always compiled, because of the extern inline.
19575         * lib/gethrxtime.h, lib/xtime.h:
19576         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19577         * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
19578         if gethrtime works, as they're not needed in that case.
19579         (gl_XTIME): Do not require AC_C_INLINE.
19580         (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
19581         compiled now.  Move the check into gl_GETHRXTIME.
19582         * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
19583         (Depends-on): Add extern-inline.
19584         (configure.ac): gethrxtime is always compiled now.
19585         (lib_SOURCES): Add gethrxtime.c.
19587         wctype-h: better 'inline'
19588         * lib/wctype-h.c: New file.
19589         * lib/wctype.in.h (_GL_WCTYPE_INLINE):
19590         New macro.  Replace all uses of 'static inline' with it.
19591         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19592         * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
19593         * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
19594         (Depends-on): Add extern-inline.
19596         unistd: better 'inline'
19597         * lib/unistd.c: New file.
19598         * lib/unistd.in.h (_GL_UNISTD_INLINE):
19599         New macro.  Replace all uses of 'static inline' with it.
19600         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19601         * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
19602         * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
19603         (Depends-on): Add extern-inline.
19605         sys_socket: better 'inline'
19606         * lib/sys_socket.c: New file.
19607         * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
19608         New macro.  Replace all uses of 'static inline' with it.
19609         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19610         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
19611         * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
19612         (Depends-on): Add extern-inline.
19614         stdio: better 'inline'
19615         * lib/stdio.c: New file.
19616         * lib/stdio.in.h (_GL_STDIO_INLINE):
19617         New macro.  Replace all uses of 'static inline' with it.
19618         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19619         * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
19620         * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
19621         (Depends-on): Add extern-inline.
19623         sigaction: better 'inline'
19624         * lib/sig-handler.c: New file.
19625         * lib/sig-handler.h (SIG_HANDLER_INLINE):
19626         New macro.  Replace all uses of 'static inline' with it.
19627         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19628         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
19629         * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
19630         (Depends-on): Add extern-inline.
19632         selinux-h: better 'inline'
19633         * lib/se-context.c, lib/se-selinux.c: New files.
19634         * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
19635         * lib/se-context.in.h (SE_CONTEXT_INLINE):
19636         New macro.  Replace all uses of 'static inline' with it.
19637         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19638         * lib/se-selinux.in.h (SE_SELINUX_INLINE):
19639         New macro.  Replace all uses of 'static inline' with it.
19640         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19641         * modules/selinux-h (Files, lib_SOURCES):
19642         Add lib/se-context.c, lib/se-selinux.c.
19643         (Depends-on): Add extern-inline.
19644         (configure.ac): Do not require AC_C_INLINE.
19646         pthread: better 'inline'
19647         * lib/pthread.c: New file.
19648         * lib/pthread.in.h (_GL_PTHREAD_INLINE):
19649         New macro.  Replace all uses of 'static inline' with it.
19650         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19651         * m4/pthread.m4 (gl_PTHREAD_CHECK):
19652         Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
19653         * modules/pthread (Files): Add lib/pthread.c.
19654         (Depends-on): Add extern-inline.
19656         math: better 'inline'
19657         * lib/math.c: New file.
19658         * lib/math.in.h (_GL_MATH_INLINE):
19659         New macro.  Replace all uses of 'static inline' with it.
19660         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19661         * m4/math_h.m4 (gl_MATH_H):
19662         Do not require AC_C_INLINE.
19663         * modules/math (Files, lib_SOURCES):
19664         Add lib/math.c.
19665         (Depends-on): Add extern-inline.
19667         count-one-bits: better 'inline'
19668         * lib/count-one-bits.c: New file.
19669         * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
19670         New macro.  Replace all uses of 'static inline' with it.
19671         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19672         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
19673         Do not require AC_C_INLINE.
19674         * modules/count-one-bits (Files, lib_SOURCES):
19675         Add lib/count-one-bits.c.
19676         (Depends-on): Add extern-inline.
19678         count-leading-zeros: better 'inline'
19679         * lib/count-leading-zeros.c: New file.
19680         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
19681         New macro.  Replace all uses of 'static inline' with it.
19682         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19683         * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
19684         Do not require AC_C_INLINE.
19685         * modules/count-leading-zeros (Files, lib_SOURCES):
19686         Add lib/count-leading-zeros.c.
19687         (Depends-on): Add extern-inline.
19689         bitrotate: better 'inline'
19690         * lib/bitrotate.c: New file.
19691         * lib/bitrotate.h (BITROTATE_INLINE):
19692         New macros.
19693         Replace all uses of 'static inline' with them.
19694         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19695         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
19696         (Depends-on): Add extern-inline.
19697         (configure.ac): Do not require AC_C_INLINE.
19699 2012-11-20  Theophile Ranquet  <ranquet@lrde.epita.fr>
19701         maint.mk: avoid gratuitous failure
19702         Reported by Stefano Lattarini in
19703         <http://lists.gnu.org/r/bug-bison/2012-11/msg00022.html>
19704         * top/maint.mk (public-submodule-commit): Quote more safely.
19706 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
19708         canonicalize, canonicalize-lgpl: support MS-Windows file names
19709         See <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00074.html>
19710         for test cases, which it'd be nice to add at some point.
19711         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
19712         * lib/canonicalize.c (canonicalize_filename_mode):
19713         * lib/canonicalize-lgpl.c (__realpath):
19714         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
19715         slash is at the beginning of the file name.  Use ISSLASH, instead
19716         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
19717         the first character with '/'.  Test for
19718         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
19719         with a drive letter.
19720         * lib/canonicalize.c (SLASHES): New macro.
19721         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
19723 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
19725         fts: introduce FTS_VERBATIM
19726         * lib/fts_.h (FTS_VERBATIM): New bit flag.
19727         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
19728         * lib/fts.c (fts_open): Honor it.
19730 2012-11-09  Pádraig Brady  <P@draigBrady.com>
19732         getlogin-tests: allow errno == ENXIO
19733         * tests/test-getlogin.c (main): Skip tests if getlogin fails
19734         with errno == ENXIO (No controlling tty).
19735         getlogin_r-tests: Likewise. Also allow errno == ENOENT
19736         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
19737         with errno == ENOENT.  This was reported to happen in various
19738         situations on GNU/Linux.
19740 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
19742         getlogin-tests: allow errno == ENOENT
19743         * tests/test-getlogin.c (main): Skip tests if getlogin fails
19744         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
19745         when running a test in an Emacs shell buffer.
19747 2012-11-08  Jim Meyering  <jim@meyering.net>
19749         tests/nap.h: avoid warning about unused variable
19750         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
19752         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
19753         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
19754         white space before each of the special-cased file names, to avoid
19755         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
19756         in http://bugs.gnu.org/12830.
19758 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
19760         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
19761         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
19762         fails with errno == EBADF when fd is opened with O_PATH.
19763         Reported by Jim Meyering in
19764         <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00026.html>.
19765         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
19766         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
19768 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
19770         test-utimens: speed up by taking shorter naps
19771         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
19772         New functions.
19773         (nap): Use them, to do a better job of guessing the delay.
19774         On Fedora 17 with ext4 atop md atop hard disks, this made
19775         test-utimens run 10x faster, because the test napped for
19776         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
19777         <http://bugs.gnu.org/12820#11>.
19779 2012-11-07  Jim Meyering  <jim@meyering.net>
19781         mountlist.c: fix a compilation failure
19782         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
19783         I introduced while transforming commit v0.0-7683-g613bcb6
19785 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
19787         errno: port to LynxOS 178 2.2.2
19788         Problem reported by Joel Brobecker in
19789         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00088.html>.
19790         * doc/posix-headers/errno.texi (errno.h): Document this.
19791         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
19792         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
19793         Supply a string for EILSEQ.
19794         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
19796 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
19798         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
19799         Linux kernel 2.6.39 introduced O_PATH (see
19800         <http://lwn.net/Articles/433854/>) and this is a better fallback
19801         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
19802         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
19803         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
19804         * lib/fcntl.in.h (O_ACCMODE):
19805         * tests/test-fcntl-h.c (main):
19806         Do not reject O_ACCMODE merely because it has more than the
19807         minimal number of bits, as POSIX allows extensions here.
19809 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
19811         mountlist: do not classify a bind-mounted dir entry as "dummy"
19812         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
19813         the "none"-testing clause.
19814         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
19815         exception for bind-mounted directories.
19817 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
19819         quote: provide a means to escape strings with nul characters
19820         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
19821         (quote, quote_n): Rename formal arguments for consistency with
19822         quotearg.
19824 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
19826         test-raise: don't assume 199 is an invalid signal
19827         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
19829         sh-quote-tests: port to Solaris 9
19830         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
19831         Problem reported by Dagobert Michelsen in
19832         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00114.html>.
19834 2012-10-28  Jim Meyering  <jim@meyering.net>
19836         maint.mk: rename a new configurable variable
19837         * top/maint.mk (_gl_translatable_string_re): Rename from
19838         translation-markers: _gl_ prefix to insulate from user Makefile code,
19839         and the _re suffix to inform that it's a regular expression.
19841 2012-10-26  Eric Blake  <eblake@redhat.com>
19843         maint.mk: let packages tweak sc_po_check pattern
19844         * top/maint.mk (sc_po_check): Add translation-markers, to allow
19845         finding files with other translation markers.
19847 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
19849         euidaccess: speed up 'configure' on GNU hosts
19850         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
19851         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
19852         it's needed only in this case.  Use AC_CHECK_DECLS, not
19853         AC_CHECK_DECLS_ONCE.
19854         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
19855         or AC_REQUIRE for AC_FUNC_GETGROUPS.
19857         * lib/regexec.c (re_search_internal): Fix grammar in comment.
19859 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
19861         fchmodat, fchownat, fstatat: port to non-inlining compilers
19862         Problem reported for FreeBSD 9 by Jim Meyering in
19863         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00070.html>.
19864         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
19865         New files, which define FCHMODAT_INLINE etc.
19866         * lib/fchmodat.c (FCHMODAT_INLINE):
19867         * lib/fchownat.c (FCHOWNAT_INLINE):
19868         * lib/fstatat.c (FSTATAT_INLINE):
19869         Remove, as chmodat.c etc. now do this.
19870         * modules/fchmodat (Files): Add lib/chmodat.c.
19871         * modules/fchownat (Files): Add lib/chownat.c.
19872         * modules/fstatat (Files): Add lib/statat.c.
19874 2012-10-15  Jim Meyering  <jim@meyering.net>
19876         fchmodat.c, fchownat.c: compile-impeding typos
19877         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
19878         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
19879         Introduced in commit v0.0-7636-gd202279.
19881 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
19883         fcntl-h: support GNU flags like O_IGNORE_CTTY
19884         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
19885         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
19886         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
19887         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
19888         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
19889         Define to 0 if not already defined.
19890         * tests/test-fcntl-h.c: Test these new flags.
19892 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
19894         faccessat, etc.: support AT_FDCWD-only use
19895         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
19896         this function only if its first argument is AT_FDCWD.
19897         Emacs wants faccessat for AT_EACCESS but not for any first-arg
19898         values other than AT_FDCWD, so it doesn't want all the openat
19899         machinery with fchdir etc.
19900         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
19901         * modules/fstatat, modules/mkdirat, modules/openat (Files):
19902         * modules/unlinkat (Files):
19903         Remove lib/openat-priv.h, as at-internal supplies this file.
19904         Removing this file here allows us to support programs like Emacs
19905         that avoid at-internal.
19907         faccessat: speed up 'configure' on mainstream hosts
19908         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
19909         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
19910         since it's only on unusual platforms that we need to check for
19911         'access', and it's better not to slow 'configure' down on all
19912         platforms.
19914         faccessat: port to Solaris 10
19915         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
19916         Needed on Solaris 10, which doesn't have AT_EACCESS,
19917         so we need the Gnulib fcntl.h, which defines it.
19919 2012-10-14  Pádraig Brady  <P@draigBrady.com>
19920         canonicalize: fix C89 compilation
19921         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
19922         declarations so C89 is supported.  Also remove the comment
19923         referencing memorty allocation as the suggested feature could
19924         not be implemented as suggested.
19925         Reported by Michael Goffioul.
19927 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
19929         group-member: omit unnecessary dependencies
19930         This is for Emacs, which has its own allocator and where we
19931         don't want to use xalloc.
19932         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
19933         since we no longer use xmalloc.  Do not include stdbool.h, since
19934         the changes below happen to remove the only use of bool.
19935         (GROUPBUF_SIZE): New constant.
19936         (struct group_info): Remove n_groups member.  Add groupbuf member.
19937         This lets us get the groups without using malloc, usually.
19938         (free_group_info, get_group_info): Adjust to this.
19939         (get_group_info): Return the number of groups found, or -1 on error.
19940         Use plain malloc not xmalloc, and treat its failure as if there
19941         are no groups, as the user already loses in case of error.
19942         (group_member): Simplify, based on changes to get_group_info.
19943         * modules/group-member (Depends-on): Remove dependencies on
19944         xalloc and stdbool.  Add dependency on xalloc-oversized.
19946 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
19948         gethrxtime: port to C++
19949         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
19951 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
19953         ptsname: fix macro-name typo
19954         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
19956 2012-10-03  Simon Josefsson  <simon@josefsson.org>
19958         inttostr: Relax license.
19959         * modules/inttostr (License): Change from LGPL to LGPLv2+.
19961 2012-10-03  Eric Blake  <eblake@redhat.com>
19963         ptsname_r: support ptys returned by FreeBSD posix_openpt
19964         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
19965         lives in /dev/pts/.
19967 2012-10-02  Eric Blake  <eblake@redhat.com>
19969         pselect: reject invalid file descriptors
19970         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
19971         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
19972         * modules/pselect (Depends-on): Add dup2.
19973         * doc/posix-functions/pselect.texi (pselect): Document this.
19975         select: reject invalid file descriptors
19976         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
19977         * lib/select.c (rpl_select) [!win32]: Work around it.
19978         * modules/select (Depends-on): Add dup2.
19979         * doc/posix-functions/select.texi (select): Document this.
19981         select: enhance test
19982         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
19983         New functions.
19984         (test_function): Enhance test.
19985         (do_select_bad_fd): Avoid any stale errno values.
19987         ptsname: reject invalid file descriptors
19988         http://www.austingroupbugs.net/view.php?id=503
19989         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
19990         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
19991         * modules/stdlib (Makefile.am): Replace witness.
19992         * lib/stdlib.in.h (ptsname): Allow for replacement.
19993         * modules/ptsname (configure.ac): Trigger replacement.
19994         * doc/posix-functions/ptsname.texi (ptsname): Document this.
19996 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
19998         hash-pjw-bare: new module
19999         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
20000         * lib/hash-pjw-bare.h: Likewise.
20001         * modules/hash-pjw-bare: New file.
20002         * MODULES.html.sh (Misc): Add it.
20004 2012-10-02  Eric Blake  <eblake@redhat.com>
20006         manywarnings: cater to more gcc infelicities
20007         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
20008         -Wuninitialized without -O.
20010 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
20012         select, poll tests: Make setsockopt invocation effective.
20013         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
20014         the bind() call.
20015         * tests/test-select.h (open_server_socket): Likewise.
20017 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
20019         sockets, sys_stat: restore AC_C_INLINE
20020         This undoes the 2012-09-22 patch.
20021         * m4/sockets.m4 (gl_SOCKETS):
20022         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
20023         Restore AC_C_INLINE, since MSVC requires __inline or _inline
20024         and does not support plain 'inline'.  Reported by Bruno Haible in
20025         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00183.html>.
20027 2012-09-30  Bruno Haible  <bruno@clisp.org>
20029         localeconv tests: Avoid test failure on OpenIndiana.
20030         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
20031         skip the 'grouping' and 'mon_grouping' tests.
20032         Reported by Jim Meyering.
20034 2012-09-30  Bruno Haible  <bruno@clisp.org>
20036         havelib: Follow libtool developments.
20037         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
20038         Suggested by Simon Josefsson.
20040 2012-09-29  Jim Meyering  <meyering@redhat.com>
20042         fstatat.c: fix a compile-impeding typo
20043         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
20044         Introduced in commit v0.0-7636-gd202279.
20045         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
20047 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
20049         extern-inline: provide a -Wundef safe config.h
20050         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
20051         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
20052         to produce a -Wundef warning free config.h.
20054 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
20056         hash-pjw: relax license to LGPLv2+
20057         * modules/hash-pjw (License): Relax, with consent of author.
20059 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
20061         maint.mk: fix strict vs. lazy variable issues with RELEASE
20062         * top/maint.mk (_equal): New function.
20063         (member_check): Strip the result to avoid spurious spaces.
20064         (url_dir_list): Do not use ifeq, which is strict, as it will
20065         require RELEASE_TYPE to be defined.
20066         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
20067         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
20068         (announcement_Cc_alpha,announcement_mail_headers_alpha)
20069         (announcement_Cc_beta,announcement_mail_headers_beta)
20070         (announcement_Cc_stable,announcement_mail_headers_stable): these.
20071         (release): Do not depend on $(release-type), as it forces its
20072         evaluation.  Bounce to it.
20074 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
20076         maint.mk: formatting changes
20077         * top/maint.mk: Indent bodies of if's.
20079 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
20081         maint.mk: factor the validation of RELEASE_TYPE
20082         With help from Jim Meyering.
20083         http://lists.gnu.org/r/bug-gnulib/2012-09/msg00132.html
20084         * top/maint.mk (_empty, _sp): Move their definition earlier.
20085         (member-check, release-type): New.
20086         Use the latter instead of $(RELEASE_TYPE).
20087         Remove now useless local checks.
20089 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
20091         maint.mk: provide "make upload" to ease uploading
20092         See
20093         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00028.html>.
20094         Do not depend simply on the current $(VERSION), as there may have been
20095         new commits since the tarball generation.  Rather, rely on $(RELEASE),
20096         as "make release-commit" already does.
20098         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
20099         "make TYPE".
20101         * top/maint.mk (upload_command, upload, release): New.
20102         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
20103         (VERSION): first word of $(RELEASE) is always right.
20104         (emit_upload_commands): Adjust.
20105         * top/README-release: Update.
20107 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
20109         maint.mk: silent rules
20110         With help from Stefano Lattarini.
20111         * top/maint.mk (writable-files): Use $(AM_V_GEN).
20112         (announcement): Use $(AM_V_at).
20114 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
20116         localename: port gl_locale_name_thread_unsafe to FreeBSD
20117         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
20118         and use the simpler FreeBSD implementation on Mac OS X as well.
20119         Original idea suggested by Ed Maste in
20120         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00094.html>.
20122 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
20124         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
20125         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
20126         * lib/mbuiter.c, lib/xsize.c: New files.
20127         * lib/binary-io.h (BINARY_IO_INLINE):
20128         * lib/eealloc.h (EEALLOC_INLINE):
20129         * lib/mbfile.h (MBFILE_INLINE):
20130         * lib/mbiter.h (MBITER_INLINE):
20131         * lib/mbuiter.h (MBUITER_INLINE):
20132         * lib/xsize.h (XSIZE_INLINE):
20133         New macros.
20134         Replace all uses of 'static inline' with them.
20135         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20136         * m4/eealloc.m4 (gl_EEALLOC):
20137         * m4/mbfile.m4 (gl_MBFILE):
20138         * m4/mbiter.m4 (gl_MBITER):
20139         * m4/xsize.m4 (gl_XSIZE):
20140         Do not require AC_C_INLINE.
20141         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
20142         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
20143         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
20144         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
20145         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
20146         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
20147         * modules/binary-io, modules/eealloc, modules/mbfile:
20148         * modules/mbiter, modules/mbuiter:
20149         (Depends-on): Add extern-inline.
20151         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
20152         * lib/pipe-filter-aux.c: New file.
20153         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
20154         Replace all uses of 'static inline' with it.
20155         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20156         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
20157         (filter_retcode): No real need for inline here.
20158         * modules/pipe-filter-gi, modules/pipe-filter-ii:
20159         (Files): Add lib/pipe-filter-aux.c.
20160         (Depends-on): Add extern-inline.
20161         (configure.ac): Do not require AC_C_INLINE.
20162         (lib_SOURCES): Add pipe-filter-aux.c.
20164         fdutimensat: omit unnecessary AC_C_INLINE
20165         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
20167         fchmodat, fchownat, fstatat: use extern-inline
20168         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
20169         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
20170         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
20171         New macros.
20172         * lib/openat.h:
20173         Replace all uses of 'static inline' with them.
20174         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20175         * modules/fchmodat, modules/fchownat, modules/fstatat:
20176         * modules/openat-h:
20177         (Depends-on):
20178         Add extern-inline.
20179         (configure.ac): Remove AC_C_INLINE.
20181         acl, mbchar, priv-set: use extern-inline
20182         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
20183         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
20184         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
20185         New macros.
20186         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
20187         Replace all uses of 'static inline' with it.
20188         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20189         * m4/acl.m4 (gl_FUNC_ACL):
20190         * m4/mbchar.m4 (gl_MBCHAR):
20191         * m4/priv-set.m4 (gl_PRIV_SET):
20192         Remove AC_C_INLINE, since 'inline' is no longer used directly.
20193         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
20194         Add extern-inline.
20196         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
20197         * m4/sockets.m4 (gl_SOCKETS):
20198         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
20199         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
20200         environments where it's already guaranteed to work, so we needn't
20201         check for it at 'configure'-time.
20203         tls-tests: omit unnecessary 'inline'
20204         * tests/test-tls.c (perhaps_yield): No longer inline.
20205         Simplicity and portability trump efficiency in test cases.
20207         utimens-tests: avoid unnecessary 'inline'
20208         * modules/fdutimensat-tests (configure.ac):
20209         * modules/futimens-tests (configure.ac):
20210         * modules/utimens-tests (configure.ac):
20211         * modules/utimensat-tests (configure.ac):
20212         Remove AC_C_INLINE.
20213         * tests/test-utimens-common.h (ctime_compare):
20214         No longer inline.  Simplicity and portability trump efficiency here.
20216         misc: don't limit commentary to inline functions
20217         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
20218         * lib/xalloc-oversized.h, lib/xsize.h:
20219         Contrast macros to functions in general, not just to inline functions,
20220         when the commentary does not apply only to inline functions.
20222 2012-09-20  Jim Meyering  <meyering@redhat.com>
20224         non-recursive-gnulib-prefix-hack: new module
20225         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
20226         the file that originated in Bison.
20227         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
20228         largely copied from a snippet that resided in bison's configure.ac.
20229         * modules/non-recursive-gnulib-prefix-hack: New file.
20230         * MODULES.html.sh (Support for maintaining and releasing projects):
20231         Add it.
20233 2012-09-18  Jim Meyering  <meyering@redhat.com>
20235         maint.mk: generalize _gl_tight_scope for non-recursive make
20236         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
20237         that *.h would describe additional .h files in the directory
20238         specified by $(_gl_TS_dir).  I.e., add this...
20239         (_gl_TS_other_headers): New variable.
20241         maint.mk: exempt trailing blanks found in "binary" files
20242         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
20243         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
20244         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
20246 2012-09-17  Jim Meyering  <meyering@redhat.com>
20248         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
20249         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
20250         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
20251         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
20253 2012-09-17  Jim Meyering  <meyering@redhat.com>
20255         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
20256         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
20257         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
20258         It is not in the same category as "exit (0)" or "exit (1)", and
20259         besides, I know of no symbolic name for that 77.  Reported by
20260         Richard W.M. Jones in
20261         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
20263 2012-09-17  Jim Meyering  <meyering@redhat.com>
20265         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
20266         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
20267         all uses of #define, not just those that start in column 1.
20268         Richard W.M. Jones reported a false positive in
20269         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
20271 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
20273         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
20274         * lib/localcharset.c (locale_charset) [DARWIN7]:
20275         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
20276         as these two values are incompatible.  Problem reported by Max Horn.
20277         For more discussion, please see
20278         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00061.html>.
20280         doc: document sticky-EOF issue
20281         * doc/posix-functions/fgetc.texi (fgetc):
20282         * doc/posix-functions/fgets.texi (fgets):
20283         * doc/posix-functions/fread.texi (fread):
20284         * doc/posix-functions/fscanf.texi (fscanf):
20285         * doc/posix-functions/getc.texi (getc):
20286         * doc/posix-functions/getchar.texi (getchar):
20287         * doc/posix-functions/scanf.texi (scanf):
20288         Mention that glibc and default Solaris do not conform to
20289         C99 and POSIX-2001 or later, with respect to how getchar
20290         etc. behave when feof reports nonzero.
20292 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
20294         poll: fix poll(0, NULL, msec)
20295         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
20296         but nfd is 0.  In that case poll should behave like select.
20298 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
20299             Paolo Bonzini  <bonzini@gnu.org>
20301         poll: fix for systems that can't recv() on a non-socket
20302         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
20303         is readable.  In this case POLLHUP will not be supported.
20304         * doc/posix-functions/poll.texi: Document this.
20306 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
20308         poll/select: document portability problems not fixed by Gnulib.
20309         * doc/posix-functions/poll.texi: poll does not work well on
20310         pipes under Windows.  It has the same limitations as select on
20311         BeOS.
20312         * doc/posix-functions/select.texi: select does not work well
20313         on pipes under Windows.
20315 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
20317         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
20318         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
20319         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
20320         <http://lists.gnu.org/r/bug-tar/2012-07/msg00018.html>.
20322 2012-09-06  Eric Blake  <eblake@redhat.com>
20324         net_if: give more details about the bug being fixed
20325         * doc/posix-headers/net_if.texi: Add clarification.
20327 2012-09-05  Eric Blake  <eblake@redhat.com>
20329         net_if: new module
20330         * modules/net_if: New module, borrowing ideas from netinet_in.
20331         * m4/net_if_h.m4: New file.
20332         * lib/net_if.in.h: Likewise.
20333         * doc/posix-headers/net_if.texi (net/if.h): Document it.
20334         * MODULES.html.sh (lacking POSIX:2008): Likewise.
20335         * tests/test-net_if.c: Make function checks conditional.
20336         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
20338 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
20340         readutmp: fix non-portable UT_PID use
20341         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
20342         Use `UT_PID (u) > 0' as absolute condition.
20344 2012-09-04  Jim Meyering  <meyering@redhat.com>
20346         fts: reduce two or more trailing spaces to just one, usually
20347         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
20348         or more slashes, trim all but the final one.  But if a name consists
20349         solely of two slashes, don't modify it.  If it consists solely of
20350         three or more slashes, strip all but one.
20352         This is part of the solution to a minor problem with rm:
20353         it would print a bogus ELOOP diagnostic when failing to remove
20354         the slash-decorated name of a symlink-to-directory:
20356             $ mkdir d && ln -s d s && env rm -r s/
20357             rm: cannot remove 's': Too many levels of symbolic links
20359         With the change below and a trivial don't-trim-trailing-slashes
20360         adjustment to remove.c, it does this:
20362             $ env rm -r s/
20363             rm: cannot remove 's/': Not a directory
20365         Improved by: Eric Blake
20367         fts: when there is no risk of overlap, use memcpy, not memmove
20368         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
20370 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
20372         stdbool: be more compatible with mixed C/C++ compiles
20373         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
20374         Define to bool, true, false, respectively, as GCC's builtin
20375         stdbool.h does.  Problem reported by Michael Goffioul in
20376         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00143.html>.
20378 2012-08-28  Jim Meyering  <meyering@redhat.com>
20380         revert last change: it was not needed
20381         * tests/test-vc-list-files-git.sh: There's already a test for
20382         a working git, just below.
20384 2012-08-28  Jim Meyering  <meyering@redhat.com>
20386         tests: test-vc-list-files-git.sh: skip if git is not available
20387         * tests/test-vc-list-files-git.sh: Skip this test when git is
20388         not available.
20390 2012-08-26  Bruno Haible  <bruno@clisp.org>
20392         gnulib-tool: Remove no-op option --no-changelog.
20393         * gnulib-tool (func_usage): Don't mention --no-changelog.
20394         (do_changelog): Remove variable.
20395         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
20397 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
20399         doc: remove fdl-1.2.texi
20400         It is no longer used or maintained, and its use of @acronym
20401         is problematic.  See the thread containing
20402         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00134.html>.
20403         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
20404         * doc/old-licenses/fdl-1.2.texi: Remove.
20406         execinfo: port to FreeBSD
20407         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
20408         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
20409         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00113.html>.
20410         * modules/execinfo (Link): Add $(LIB_EXECINFO).
20412 2012-08-23  Jim Meyering  <meyering@redhat.com>
20414         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
20415         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
20416         to placate gcc's -Wold-style-declaration.
20418 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
20420         doc: do not use @acronym
20421         * doc/inet_ntoa.texi (inet_ntoa):
20422         * doc/parse-datetime.texi (Seconds since the Epoch)
20423         (Specifying time zone rules):
20424         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
20425         Don't use @acronym.  Problem reported by John Darlington in
20426         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00124.html>.
20428 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
20430         stdnoreturn: port to newer GCCs
20431         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
20432         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
20433         Problem reported by Jim Meyering in
20434         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00121.html>.
20435         Also, rename the 'test' function to a void a clash with the
20436         already-supplied 'main' function; this fixes a bug that incorrectly
20437         rejected GCC 4.7.1's <stdnoreturn.h>.
20438         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
20439         Document GCC problem.
20441 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
20443         pipe-filter: fix comment typo
20444         * lib/pipe-filter.h: Mention correct function.
20446 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
20448         execinfo: new module
20449         This is for Emacs.  Currently, it provides a no-effect stub
20450         on all platforms where it does not already work.
20451         It already works on glibc-based systems, and on Solaris 11.
20452         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
20453         New files.
20454         * doc/glibc-headers/execinfo.texi (execinfo.h):
20455         * MODULES.html.sh (Misc): Document it.
20457 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
20459         extern-inline: support old GCC 'inline'
20460         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
20461         if available.  This applies to GCC versions 2.7 through 4.2, or
20462         when newer GCC is using -fgnu89-inline.  The goal is to address
20463         some of the performance issues mentioned by Bruno Haible in
20464         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00097.html>.
20466 2012-08-20  Eric Blake  <eblake@redhat.com>
20468         maint.mk: avoid redundant file name in message
20469         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
20470         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
20471         (sc_makefile_path_separator_check): Remove bogus $(ME).
20473 2012-08-20  Mike Frysinger  <vapier@gentoo.org>
20475         timer-time: fix link order when static linking on glibc
20476         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
20477         _after_ -lrt so that it's significant.
20479 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
20481         timespec: omit unnecessary AC_C_INLINE
20482         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
20484         stat-time: omit unnecessary AC_C_INLINE
20485         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
20486         Do not require AC_C_INLINE.
20488         ignore-value: omit unnecessary AC_C_INLINE
20489         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
20491         sys_select: avoid 'static inline'
20492         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
20494         mktime: avoid 'static inline'
20495         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
20496         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
20498 2012-08-19  Bruno Haible  <bruno@clisp.org>
20500         gnulib-tool: Improve coding style.
20501         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
20502         func_emit_lib_Makefile_am.
20503         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
20505 2012-08-19  Bruno Haible  <bruno@clisp.org>
20507         gnulib-tool: Fix indentation.
20508         * gnulib-tool (func_import): Fix indentation.
20510 2012-08-19  Bruno Haible  <bruno@clisp.org>
20512         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
20513         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
20514         on the list of removed files.
20516 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
20518         test-parse-datetime: avoid glibc leap-second glitch
20519         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
20520         with the 2012 rules.  Problem reported by Bruce Dubbs in
20521         <http://bugs.gnu.org/12206>.
20523 2012-08-14  Bruno Haible  <bruno@clisp.org>
20525         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
20526         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
20527         from argument.
20528         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
20530 2012-08-14  Eric Blake  <eblake@redhat.com>
20532         ldexp: relax license
20533         * modules/ldexp (License): Trivial relax, since the module only
20534         provides a permissively licensed m4 file.
20536 2012-08-13  Bruno Haible  <bruno@clisp.org>
20538         gnulib-tool: Fix persistence of --witness-c-macro option.
20539         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
20540         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
20542 2012-08-11  Eric Blake  <eblake@redhat.com>
20544         count-leading-zeros: use a lookup table on non-gcc compilers
20545         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
20546         alternate implementation, suggested by Jim Meyering.
20548 2012-08-10  Eric Blake  <eblake@redhat.com>
20550         count-leading-zeros: new module
20551         * modules/count-leading-zeros: New module.
20552         * m4/count-leading-zeros.m4: New file.
20553         * lib/count-leading-zeros.h: Likewise.
20554         * modules/count-leading-zeros-tests: New test.
20555         * tests/test-count-leading-zeros.c: New file.
20556         * MODULES.html.sh (Integer arithmetic functions): Document it.
20558 2012-08-07  Simon Josefsson  <simon@josefsson.org>
20559             Jim Meyering  <meyering@redhat.com>
20561         maintainer-makefile: Fix syntax error with dash.
20562         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
20563         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
20565 2012-08-05  Jim Meyering  <meyering@redhat.com>
20567         extern-inline: also ignore -Wmissing-declarations
20568         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
20569         required with gcc-4.8.0-to-be.
20571         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
20572         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
20573         for /error ?([^,]*)/.  This avoids false-positives for strings like
20574         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
20576 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
20578         gnumakefile: better interaction with Automake-NG
20579         * modules/gnumakefile [Makefile.am]: The makefiles generated by
20580         Automake-NG always contain a definition of VPATH, even in non-VPATH
20581         builds (its value being simply '.' in that case).  So, in the
20582         'clean-GNUmakefile' rule, to determine whether running under a
20583         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
20584         '$(VPATH)' expands to the empty string.
20586 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
20588         base64: Use extern C scope in header file, for C++.
20589         * lib/base64.h: Add C++ namespace protection.
20591 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
20593         stat-time, timespec, u64: support naive out-of-dir builds
20594         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
20595         Use '#include "foo.h"', not '#include <foo.h>', when including
20596         one's own interface.  This works better when configuring with
20597         out-of-directory builds, since packages need not add an
20598         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
20600 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
20602         utimens: use extern-inline
20603         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
20604         * lib/utimens.h: Add copyright notice, since this is now large enough
20605         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20606         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
20607         * modules/utimens (Depends-on): Add extern-inline.
20609         u64: use extern-inline
20610         * lib/u64.c: New file.
20611         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20612         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
20613         * modules/u64 (Files): Add lib/u64.c.
20614         (Depends-on): Add extern-inline.
20615         (configure.ac): No need to require AC_C_INLINE, since extern-inline
20616         does that now.
20617         (lib_SOURCES): Add u64.c.
20619         timespec: use extern-inline
20620         * lib/timespec.c: New file.
20621         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20622         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
20623         * modules/timespec (Files): Add lib/timespec.c.
20624         (Depends-on): Add extern-inline.
20625         (lib_SOURCES): Add timespec.c.
20627         stat-time: use extern-inline
20628         * lib/stat-time.c: New file.
20629         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20630         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
20631         * modules/stat-time (Files): Add lib/stat-time.c.
20632         (Depends-on): Add extern-inline.
20633         (lib_SOURCES): Add stat-time.c.
20635         extern-inline: new module
20636         * modules/extern-inline, m4/extern-inline.m4: New files.
20637         This is for better support of 'extern inline' a la ISO C99,
20638         with a portable alternative on compilers that do not support
20639         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
20640         of the Emacs executable, when compiled with debugging disabled,
20641         which is a typical way that Emacs is built while developing.
20643 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
20645         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
20646         * build-aux/do-release-commit-and-tag: Move variable definitions
20647         together.
20648         ($branch): Instead of defaulting to "master", default to the current
20649         branch (as gnu-web-doc-update does).
20650         (help): Display the current values of the option arguments.
20651         * top/maint.mk (release-commit): New.
20652         * top/README-release: Simplify the corresponding step.
20654 2012-07-30  Eric Blake  <eblake@redhat.com>
20656         passfd: fix comment on recvfd
20657         * lib/passfd.c (recvfd): Fix comment.
20658         Reported by Jann Horn <jannhorn@googlemail.com>.
20660 2012-07-30  Jim Meyering  <meyering@redhat.com>
20662         maint.mk: avoid a sub-shell
20663         * top/maint.mk (release-prep): Remove unneeded sub-shell.
20665 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
20667         maint.mk: use silent-rules support from Automake
20668         * top/maint.mk (news-check, vc-diff-check, announcement)
20669         (no-submodule-changes, alpha beta stable, release-prep)
20670         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
20672 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
20674         maint.mk: provide a web-manual-update target
20675         * top/maint.mk: here.
20676         * top/README-release: Use it to simplify the web manual update step.
20678 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
20680         README-release: shorten the circuit to post a news
20681         * top/README-release: Point directly to the news submission form.
20683 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
20685         gnu-web-doc-update: fix --help
20686         * build-aux/gnu-web-doc-update: The information "top level" was written
20687         twice.
20689 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
20691         maint.mk: absolute VPATH issue
20692         * top/maint.mk (release-prep): Help Git find .git/.
20693         From Jim Meyering.
20695 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
20697         gitlog-to-changelog: fix previous change
20698         * build-aux/gitlog-to-changelog: Fix condition.
20699         Add missing ";".
20701 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
20703         gitlog-to-changelog: don't expect .git to be in $srcdir
20704         Reported by Bruno Haible.
20705         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00265.html>
20706         * build-aux/gitlog-to-changelog (&git_dir_option): New.
20707         Use it.
20709 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
20711         maint.mk: absolute VPATH build fix
20712         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
20713         $(srcdir) is not a parent of $(builddir).
20715 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
20717         clean-temp: Fix memory leak.
20718         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
20719         'files' members of tmpdir.
20721 2012-07-27  Jim Meyering  <meyering@redhat.com>
20723         maint.mk: new rule: refresh-gnulib-patches
20724         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
20725         Use this rule to refresh them.
20726         * top/maint.mk (refresh-gnulib-patches): New rule.
20728 2012-07-24  Bruno Haible  <bruno@clisp.org>
20730         gnulib-tool: Fix handling of inctests variable.
20731         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
20732         Reported by Nick Bowler <nbowler@elliptictech.com>.
20734 2012-07-22  Bruno Haible  <bruno@clisp.org>
20736         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
20737         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
20738         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
20739         Remove exemption for getpass.h.
20740         Suggested by Eric Blake.
20742 2012-07-20  Eric Blake  <eblake@redhat.com>
20744         verify: document conflict with -Wnested-externs
20745         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
20747         maint.mk: forbid exit(-1)
20748         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
20750 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
20752         fsusage: port back to Solaris
20753         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
20754         error (fsd not declared) on Solaris 10.  Reported privately by
20755         Andrew Borodin.
20757 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
20759         gnu-web-doc-update: fix error messages
20760         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
20762         gnu-web-doc-update: check the requirements.
20763         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
20764         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
20765         * build-aux/bootstrap (find_tool): Comment change.
20767 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
20769         maint.mk: minor simplication.
20770         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
20771         for default values.
20773 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
20775         gitlog-to-changelog: VPATH build issues
20776         If builddir is not a subdirectory of srcdir, running git from it will
20777         fail.
20778         * build-aux/gitlog-to-changelog (--srcdir): New option.
20780 2012-07-15  Bruno Haible  <bruno@clisp.org>
20782         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
20783         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
20784         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
20785         Remove exemption for fpending.h.
20786         Suggested by Eric Blake.
20788 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
20790         pthread_sigmask: fix bug on FreeBSD 9
20791         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
20792         Include string.h.
20793         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
20794         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
20795         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
20796         but pthread_sigmask (1729, NULL, NULL) returns zero.
20797         See <http://bugs.gnu.org/11884>.
20798         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
20799         by inspecting whether the main call changed the old mask.
20801 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
20803         README-release: make it more legible
20804         * top/README-release: Improve typography slightly.
20806 2012-07-15  Jim Meyering  <meyering@redhat.com>
20808         maint: require that each sc_... command start with "@"
20809         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
20810         "make sc_maint" helps us avoid this nit.
20812 2012-07-15  Jim Meyering  <meyering@redhat.com>
20814         maint.mk: add leading "@" to quiet new "make syntax-check" rule
20815         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
20817 2012-07-13  Eric Blake  <eblake@redhat.com>
20819         maint.mk: new syntax check for HAVE_DECL checks
20820         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
20821         * cfg.mk
20822         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
20823         Exempt some false positives.
20824         Based on a report by Karel Zak.
20826         argp: make HAVE_DECL usage consistent
20827         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
20828         macros, not whether they are defined.
20829         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
20830         convention with other declaration checks.
20831         Reported by Karel Zak, with suggestions from Paul Eggert.
20833         stat-time: relax license to LGPLv2+
20834         * modules/stat-time (License): Relax, with consent of all authors.
20836         strndup: fix m4 usage error
20837         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
20838         defined, to either 0 or 1.
20839         Reported by Karel Zak.
20841 2012-07-11  Jim Meyering  <meyering@redhat.com>
20843         maint: enable the sc_avoid_if_before_free syntax-check rule
20844         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
20845         (if_before_free_offenders_): Define.
20846         (if_before_free_basename_re_): Define.
20847         Exempt current files with useless if-before-free.
20849 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
20851         gettext: do not assume '#define ... defined ...' behavior
20852         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
20853         Do not use '#define FOO ... defined BAR ...', as the C standard says
20854         it's not portable to expect that this works after macro expansion.
20855         Problem reported for gzip by Steven M. Schweda in
20856         <http://lists.gnu.org/r/bug-gzip/2012-07/msg00000.html>.
20858 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
20860         getloadavg: clean out old Emacs and Autoconf cruft
20861         See Glenn Morris in <http://bugs.gnu.org/11905>.
20862         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
20863         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
20864         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
20865         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
20867 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
20869         bootstrap: let warn be like tests/init.sh's warn_
20870         Reported by Jim Meyering.
20871         * build-aux/bootstrap (warn): Remove, replaced by...
20872         (warnf_, warn_): these.
20873         Adjust callers.
20874         Shorten messages that no longer fit in 80 columns.
20876 2012-07-09  Bruno Haible  <bruno@clisp.org>
20878         getopt: Simplify after Emacs changed.
20879         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
20880         (gl_GETOPT_IFELSE): Remove macro.
20882 2012-07-09  Jim Meyering  <meyering@redhat.com>
20884         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
20885         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
20887         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
20888         Bugs in both of those conspired to make the
20889         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
20890         _sc_search_regexp's handling of non-empty $in_files would filter
20891         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
20892         choice of in_files value meant there would be no match in most
20893         projects, due to the presence of two or more Makefile.in files.
20894         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
20895         Fix a bug in how a non-empty $$in_files was processed:
20896         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
20897         in spite of the name, it's a regexp, not a list of file names.
20899 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
20901         getloadavg, getopt: fix commentary re configure.in
20902         Autoconf is deprecating the name 'configure.in', so change it to
20903         to the new name 'configure.ac' in a couple of places.
20904         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
20905         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
20906         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
20907         Emacs has renamed it to configure.ac, and it no longer refers
20908         to these macros anyway.
20910         timespec: mark functions with const attributes
20911         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
20912         Mark with _GL_ATTRIBUTE_CONST.
20914 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
20916         canonicalize[-lgpl]: handle "guessing" values when cross-building
20917         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
20918         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
20919         matches "*yes" instead of just "yes".  Regression introduced in commit
20920         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
20922 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
20923             Bruno Haible  <bruno@clisp.org>
20925         canonicalize: make the right guess when cross-compiling to GNU
20926         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
20927         determine whether cross-compiling to glibc systems, so as to
20928         include GNU/Hurd.
20930 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
20932         timespec-sub: avoid duplicate include
20933         * lib/timespec-sub.c: Do not include <config.h> twice.
20934         Reported by Juanma Barranquero.
20936 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
20938         bootstrap: use a more consistent error reporting scheme
20939         * build-aux/bootstrap (warn, die): New.
20940         Use them.
20942 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
20944         sys_time: allow too-wide tv_sec
20945         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
20946         timeval even if tv_sec is wider than time_t.  This allows
20947         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
20948         as without this patch gnulib replaces struct timeval
20949         and OpenBSD futimes therefore has a type mismatch.
20950         * doc/posix-headers/sys_time.texi: Mention this.
20952         pthread: check for both pthread_create and pthread_join
20953         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
20954         alter the check so that it tests for both pthread_create and
20955         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
20956         Suggested by Bruno Haible and Richard Yao in
20957         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00048.html>.
20959         parse-datetime: doc tuneup
20960         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
20961         spacing issues.
20963 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
20965         do-release-commit-and-tag: fix the previous commit
20966         * build-aux/do-release-commit-and-tag: Actually the test was right,
20967         but the comment and the error message were misleading.
20968         Fix comment, and improve error message.
20969         Perform check first, so that NEWS is not modified uselessly.
20971         do-release-commit-and-tag: fix typo
20972         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
20973         _not_ start with a stub.
20975 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
20977         pthread: check for pthread_create, not pthread_join
20978         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
20979         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
20980         pthread_join in libc.  I hope this removes the need for all the
20981         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
20982         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00042.html>.
20984 2012-07-04  Jim Meyering  <meyering@redhat.com>
20986         parse-datetime: fix failure to diagnose invalid input
20987         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
20988         rather than diagnosing the invalid input.  Now it reports this:
20989         date: invalid date '\260'
20990         * lib/parse-datetime.y (to_uchar): Define.
20991         (yylex): Don't sign-extend "other" bytes.
20992         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
20993         Thanks to Bruno Haible for the patch to this file.
20994         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
20995         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
20997 2012-07-03  Jim Meyering  <meyering@redhat.com>
20999         bootstrap: do not require now-removed build-aux/missing
21000         Now that build-aux/missing is, er, missing, bootstrap would
21001         silently fail.
21002         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
21003         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
21004         no longer part of gnulib.
21005         Diagnose the failure.
21007 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
21009         alloca: add support for HP NonStop TNS/E native
21010         * lib/alloca.in.h (alloca): Support the new host.
21011         From a suggestion by Joachim Schmitz in
21012         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00355.html>.
21014 2012-07-02  Pádraig Brady  <P@draigBrady.com>
21016         fsusage: remove code not needed on non GNU/Linux systems.
21018         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
21019         Don't include headers no longer needed in this case.
21020         * lib/fsusage.c [STAT_STATVFS &&
21021         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
21022         STAT_STATFS2_FRSIZE to exclude code not used in this case.
21024 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
21026         fsusage: include files needed for glibc 2.6 fallback
21027         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
21028         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
21029         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
21030         Problem reported by Ludovic Courtès in
21031         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00005.html>.
21033         fsusage: avoid needless check on GNU/Linux
21034         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
21035         on GNU/Linux systems, since it can't possibly work.
21037 2012-07-01  Bruno Haible  <bruno@clisp.org>
21039         log: Fix an autoconf >= 2.64 warning.
21040         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
21041         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
21043 2012-06-28  Bruno Haible  <bruno@clisp.org>
21045         log10f: Fix possible configuration problem.
21046         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
21047         $LOGF_LIBM.
21048         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
21050 2012-06-28  Bruno Haible  <bruno@clisp.org>
21052         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
21053         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
21054         not gl_cv_func_unlink_works.
21055         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
21057 2012-06-27  Eric Blake  <eblake@redhat.com>
21059         config: drop scripts that automake says are not independent
21060         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
21061         * build-aux/elisp-comp: Delete.
21062         * build-aux/missing: Likewise.
21063         * build-aux/ylwrap: Likewise.
21064         * modules/elisp-comp: Likewise.
21065         * MODULES.html.sh: Drop mention of elisp-comp.
21066         * NEWS: Mention this.
21068 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
21070         root-uid: new module
21071         This is for portability to Tandem's NonStop Kernel.
21072         * lib/root-uid.h, modules/root-uid: New files.
21073         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
21074         * lib/write-any-file.c, tests/test-sethostname2.c:
21075         Include "root-uid.h".
21076         * lib/euidaccess.c (euidaccess):
21077         * lib/pt_chown.c (main):
21078         * lib/unlinkdir.c (cannot_unlink_dir):
21079         * lib/write-any-file.c (can_write_any_file):
21080         * m4/mknod.m4 (gl_FUNC_MKNOD):
21081         * tests/test-sethostname2.c (geteuid, main):
21082         Don't assume ROOT_UID == 0.
21083         * modules/euidaccess (Depends-on):
21084         * modules/pt_chown (Depends-on):
21085         * modules/sethostname-tests (Depends-on):
21086         * modules/unlinkdir (Depends-on):
21087         * modules/write-any-file (Depends-on):
21088         Add root-uid.
21090         regex: use locale-independent comparison for codeset name
21091         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
21092         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
21093         for codeset name.
21094         * lib/regex_internal.h: Do not include <strings.h>, since we
21095         no longer use strcasecmp.
21096         * modules/regex (Depends-on): Remove strcase.
21098 2012-06-23  Bruno Haible  <bruno@clisp.org>
21100         getopt-posix: No longer guarantee that option processing is resettable.
21101         * doc/posix-functions/getopt.texi: Drop description of problem with
21102         internal state. Fix info about mingw and msvc9.
21103         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
21104         option processing by getopt(). Run three test programs instead of one.
21105         Simplify cross-compilation guess.
21106         * NEWS: Mention the change.
21107         Reported by Rich Felker <dalias@aerifal.cx>.
21109 2012-06-26  Bruno Haible  <bruno@clisp.org>
21111         argp, regex: Ensure strcasecmp gets declared.
21112         * lib/argp-help.c: Include <strings.h>.
21113         * lib/regex_internal.h: Likewise.
21114         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
21116 2012-06-24  Bruno Haible  <bruno@clisp.org>
21118         ptsname_r: Make it consistent with ptsname on AIX.
21119         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
21120         implementation as for OSF/1.
21121         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
21122         a pty master.
21124         ptsname_r: Make it consistent with ptsname on OSF/1.
21125         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
21126         OSF/1.
21128 2012-06-24  Bruno Haible  <bruno@clisp.org>
21130         ttyname_r: Fix result on OSF/1, Solaris.
21131         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
21133 2012-06-24  Bruno Haible  <bruno@clisp.org>
21135         ptsname_r: Add support for Solaris.
21136         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
21137         Solaris.
21139         ptsname_r: Fix test failure on native Windows.
21140         * modules/ptsname_r (Depends-on): Add isatty.
21142         ptsname_r: Fix test failures on IRIX, Solaris.
21143         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
21144         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
21145         accordingly.
21146         * lib/ptsname_r.c: Include <fcntl.h>.
21147         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
21148         set errno if fd is invalid.
21149         * tests/test-isatty.c (main): Update comments.
21151 2012-06-24  Bruno Haible  <bruno@clisp.org>
21153         ptsname test: Extend test.
21154         * tests/test-ptsname.c: Include <errno.h>.
21155         (main): Test behaviour with invalid file descriptor.
21157 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
21159         time: fix obsolete comment
21160         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
21161         reference to HAVE_STRUCT_TIMESPEC in comment.
21163 2012-06-23  Bruno Haible  <bruno@clisp.org>
21165         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
21166         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
21167         does not handle abbreviated long options with equivalent
21168         disambiguations, set gl_replace_getopt to yes.
21169         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
21171 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
21173         time_r: fix typo that always overrode localtime_r decl
21174         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
21175         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
21176         not in a standard include.
21178 2012-06-22  Bruno Haible  <bruno@clisp.org>
21180         Write "Mac OS X" instead of "MacOS X".
21181         * README: Write "Mac OS X" instead of "MacOS X".
21182         * build-aux/bootstrap: Likewise.
21183         * build-aux/install-reloc: Likewise.
21184         * lib/acl-internal.h: Likewise.
21185         * lib/acl_entries.c: Likewise.
21186         * lib/argp-ba.c: Likewise.
21187         * lib/argp-pv.c: Likewise.
21188         * lib/config.charset: Likewise.
21189         * lib/copy-acl.c: Likewise.
21190         * lib/csharpexec.c: Likewise.
21191         * lib/euidaccess.c: Likewise.
21192         * lib/fbufmode.c: Likewise.
21193         * lib/fflush.c: Likewise.
21194         * lib/file-has-acl.c: Likewise.
21195         * lib/filemode.h: Likewise.
21196         * lib/fpurge.c: Likewise.
21197         * lib/freadable.c: Likewise.
21198         * lib/freadahead.c: Likewise.
21199         * lib/freading.c: Likewise.
21200         * lib/freadptr.c: Likewise.
21201         * lib/freadseek.c: Likewise.
21202         * lib/fseeko.c: Likewise.
21203         * lib/fseterr.c: Likewise.
21204         * lib/fsusage.c: Likewise.
21205         * lib/fwritable.c: Likewise.
21206         * lib/fwriting.c: Likewise.
21207         * lib/get-rusage-as.c: Likewise.
21208         * lib/get-rusage-data.c: Likewise.
21209         * lib/getdomainname.c: Likewise.
21210         * lib/idpriv-drop.c: Likewise.
21211         * lib/idpriv-droptemp.c: Likewise.
21212         * lib/localcharset.c: Likewise.
21213         * lib/locale.in.h: Likewise.
21214         * lib/localename.c: Likewise.
21215         * lib/mbsrtowcs-state.c: Likewise.
21216         * lib/nproc.c: Likewise.
21217         * lib/passfd.c: Likewise.
21218         * lib/posix_openpt.c: Likewise.
21219         * lib/printf-parse.c: Likewise.
21220         * lib/progreloc.c: Likewise.
21221         * lib/safe-read.h: Likewise.
21222         * lib/safe-write.h: Likewise.
21223         * lib/sched.in.h: Likewise.
21224         * lib/set-mode-acl.c: Likewise.
21225         * lib/signal.in.h: Likewise.
21226         * lib/stdint.in.h: Likewise.
21227         * lib/stdio-impl.h: Likewise.
21228         * lib/stdlib.in.h: Likewise.
21229         * lib/strtod.c: Likewise.
21230         * lib/sys_select.in.h: Likewise.
21231         * lib/tcgetsid.c: Likewise.
21232         * lib/unistd.in.h: Likewise.
21233         * lib/unlockpt.c: Likewise.
21234         * lib/vasnprintf.c: Likewise.
21235         * lib/vma-iter.c: Likewise.
21236         * lib/wcsrtombs-state.c: Likewise.
21237         * m4/acl.m4: Likewise.
21238         * m4/acosl.m4: Likewise.
21239         * m4/asinl.m4: Likewise.
21240         * m4/atanl.m4: Likewise.
21241         * m4/c-stack.m4: Likewise.
21242         * m4/cosl.m4: Likewise.
21243         * m4/expl.m4: Likewise.
21244         * m4/extensions.m4: Likewise.
21245         * m4/fdatasync.m4: Likewise.
21246         * m4/fmal.m4: Likewise.
21247         * m4/frexp.m4: Likewise.
21248         * m4/frexpf.m4: Likewise.
21249         * m4/frexpl.m4: Likewise.
21250         * m4/fsusage.m4: Likewise.
21251         * m4/getdomainname.m4: Likewise.
21252         * m4/getloadavg.m4: Likewise.
21253         * m4/getopt.m4: Likewise.
21254         * m4/gettext.m4: Likewise.
21255         * m4/gnulib-common.m4: Likewise.
21256         * m4/intdiv0.m4: Likewise.
21257         * m4/intlmacosx.m4: Likewise.
21258         * m4/largefile.m4: Likewise.
21259         * m4/ldexpl.m4: Likewise.
21260         * m4/link-follow.m4: Likewise.
21261         * m4/locale-ar.m4: Likewise.
21262         * m4/locale-fr.m4: Likewise.
21263         * m4/locale-ja.m4: Likewise.
21264         * m4/locale-tr.m4: Likewise.
21265         * m4/locale-zh.m4: Likewise.
21266         * m4/locale_h.m4: Likewise.
21267         * m4/lock.m4: Likewise.
21268         * m4/logl.m4: Likewise.
21269         * m4/mathfunc.m4: Likewise.
21270         * m4/minus-zero.m4: Likewise.
21271         * m4/mktime.m4: Likewise.
21272         * m4/mmap-anon.m4: Likewise.
21273         * m4/multiarch.m4: Likewise.
21274         * m4/nanosleep.m4: Likewise.
21275         * m4/nocrash.m4: Likewise.
21276         * m4/poll.m4: Likewise.
21277         * m4/printf-frexpl.m4: Likewise.
21278         * m4/printf.m4: Likewise.
21279         * m4/signbit.m4: Likewise.
21280         * m4/sinl.m4: Likewise.
21281         * m4/sqrtl.m4: Likewise.
21282         * m4/strerror_r.m4: Likewise.
21283         * m4/tanl.m4: Likewise.
21284         * m4/threadlib.m4: Likewise.
21285         * m4/ttyname_r.m4: Likewise.
21286         * m4/unlink.m4: Likewise.
21287         * m4/visibility.m4: Likewise.
21288         * m4/wcwidth.m4: Likewise.
21289         * tests/minus-zero.h: Likewise.
21290         * tests/test-alloca-opt.c: Likewise.
21291         * tests/test-copy-acl.sh: Likewise.
21292         * tests/test-copy-file.sh: Likewise.
21293         * tests/test-fdatasync.c: Likewise.
21294         * tests/test-file-has-acl.sh: Likewise.
21295         * tests/test-flock.c: Likewise.
21296         * tests/test-fsync.c: Likewise.
21297         * tests/test-localename.c: Likewise.
21298         * tests/test-malloca.c: Likewise.
21299         * tests/test-nonblocking-pipe.h: Likewise.
21300         * tests/test-nonblocking-socket.h: Likewise.
21301         * tests/test-openpty.c: Likewise.
21302         * tests/test-posix_openpt.c: Likewise.
21303         * tests/test-ptsname.c: Likewise.
21304         * tests/test-ptsname_r.c: Likewise.
21305         * tests/test-sameacls.c: Likewise.
21306         * tests/test-select.h: Likewise.
21307         * tests/test-set-mode-acl.sh: Likewise.
21308         * tests/test-snprintf-posix.h: Likewise.
21309         * tests/test-sprintf-posix.h: Likewise.
21310         * tests/test-strtod.c: Likewise.
21311         * tests/test-time.c: Likewise.
21312         * tests/test-vasnprintf-posix.c: Likewise.
21313         * tests/test-vasprintf-posix.c: Likewise.
21314         * doc/acl-resources.txt: Likewise.
21315         * doc/**/*.texi: Likewise.
21316         Reported by Max Horn <max@quendi.de>.
21318 2012-06-22  Bruno Haible  <bruno@clisp.org>
21320         grantpt: Relax requirement regarding invalid file descriptors.
21321         * lib/grantpt.c: Don't include <fcntl.h>.
21322         (grantpt): Don't verify the validity of the file descriptor.
21323         * modules/grantpt (Depends-on): Remove fcntl-h.
21324         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
21325         file descriptors.
21326         * doc/posix-functions/grantpt.texi: Document more platforms on which
21327         grantpt succeeds for invalid file descriptors.
21328         Reported by Rich Felker <dalias@aerifal.cx>.
21330 2012-06-22  Bruno Haible  <bruno@clisp.org>
21332         fbufmode test: Don't test unportable behaviour.
21333         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
21334         (main): Invoke it three times.
21335         Reported by Szabolcs Nagy <nsz@port70.net>
21336         and Rich Felker <dalias@aerifal.cx>.
21338 2012-06-21  Bruno Haible  <bruno@clisp.org>
21340         gnulib-tool: Refactor inctests variable.
21341         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
21342         (func_modules_transitive_closure,
21343         func_modules_transitive_closure_separately,
21344         func_import, func_create_testdir): Update.
21346         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
21347         * gnulib-tool: Accept option --without-tests.
21348         (func_usage): Document --without-tests option. Rearrange.
21349         (inctests): Normalize according to the mode.
21350         * NEWS: Mention the change.
21351         Suggested by Simon Josefsson.
21353 2012-06-21  Bruce Korb  <bkorb@gnu.org>
21355         parse-duration test: Avoid spurious output.
21356         * tests/test-parse-duration.sh: Reindent with leading tabs.
21358 2012-06-21  Jim Meyering  <meyering@redhat.com>
21360         maint: disable the strncpy prohibition
21361         * cfg.mk: Do not prohibit strncpy here.
21363 2012-06-21  Bruno Haible  <bruno@clisp.org>
21365         nonblocking: Avoid compilation error on mingw64.
21366         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
21367         fscanf.
21368         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
21369         * modules/vfscanf (configure.ac): Likewise.
21370         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
21371         definition only if stdio.h has prepared it.
21372         Reported by Daniel P. Berrange <berrange@redhat.com>.
21374 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
21376         gnulib-tool: Use readlink if it is available.
21377         * gnulib-tool (func_readlink): Choose function more appropriately.
21379 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
21381         posixtm-tests: port to buggy compiler
21382         Problem reported by Simon Josefsson in
21383         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00246.html>.
21384         * modules/posixtm-tests (Depends-on): Add stdint.
21385         * tests/test-posixtm.c (struct posixtm_test.t_expected):
21386         Now of type int_least64_t, not int64_t, both because that's
21387         what INT64_C returns and because int_least64_t works even
21388         on 72-bit hosts.
21389         (T): Use INT64_C on constants outside the traditional int range,
21390         to work around compiler bug noted by Simon.
21392         mktime: fix integer overflow in 'configure'-time test
21393         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
21394         after integer overflow.  Problem reported by Rich Felker in
21395         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00257.html>.
21396         Also, don't look for further instances of a bug if we've already
21397         found one instance; this helps 'configure' run faster.
21399 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
21401         tmpfile, clean-temp: Fix invocation of GetVersionEx.
21402         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
21403         GetVersionEx correctly.
21404         * lib/clean-temp.c (supports_delete_on_close): Likewise.
21406 2012-06-20  Bruno Haible  <bruno@clisp.org>
21408         fdopen: Allow implementations that don't reject invalid fd arguments.
21409         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
21410         succeeds.
21411         Reported by Rich Felker <dalias@aerifal.cx>.
21413 2012-06-20  Simon Josefsson  <simon@josefsson.org>
21415         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
21416         bring in LIBINTL.
21418 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
21420         init.sh: do not rely on autoupated PWD
21421         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
21422         <http://lists.gnu.org/r/bug-gzip/2012-06/msg00008.html>.
21423         Although Nelson's bug was not necessarily fixed by this patch,
21424         it seems wise to make the change for safety.
21425         * tests/init.sh (path_prepend_): Do not rely on PWD updating
21426         automagically after 'cd'; this is not reliable on older shells.
21427         (setup_): Fail if we cannot cd to temporary directory.
21429 2012-06-19  Bruno Haible  <bruno@clisp.org>
21431         stat, fstat: Avoid warnings on mingw64.
21432         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
21433         redefining.
21434         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
21435         Reported by Daniel P. Berrange <berrange@redhat.com>.
21437 2012-06-19  Bruno Haible  <bruno@clisp.org>
21439         stdioext: Add support for musl libc.
21441         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
21442         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
21444         * m4/fseterr.m4: New file.
21445         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
21446         function exists.
21447         * modules/fseterr (Files): Add m4/fseterr.m4.
21448         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
21449         __fseterr does not exist.
21450         (Makefile.am): Remove fseterr.c from lib_SOURCES.
21452         * lib/freadable.h: Update comment.
21454         * lib/fwritable.h: Update comment.
21456         * lib/freading.h: Update comment.
21458         * lib/fwriting.h: Update comment.
21460         * m4/freadahead.m4: New file.
21461         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
21462         that function exists.
21463         * modules/freadahead (Files): Add m4/freadahead.m4.
21464         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
21465         __freadahead does not exist.
21466         (Makefile.am): Remove freadahead.c from lib_SOURCES.
21468         * m4/freadptr.m4: New file.
21469         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
21470         function exists.
21471         * modules/freadptr (Files): Add m4/freadptr.m4.
21472         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
21473         __freadptr does not exist.
21474         (Makefile.am): Remove freadptr.c from lib_SOURCES.
21476         * m4/freadseek.m4: New file.
21477         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
21478         exists.
21479         * modules/freadseek (Files): Add m4/freadseek.m4.
21480         (configure.ac): Invoke gl_FUNC_FREADSEEK.
21482         * lib/fpurge.c (fpurge): Update comment.
21484         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
21486 2012-06-19  Bruno Haible  <bruno@clisp.org>
21488         *printf-posix: Put more info into config.log.
21489         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
21490         exit code into config.log.
21492 2012-06-19  Bruno Haible  <bruno@clisp.org>
21494         getopt-gnu: Fix exit code overflow in autoconf test.
21495         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
21496         to keep them below < 128.
21498 2012-06-17  Jim Meyering  <meyering@redhat.com>
21500         maint.mk: fix typo in code to derive GPG key at release time
21501         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
21503 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
21505         regex: avoid warning when pointers are not long
21506         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
21507         and uintptr_t, not long, for portability to hosts where pointers and
21508         long have different sizes.  Issue noted by Daniel P. Berrange in
21509         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00122.html>
21510         and fix suggested by Bruno Haible in
21511         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00128.html>.
21513 2012-06-17  Bruno Haible  <bruno@clisp.org>
21515         dummy: Relicense into the public domain.
21516         * modules/dummy (License): Set to "public domain".
21517         Suggested by Reuben Thomas.
21519 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
21521         announce-gen: VPATH issues
21522         * build-aux/announce-gen (--srcdir): New option, used to trim the
21523         $srcdir part of the path from $builddir to NEWS.
21524         * top/maint.mk (announcement): Adjust.
21526 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
21528         gnu-web-doc-update: VPATH builds
21529         * build-aux/gnu-web-doc-update (--builddir): New option.
21530         Revamp the handling of options.
21531         Prefer $(...) to `...`.
21532         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
21533         the template, and it is GNU mktemp specific.
21534         Prefer set -e to long series of &&.
21535         Restore the initial git branch, not "master".
21536         Properly initialize submodules (don't rely only on bootstrap).
21537         Do not reconfigure blindly, use config.status.
21538         * top/README-release: Update instructions for gnu-web-doc-update.
21540 2012-06-11  Jim Meyering  <meyering@redhat.com>
21542         maint.mk: revert most of the previous change re "all these"
21543         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
21544         For rationale, see the discussion at
21545         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
21547 2012-06-10  Karl Berry  <karl@gnu.org>
21549         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
21551         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
21553 2012-06-10  Bruce Korb  <bkorb@gnu.org>
21555         parse-duration: Relicense under LGPLv2+.
21556         * modules/parse-duration (License): Change to LGPLv2+.
21558 2012-06-10  Jim Meyering  <meyering@redhat.com>
21560         maint.mk: prohibit common grammar error: "all these"
21561         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
21562         the list of prohibited word sequences.  It should be "all of these".
21563         * lib/tempname.c (__gen_tempname): Fix one of them.
21565 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
21567         do-release-commit-and-tag: support VPATH builds
21568         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
21569         (noteworthy): Defined earlier to factor its value.
21570         (noteworthy_stub): New.
21571         Use it to factor.
21572         (help_version): Split into...
21573         (help, version): these.
21574         Adjust the option processing part.
21575         Support "--option=value" in addition to "--option value".
21576         (builddir): New.
21577         (--builddir): New option.
21578         * top/README-release: Document this.
21579         Reword slightly so that the reader cannot understand that he
21580         has to do these steps before calling do-release-commit-and-tag.
21582 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
21584         readme-release: also require announce-gen and maintainer-makefile
21585         * modules/readme-release (Depends-on): here.
21586         * modules/announce-gen, modules/do-release-commit-and-tag,
21587         modules/gnu-web-doc-update, modules/maintainer-makefile
21588         (Description): Point to readme-release.
21590 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
21592         maint.mk: fix VPATH issues.
21593         * top/maint.mk (news-check): GNU Make understand $< very well.
21594         (release-prep): NEWS is in $(srcdir).
21596 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
21598         readme-release: require the promoted modules.
21599         * modules/readme-release (Depends-on): Add
21600         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
21601         in this text.
21603 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
21604             Bruno Haible  <bruno@clisp.org>
21606         error, strerror-override: Support mingw64 from Fedora 17.
21607         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
21608         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
21609         EINPROGRESS.
21610         * lib/strerror-override.h (strerror_override): Test it.
21611         * lib/strerror-override.c (strerror_override): Likewise.
21612         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
21614 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
21615             Bruno Haible  <bruno@clisp.org>
21617         error, strerror-override: Support mingw64 from Fedora 17.
21618         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
21619         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
21620         * lib/strerror-override.h (strerror_override): Test it.
21621         * lib/strerror-override.c (strerror_override): Likewise.
21623 2012-06-03  Bruno Haible  <bruno@clisp.org>
21625         error, strerror-override: Support new errno values from POSIX:2008.
21626         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
21627         ENOTRECOVERABLE.
21628         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
21629         platforms.
21630         * lib/strerror-override.c (strerror_override): Conditionalize the
21631         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
21632         * lib/strerror-override.h (strerror_override): Declare also if
21633         GNULIB_defined_EOWNERDEAD is defined.
21634         * tests/test-errno.c (e130, e131): New variables.
21635         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
21636         ENOTRECOVERABLE.
21637         Reported by Paolo Bonzini.
21639 2012-05-31  Jim Meyering  <meyering@redhat.com>
21641         savewd: add missing dependency on sys_wait module
21642         * modules/savewd (Depends-on): Add sys_wait, needed at least
21643         for MSVC.  Report and suggested change by Michael Goffioul.
21645 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
21647         system-quote-tests: port to CentOS 5
21648         Problem reported by Tom G. Christensen in
21649         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00255.html>.
21650         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
21652 2012-05-29  Jim Meyering  <meyering@redhat.com>
21654         maint: fix typos in comments and ChangeLog
21655         Culprits identified and fixed mostly automatically using these commands:
21656         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
21657         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
21658         using http://github.com/lyda/misspell-check
21659         * ChangeLog: Fix typos.
21660         * doc/solaris-versions: Likewise.
21661         * lib/regexec.c (re_search_stub): Likewise.
21662         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
21664 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
21666         manywarnings: remove duplicate -Wmultichar entry
21667         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
21668         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
21669         so keep the entry marked as documented.
21671 2012-05-27  Karl Berry  <karl@gnu.org>
21673         * config/srclist.txt (mktime.c): remove last libc sync,
21674         perhaps just temporarily.
21676 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
21678         regex: don't assume uint64_t or uint32_t
21679         * lib/regcomp.c (init_word_char): Don't assume that the types
21680         uint64_t and uint32_t exist.  The C standard doesn't guarantee
21681         them, and on some 32-bit compilers there is no uint64_t.
21682         Problem reported by Gianluigi Tiesi in
21683         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00154.html>.
21685 2012-05-25  Jim Meyering  <meyering@redhat.com>
21687         maint.mk: add strncpy-prohibiting syntax-check rule
21688         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
21690 2012-05-24  Jim Meyering  <meyering@redhat.com>
21692         maint.mk: compute $(gpg_key_ID) more portably
21693         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
21694         That use of sed is not portable to some fringe systems.
21695         Reported by Paul Eggert in
21696         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
21698 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
21700         mktime: sync from glibc
21701         * config/srclist.txt: Uncomment mktime.c.
21702         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
21703         First, indent with tabs, since glibc uses tabs and doesn't want to
21704         change and we'd rather be identical to glibc.  Also, two small
21705         coding changes:
21706         (isdst_differ): Use &&, not &, as && is the usual style.
21707         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
21708         for clarity.
21710 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
21712         announce-gen: du -h is more portable than du --human
21713         * build-aux/announce-gen (sizes): Invoke du with -h instead
21714         of --human.  Accept leading white space in its output.
21716 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
21718         announce-gen: Improve diagnostics.
21719         * build-aux/announce-gen: When parsing command line options,
21720         prefer "announce-gen: option --release-type requires an argument"
21721         to "Option release-type requires an argument".
21723 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
21725         maint.mk: gpg_key_ID: use sed more portably
21726         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
21727         the closing brace.
21728         (refresh-po): Fuse two sed invocations into one.
21730 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
21732         gitlog-to-changelog: support the log message format used in Bison.
21733         * build-aux/gitlog-to-changelog: Support --strip-tab and
21734         --strip-cherry-picked.
21736 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
21738         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
21739         the rest of the current time slice to another thread in the current
21740         process. So if the thread that feeds the file decscriptor we're
21741         polling is not in the current process, we get busy-waiting.
21742         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
21743         Patch from Theodore Leblond.
21744         * lib/select.c: Split polling out of the loop that sets the output
21745         fd_sets.  Check for zero result and loop if the wait timeout is
21746         infinite.
21748 2012-05-21  Simon Josefsson  <simon@josefsson.org>
21750         select: Fix build error on IRIX 6.5.
21751         * lib/select.c: Include stddef.h for NULL.
21753 2012-05-21  Simon Josefsson  <simon@josefsson.org>
21755         gc: fix libgcrypt detection on older machines.
21756         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
21757         copyright years because the file has been distributed every year
21758         since it was created.
21760 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
21762         crypto: fix bug in large buffer handling
21763         Problem reported by Serge Belyshev for glibc in
21764         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
21765         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00226.html>.
21766         * lib/md4.c (md4_process_block):
21767         * lib/md5.c (md5_process_block):
21768         * lib/sha1.c (sha1_process_block):
21769         * lib/sha256.c (sha256_process_block):
21770         Don't assume the buffer length is less than 2**32.
21771         * lib/sha512.c (sha512_process_block): Likewise.
21772         Here, the bug is present only in the rare case where the host does
21773         not support uint64_t or where size_t is wider than 64 bits.
21774         Use u64size to work around the problems.
21775         * lib/u64.h (u64size): New macro.
21777 2012-05-15  Pádraig Brady  <P@draigBrady.com>
21779         fsusage: fix block size returned on older Linux 2.6
21781         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
21782         which is available since Linux 2.6.
21783         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
21784         when the member is available so it can be used as a fallback.
21785         * doc/posix-functions/statvfs.texi: Mention the hang issue
21786         on Linux < 2.6.36.
21788 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
21790         bootstrap: suppress stderr chatter
21791         * build-aux/bootstrap (insert_sorted_if_absent, main program):
21792         Omit unnecessary chatter to stderr.  The main program chatter
21793         was there only inadvertantly.
21795         bootstrap: .gitignore files created by autopoint, libtool
21796         I ran into this problem when bootstrapping the latest diffutils.
21797         After './bootstrap', 'git status' reported lots of untracked files
21798         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
21799         autopoint and do not need to be version-controlled.
21800         * build-aux/bootstrap: Put into .gitignore the files that
21801         autopoint and libtool create, by keeping track of files that exist
21802         after but not before these programs are run.
21803         (version_controlled_file): Move up.  2nd arg is now full file
21804         name, not base name; this is more convenient.  Put CVS at the end,
21805         as it's now somewhat deprecated.
21807 2012-05-14  Jim Meyering  <meyering@redhat.com>
21809         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
21810         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
21811         definition.  Reported by Bruno Haible.
21813 2012-05-13  Bruno Haible  <bruno@clisp.org>
21814             Paul Eggert  <eggert@cs.ucla.edu>
21816         binary-io: Define set_binary_mode function.
21817         * lib/binary-io.h (set_binary_mode): New function.
21818         (SET_BINARY): Define in terms of set_binary_mode.
21819         * modules/binary-io (configure.ac): Require AC_C_INLINE.
21820         * tests/test-binary-io.c (main): Accept an argument, and test either
21821         set_binary_mode or SET_BINARY depending on the argument.
21822         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
21823         argument. Clean up also t-bin-out0.tmp.
21825 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
21827         bootstrap: take advantage of POSIX shell features
21829         The 'bootstrap' script offered by Gnulib script already uses POSIX
21830         shell features (like $((...)) arithmetic expansions) that are not
21831         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
21832         means that bootstrap must already be run using a proper POSIX shell,
21833         which will thus provide more features, like ${var#pattern} parameter
21834         expansion or inversion of a command exit status with '!'.  We can
21835         thus use these features to improve the clarity and the performances
21836         of the bootstrap script.
21838         Suggested by Eric Blake.
21840         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
21841         of sed/expr plus command substitutions, to save some forks.  While
21842         we are at it, prefer the POSIX $(...) form of command substitution,
21843         rather than the legacy form `...` (since the former is visually
21844         clearer and interacts better with quoting), and prefer the idiom:
21845           "if ! CMD; then ACTION ..."
21846         over the idiom:
21847           "if CMD; then :; else ACTION ..."
21848         which was required by legacy Bourne shells not supporting '!'.
21850 2012-05-12  Bruno Haible  <bruno@clisp.org>
21852         system-quote: Add more comments.
21853         * lib/system-quote.h: Add more comments about wilcards and limitations.
21854         Suggested by Eli Zaretskii <eliz@gnu.org>.
21856         sh-quote, system-quote: Add comments about wildcards.
21857         * lib/sh-quote.h: Clarify what happens with wildcard characters.
21858         * lib/system-quote.h: Likewise.
21859         Reported by Eli Zaretskii <eliz@gnu.org>.
21861 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
21863         fsusage: check for GNU/Linux statvfs problem dynamically
21864         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
21865         Define STAT_STATFS2_BSIZE too, since in this case the code now
21866         checks dynamically whether statvfs is reliable, falling back on
21867         Linux-style statfs otherwise.
21868         (statvfs_works): New function, for dynamically testing statvfs.
21869         (get_fs_usage) [STAT_STATVFS]: Use it.
21870         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
21871         statvfs on GNU/Linux hosts, since it's now done dynamically.
21873 2012-05-10  Bruno Haible  <bruno@clisp.org>
21875         system-quote, execute, spawn-pipe: Escape '?' on Windows.
21876         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
21877         '?' character.
21878         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
21879         * tests/test-system-quote-main.c (check_all): Check also strings like
21880         "??????????".
21881         Reported by Eli Zaretskii <eliz@gnu.org>.
21883 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
21885         _Noreturn: port config.h to gcc -Wundef
21886         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
21887         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
21888         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00147.html>.
21890 2012-05-10  Bruno Haible  <bruno@clisp.org>
21892         system-quote: Refactor.
21893         * lib/system-quote.h (system_quote_copy): Fix comment.
21894         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
21895         New functions, extracted from system_quote_copy.
21896         (system_quote_length, system_quote_copy): Use these functions.
21897         Reported by Paul Eggert.
21899 2012-05-08  Bruno Haible  <bruno@clisp.org>
21901         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
21902         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
21904 2012-05-08  Bruno Haible  <bruno@clisp.org>
21906         Tests for module 'system-quote'.
21907         * modules/system-quote-tests: New file.
21908         * tests/test-system-quote.sh: New file.
21909         * tests/test-system-quote-main.c: New file.
21910         * tests/test-system-quote-child.c: New file.
21912         New module 'system-quote'.
21913         * lib/system-quote.h: New file.
21914         * lib/system-quote.c: New file.
21915         * modules/system-quote: New file.
21917 2012-05-08  Bruno Haible  <bruno@clisp.org>
21919         sh-quote: Make C++ safe and allow multiple inclusion.
21920         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
21921         declarations in extern "C".
21923 2012-05-08  Bruno Haible  <bruno@clisp.org>
21925         sh-quote tests: Make tests stricter.
21926         * tests/test-sh-quote.c (check_one): Check the return value of
21927         shell_quote_copy.
21928         (main): Check a string with a CR character. Check a string that
21929         contains UCHAR_MAX.
21931 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
21933         warnings.m4: provide a means to specify the program to compile.
21934         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
21935         (gl_WARN_ADD): here.
21936         Use gl_AS_VAR_APPEND.
21937         Support an argument to specify the program to compile.
21938         (gl_WARN_ADD): Accept an argument to specify the program to compile.
21939         AC_SUBST the WARN_CFLAGS when they are used.
21940         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
21941         leave this to gl_WARN_ADD.
21943 2012-05-08  Eric Blake  <eblake@redhat.com>
21945         doc: recommendations on gettext version
21946         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
21947         choice between versions.
21948         * DEPENDENCIES (gettext): Cover both approaches.
21950 2012-05-08  Jim Meyering  <meyering@redhat.com>
21952         init.sh: explain why EXEEXT support uses aliases rather than functions
21953         * tests/init.sh: Add a comment.
21955         init.sh: don't let bash aliases interfere with tests
21956         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
21957         is bash.  This avoids problems for those who alias standard commands to
21958         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
21959         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
21961 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
21963         stdint: be more consistent with glibc, SunOS libc
21964         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
21965         (gl_int_fast16_t, gl_uint_fast16_t)
21966         (gl_int_fast32_t, gl_uint_fast32_t)
21967         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
21968         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
21969         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
21970         Be consistent with glibc by default, and with SunOS 5.10 and later
21971         if __sun is defined.  This lessens the likelihood of clashes if
21972         code compiled for older hosts is combined with code compiled for
21973         newer ones.  Problem reported by Niels Möller in
21974         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00074.html>.
21976 2012-05-07  Eric Blake  <eblake@redhat.com>
21978         isatty: relax license to LGPLv2+
21979         * modules/isatty (License): Relax license.
21981 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
21983         stat-size: comment fix
21984         * lib/stat-size.h: Remove obsolete comment about indenting.
21986 2012-05-06  Bruno Haible  <bruno@clisp.org>
21988         Tests for module 'sh-quote'.
21989         * modules/sh-quote-tests: New file.
21990         * tests/test-sh-quote.c: New file.
21992 2012-05-06  Bruno Haible  <bruno@clisp.org>
21994         sh-quote: Improve shell_quote_argv's signature.
21995         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
21996         * lib/sh-quote.c (shell_quote_argv): Likewise.
21998 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
22000         stdint: document issues with int_fast8_t etc.
22001         * doc/posix-headers/stdint.texi (stdint.h): Say that other
22002         stdint.h substitutes may define these types differently.  See
22003         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00071.html>.
22005 2012-05-05  Bruno Haible  <bruno@clisp.org>
22007         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
22008         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
22009         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
22010         or 'guessing no (mishandles large arguments)'.
22012 2012-05-05  Bruno Haible  <bruno@clisp.org>
22014         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
22015         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
22016         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
22017         set gl_cv_func_link_follows_symlink to "guessing no".
22019 2012-05-05  Bruno Haible  <bruno@clisp.org>
22021         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
22022         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
22023         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
22024         "guessing no".
22025         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
22027 2012-05-05  Bruno Haible  <bruno@clisp.org>
22029         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
22030         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
22031         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
22032         set gl_cv_struct_dirent_d_ino to "guessing yes".
22034 2012-05-05  Bruno Haible  <bruno@clisp.org>
22036         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
22037         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
22038         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
22039         "guessing yes".
22041 2012-05-05  Bruno Haible  <bruno@clisp.org>
22043         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
22044         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
22045         compiling to a glibc system, set gl_cv_func_signbit and
22046         gl_cv_func_signbit_gcc to "guessing yes".
22048 2012-05-05  Bruno Haible  <bruno@clisp.org>
22050         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
22051         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
22052         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
22053         to "guessing yes".
22054         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
22055         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
22057 2012-05-05  Bruno Haible  <bruno@clisp.org>
22059         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
22060         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
22061         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
22062         gl_cv_func_realpath_works to "guessing yes".
22064 2012-05-05  Bruno Haible  <bruno@clisp.org>
22066         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
22067         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
22068         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
22070 2012-05-04  Bruno Haible  <bruno@clisp.org>
22072         Tweak last commit.
22073         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
22074         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
22076 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
22078         unistd_h: make it easier to avoid sys_types_h
22079         This is useful for Emacs, which has its own method of porting to
22080         Windows, and which therefore does not need the sys_types_h module.
22081         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
22082         code moved here from gl_SYS_TYPES_H.
22083         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
22084         using the code directly.
22085         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
22086         gl_SYS_TYPES_H.
22087         * modules/sys_types (Files):
22088         * modules/unistd (Files): Add m4/off_t.m4.
22090 2012-05-03  Bruno Haible  <bruno@clisp.org>
22092         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
22093         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
22094         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
22095         "guessing yes" or "guessing no".
22096         (gl_FUNC_LSTAT): Update.
22097         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
22098         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
22099         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
22101 2012-05-03  Bruno Haible  <bruno@clisp.org>
22103         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
22104         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
22105         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
22106         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
22107         cross-compiling, choose the first alternative on glibc systems.
22108         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
22110 2012-05-03  Bruno Haible  <bruno@clisp.org>
22112         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
22113         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
22114         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
22116 2012-05-03  Bruno Haible  <bruno@clisp.org>
22118         chown: Avoid "guessing no" when cross-compiling to glibc systems.
22119         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
22121 2012-05-03  Bruno Haible  <bruno@clisp.org>
22123         Avoid "guessing no" guesses when cross-compiling to glibc systems.
22124         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
22125         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
22126         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
22127         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
22128         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
22129         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
22130         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
22131         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
22132         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
22133         compiling to glibc systems, set gl_cv_func_chown_slash_works,
22134         gl_cv_func_chown_ctime_works to "guessing yes".
22135         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
22136         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
22137         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
22138         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
22139         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
22140         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
22141         compiling to glibc systems, set gl_cv_func_open_directory_works to
22142         "guessing yes".
22143         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
22144         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
22145         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
22146         "guessing yes".
22147         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
22148         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
22149         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
22150         compiling to glibc systems, set gl_cv_func_floorf_ieee to
22151         "guessing yes".
22152         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
22153         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
22154         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
22155         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
22156         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
22157         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
22158         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
22159         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
22160         "guessing yes".
22161         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
22162         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
22163         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
22164         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
22165         "guessing yes".
22166         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
22167         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
22168         "guessing yes".
22169         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
22170         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
22171         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
22172         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
22173         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
22174         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
22175         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
22176         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
22177         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
22178         compiling to glibc systems, set gl_cv_func_log10f_ieee to
22179         "guessing yes".
22180         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
22181         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
22182         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
22183         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
22184         "guessing yes".
22185         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
22186         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
22187         "guessing yes".
22188         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
22189         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
22190         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
22191         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
22192         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
22193         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
22194         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
22195         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
22196         compiling to glibc systems, set gl_cv_func_mkfifo_works to
22197         "guessing yes".
22198         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
22199         compiling to glibc systems, set gl_cv_func_mknod_works to
22200         "guessing yes".
22201         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
22202         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
22203         "guessing yes".
22204         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
22205         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
22206         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
22207         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
22208         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
22209         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
22210         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
22211         compiling to glibc systems, set gl_cv_func_svid_putenv to
22212         "guessing yes".
22213         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
22214         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
22215         "guessing yes".
22216         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
22217         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
22218         "guessing yes".
22219         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
22220         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
22221         to "guessing yes".
22222         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
22223         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
22224         to "guessing yes".
22225         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
22226         compiling to glibc systems, set gl_cv_func_rmdir_works to
22227         "guessing yes".
22228         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
22229         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
22230         gl_cv_func_unlink_parent_fails to "guessing yes".
22231         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
22232         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
22233         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
22234         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
22235         gl_cv_func_rename_dest_works to "guessing yes".
22236         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
22237         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
22238         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
22239         compiling to glibc systems, set gl_cv_func_roundf_ieee to
22240         "guessing yes".
22241         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
22242         compiling to glibc systems, set gl_cv_func_roundl_ieee to
22243         "guessing yes".
22244         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
22245         compiling to glibc systems, set gl_cv_func_setenv_works to
22246         "guessing yes".
22247         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
22248         compiling to glibc systems, set gl_cv_func_unsetenv_works to
22249         "guessing yes".
22250         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
22251         compiling to glibc systems, set gl_cv_func_sleep_works to
22252         "guessing yes".
22253         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
22254         compiling to glibc systems, set gl_cv_func_stat_file_slash to
22255         "guessing yes".
22256         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
22257         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
22258         "guessing yes".
22259         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
22260         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
22261         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
22262         compiling to glibc systems, set gl_cv_func_truncf_ieee to
22263         "guessing yes".
22264         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
22265         compiling to glibc systems, set gl_cv_func_truncl_ieee to
22266         "guessing yes".
22267         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
22268         compiling to glibc systems, set gl_cv_func_usleep_works to
22269         "guessing yes".
22270         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
22271         compiling to glibc systems, set gl_cv_func_futimesat_works to
22272         "guessing yes".
22274 2012-05-03  Bruno Haible  <bruno@clisp.org>
22276         Say "guessing yes" or "guessing no" when cross-compiling.
22277         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
22278         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
22279         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
22280         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
22281         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
22282         am_cv_func_working_getline to "guessing yes" or "guessing no".
22283         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
22284         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
22285         (gl_FUNC_MEMMEM): When cross-compiling, set
22286         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
22287         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
22288         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
22289         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
22290         set gl_cv_func_strcasestr_works_always to "guessing yes" or
22291         "guessing no".
22292         (gl_FUNC_STRCASESTR): When cross-compiling, set
22293         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
22294         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
22295         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
22296         (gl_FUNC_STRSTR): When cross-compiling, set
22297         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
22298         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
22299         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
22300         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
22301         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
22303 2012-05-01  Bruno Haible  <bruno@clisp.org>
22305         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
22306         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
22307         * build-aux/reloc-ldflags: Likewise.
22308         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
22310 2012-05-01  Bruno Haible  <bruno@clisp.org>
22312         gnulib-tool: Remove transitional code.
22313         * gnulib-tool: Don't warn about --import with 0 arguments any more.
22314         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
22316 2012-05-01  Bruno Haible  <bruno@clisp.org>
22318         getcwd: Fix misindentation.
22319         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
22321 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
22323         exclude: process exclude and include directives in order
22324         This restores the pre-2009 behavior, and is part of a fix of a
22325         grep bug reported by Quentin Arce in
22326         <http://lists.gnu.org/r/bug-grep/2012-04/msg00056.html>.
22327         * lib/exclude.c (struct exclude): Remove 'tail' member.
22328         (new_exclude_segment): Prepend the new segment instead of appending.
22329         Return void, since that's now more convenient.
22330         (file_pattern_matches): Renamed from excluded_file_pattern_p.
22331         (file_name_matches): Renamed from excluded_file_name_p.
22332         (file_pattern_matches, file_name_matches):
22333         Return true if the pattern matches, not if it excludes.
22334         All callers changed.
22335         (excluded_file_name): Process the list in reverse order;
22336         since the list is now reversed this restores the pre-2009 behavior.
22337         (add_exclude): Adjust to new reversed-order list.  Use local var
22338         rather than macro, for clarity.
22339         * tests/test-exclude7.sh: Adjust to corrected behavior.
22341         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
22342         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
22343         it's not possible here.  Handle the case of \ at end of pattern
22344         without dumping core.
22345         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
22347         _Noreturn: future-proof non-GNU and non-MSVC compilers
22348         * build-aux/snippet/_Noreturn.h (_Noreturn):
22349         * m4/gnulib-common.m4 (gl_COMMON_BODY):
22350         Do not define _Noreturn if __STDC_VERSION__ indicates this is
22351         C11 or later.  This is more likely to work with random future C
22352         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
22353         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00195.html>.
22355         exclude: handle wildcards with FNM_EXTMATCH
22356         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
22357         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
22358         comment that "has wildcards" really means "has or may have
22359         wildcards".  Simplify by avoiding the need to call strcspn.
22361 2012-04-29  Bruno Haible  <bruno@clisp.org>
22363         gnulib-tool: Fix list of authors.
22364         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
22366 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
22368         bootstrap: support Automake-NG in $buildreq
22369         * bootstrap (check_versions): Handle automake and aclocal from
22370         Automake-NG specially.  They can be specified as respectively
22371         the "automake-ng" and "aclocal-ng" requirements.
22373 2012-04-25  Eric Blake  <eblake@redhat.com>
22375         bootstrap: only force latest Makefile.in.in for gettext module
22376         * build-aux/bootstrap (with_gettext): Only install latest
22377         Makefile.in.in for projects requesting bleeding edge gettext.
22379 2012-04-22  Bruno Haible  <bruno@clisp.org>
22381         doc: Mention reason for replacement on glibc/Linux systems.
22382         * doc/posix-functions/dprintf.texi: Mention the problem with special
22383         'long double' values.
22384         * doc/posix-functions/fprintf.texi: Likewise.
22385         * doc/posix-functions/printf.texi: Likewise.
22386         * doc/posix-functions/snprintf.texi: Likewise.
22387         * doc/posix-functions/sprintf.texi: Likewise.
22388         * doc/posix-functions/vdprintf.texi: Likewise.
22389         * doc/posix-functions/vfprintf.texi: Likewise.
22390         * doc/posix-functions/vprintf.texi: Likewise.
22391         * doc/posix-functions/vsnprintf.texi: Likewise.
22392         * doc/posix-functions/vsprintf.texi: Likewise.
22393         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
22394         platforms with F_DUPFD_CLOEXEC problems.
22395         * doc/posix-functions/glob.texi: Mention which platforms are affected
22396         by the problem with symbolic links.
22397         * doc/posix-functions/linkat.texi: Mention the problem with
22398         AT_SYMLINK_FOLLOW on Linux.
22400 2012-04-22  Bruno Haible  <bruno@clisp.org>
22402         pwrite: Don't replace on all platforms.
22403         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
22405 2012-04-22  Bruno Haible  <bruno@clisp.org>
22407         rint* tests: Avoid gcc warnings.
22408         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
22409         * tests/test-rintf.c (INFINITY, NAN): Likewise.
22410         * tests/test-rintl.c (INFINITY, NAN): Likewise.
22412 2012-04-21  Bruno Haible  <bruno@clisp.org>
22414         users.txt: Update.
22415         * users.txt: Add freedink, wdiff. Update URLs for projects that have
22416         switched from CVS to git, bzr, or svn.
22418 2012-04-21  Bruno Haible  <bruno@clisp.org>
22420         Large File Support for native Windows platforms.
22422         * m4/largefile.m4 (gl_LARGEFILE): New macro.
22423         * modules/largefile (configure.ac): Require gl_LARGEFILE.
22425         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
22426         type.
22427         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
22428         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
22429         * doc/posix-headers/sys_types.texi: Mention the effect of the
22430         'largefile' module.
22432         * lib/fcntl.in.h: Add comments about off_t.
22433         * modules/fcntl-h (Depends-on): Add sys_types.
22435         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
22436         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
22437         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
22438         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
22439         * modules/unistd (Depends-on): Add sys_types.
22440         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
22442         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
22443         instead of lseek.
22444         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
22445         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
22446         * modules/lseek (Depends-on): Add sys_types.
22448         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
22449         msvc-nothrow.h.
22450         (SetFileSize): New function.
22451         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
22452         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
22453         if Large File Support is requested.
22454         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
22455         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
22457         * lib/stdio.in.h: Add comments about off_t.
22458         * modules/stdio (Depends-on): Add sys_types.
22460         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
22461         instead of ftello.
22462         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
22463         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
22464         (gl_PREREQ_FTELLO): New macro.
22465         * modules/ftello (Depends-on): Add sys_types.
22466         (configure.ac): Incoke gl_PREREQ_FTELLO.
22468         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
22469         instead of fseeko.
22470         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
22471         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
22472         (gl_PREREQ_FSEEKO): New macro.
22473         * modules/fseeko (Depends-on): Add sys_types.
22474         (configure.ac): Invoke gl_PREREQ_FSEEKO.
22476         * lib/sys_stat.in.h: Add comments about off_t.
22477         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
22478         64-bit integer for st_size in 'struct stat'.
22479         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
22480         Define _GL_WINDOWS_64_BIT_ST_SIZE.
22481         * modules/sys_stat (Depends-on): Add sys_types.
22482         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
22484         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
22485         instead of stat or _stat.
22487         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
22488         'struct _stati64' instead of fstat and 'struct stat'.
22489         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
22490         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
22492         Reported by Ray Satiro <raysatiro@yahoo.com>.
22494 2012-04-19  Eric Blake  <eblake@redhat.com>
22496         bootstrap: accommodate older libtool
22497         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
22498         Reported by Daniel P. Berrange.
22500 2012-04-19  Jim Meyering  <meyering@redhat.com>
22502         announce-gen: avoid failure due to lack of Digest::SHA1
22503         Even with the preferred Digest::SHA available, this script
22504         would fail when the backup module, Digest::SHA1, was not installed.
22505         * build-aux/announce-gen: Quote the conditional use of "use".
22506         Reported by Reuben Thomas in:
22507         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
22509         bootstrap: don't let a user's CDPATH setting affect this script
22510         When CDPATH is set, cd will sometimes generate output.
22511         When "cd" is run in a subshell whose output matters, that
22512         surprising-to-some output can cause malfunction.
22513         Unsetting CDPATH turns off this shell "feature."
22514         * build-aux/bootstrap (CDPATH): Unset.
22515         Reported by Reuben Thomas in:
22516         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
22517         and inspired by his patch here:
22518         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
22520 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
22521         and Jim Meyering  <meyering@redhat.com>
22523         maint.mk: catch "see @xref{}" and similar
22524         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
22525         prohibit "See also @xref{", "Also see @pxref{", and similar.
22527 2012-04-16  Jim Meyering  <meyering@redhat.com>
22529         bootstrap: really use gnulib's po/Makefile.in.in
22530         * build-aux/bootstrap: Correct the source file name in previous change.
22531         Reported by Akim Demaille.
22533         configmake: correct minor inconsistency in Makefile rule
22534         * modules/configmake (Makefile.am): All other rules like this one
22535         run the final "mv -f ..." in the same backslash-continued command
22536         as the one that does everything else.  This one put the mv -f ...
22537         command on a separate, non-backslash-continued line.
22538         Make it like the others.
22540         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
22541         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
22542         the one from gettext.  Reported by Akim Demaille.
22544 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
22546         Fix recursion of install-* into po directories.
22547         Bison's install-pdf bug reported by Hans Aberg at
22548         <http://lists.gnu.org/r/bug-bison/2011-05/msg00008.html>.
22549         * build-aux/po/Makefile.in.in (install-dvi, install-html)
22550         (install-info, install-pdf, install-ps): New targets.
22552 2012-04-16  Jim Meyering  <meyering@redhat.com>
22554         maint: avoid spurious "make sc_maint" failure
22555         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
22556         exempt all *.class file names, for lib/javaversion.class.
22558 2012-04-15  Bruno Haible  <bruno@clisp.org>
22560         lseek: Make configure test independent of environment.
22561         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
22562         Windows, we know that lseek() on pipes is broken; skip the runtime
22563         test.
22565 2012-04-14  Bruno Haible  <bruno@clisp.org>
22567         stat: Bypass buggy override in mingw64.
22568         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
22569         * lib/stat.c (stat) [mingw64]: Define to _stat.
22570         * doc/posix-functions/stat.texi: Mention mingw64 bug.
22572 2012-04-14  Bruno Haible  <bruno@clisp.org>
22574         pathmax: Fix compilation error on MSVC 9.
22575         * modules/pathmax (Depends-on): Add unistd.
22577 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
22579         README: document pointer comparison assumption
22580         * README (Portability guidelines): Document assumption about
22581         pointer comparisons, in response to a recent bug-gnulib comment by
22582         Jeffrey Kegler.
22584 2012-04-12  Bruno Haible  <bruno@clisp.org>
22586         Tests for module 'getrusage'.
22587         * modules/getrusage-tests: New file.
22588         * tests/test-getrusage.c: New file.
22590         New module 'getrusage'.
22591         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
22592         warn-on-use.h.
22593         (getrusage): New declaration.
22594         * lib/getrusage.c: New file.
22595         * m4/getrusage.m4: New file.
22596         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
22597         is declared.
22598         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
22599         HAVE_GETRUSAGE.
22600         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
22601         snippet/c++defs, snippet/warn-on-use.
22602         (Makefile.am): Update generation of sys/resource.h. Substitute
22603         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
22604         * modules/getrusage: New file.
22605         * doc/posix-functions/getrusage.texi: Mention the new module.
22607 2012-04-12  Bruno Haible  <bruno@clisp.org>
22609         Tests for module 'sys_resource'.
22610         * modules/sys_resource-tests: New file.
22611         * tests/test-sys_resource.c: New file.
22613         New module 'sys_resource'.
22614         * lib/sys_resource.in.h: New file.
22615         * m4/sys_resource_h.m4: New file.
22616         * modules/sys_resource: New file.
22617         * doc/posix-headers/sys_resource.texi: Mention the new module.
22619 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
22621         ioctl: Fix compilation error on mingw.
22622         * lib/ioctl.c: Include <windows.h>.
22623         Also reported by Ray Satiro <raysatiro@yahoo.com>.
22625 2012-04-04  Jim Meyering  <meyering@redhat.com>
22627         regex: correct #pragma guard expression
22628         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
22629         not 4.3.  Correct its cpp guard expression.
22631 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
22633         regex: remove unnecessary type punning
22634         Problem reported by Vladimir Serbinenko in
22635         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00006.html>.
22636         * lib/regex.h (struct re_pattern_buffer): Change the type of
22637         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
22638         Fix comment to match code.
22639         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
22640         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
22641         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
22642         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
22643         (set_regs):
22644         Omit no-longer-necessary casts.
22646 2012-04-03  Bruno Haible  <bruno@clisp.org>
22648         Tests for module 'ilogbl'.
22649         * modules/ilogbl-tests: New file.
22650         * tests/test-ilogbl.c: New file.
22652         New module 'ilogbl'.
22653         * lib/math.in.h (ilogbl): New declaration.
22654         * lib/ilogbl.c: New file.
22655         * m4/ilogbl.m4: New file.
22656         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
22657         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
22658         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
22659         Split sed invocation, to avoid the limit of 100 substitutions of
22660         HP-UX 'sed'.
22661         * modules/ilogbl: New file.
22662         * tests/test-math-c++.cc: Check the declaration of ilogbl.
22663         * doc/posix-functions/ilogbl.texi: Mention the new module.
22665 2012-04-03  Bruno Haible  <bruno@clisp.org>
22667         Tests for module 'ilogbf'.
22668         * modules/ilogbf-tests: New file.
22669         * tests/test-ilogbf.c: New file.
22671         New module 'ilogbf'.
22672         * lib/math.in.h (ilogbf): New declaration.
22673         * lib/ilogbf.c: New file.
22674         * m4/ilogbf.m4: New file.
22675         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
22676         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
22677         REPLACE_ILOGBF.
22678         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
22679         REPLACE_ILOGBF.
22680         * modules/ilogbf: New file.
22681         * tests/test-math-c++.cc: Check the declaration of ilogbf.
22682         * doc/posix-functions/ilogbf.texi: Mention the new module.
22684 2012-04-03  Bruno Haible  <bruno@clisp.org>
22686         Tests for module 'ilogb'.
22687         * modules/ilogb-tests: New file.
22688         * tests/test-ilogb.c: New file.
22689         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
22690         tests/test-logb-ieee.h.
22692         New module 'ilogb'.
22693         * lib/math.in.h (ilogb): New declaration.
22694         * lib/ilogb.c: New file.
22695         * m4/ilogb.m4: New file.
22696         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
22697         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
22698         REPLACE_ILOGB.
22699         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
22700         REPLACE_ILOGB.
22701         * modules/ilogb: New file.
22702         * tests/test-math-c++.cc: Check the declaration of ilogb.
22703         * doc/posix-functions/ilogb.texi: Mention the new module.
22705 2012-04-03  Bruno Haible  <bruno@clisp.org>
22707         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
22708         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
22709         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
22710         (main): Check their values.
22711         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
22712         problem.
22714 2012-04-03  Bruno Haible  <bruno@clisp.org>
22716         Tests for module 'logbl-ieee'.
22717         * modules/logbl-ieee-tests: New file.
22718         * tests/test-logbl-ieee.c: New file.
22720         New module 'logbl-ieee'.
22721         * modules/logbl-ieee: New file.
22723         Tests for module 'logb-ieee'.
22724         * modules/logb-ieee-tests: New file.
22725         * tests/test-logb-ieee.c: New file.
22727         New module 'logb-ieee'.
22728         * modules/logb-ieee: New file.
22730         Tests for module 'logbf-ieee'.
22731         * modules/logbf-ieee-tests: New file.
22732         * tests/test-logbf-ieee.c: New file.
22733         * tests/test-logb-ieee.h: New file.
22735         New module 'logbf-ieee'.
22736         * modules/logbf-ieee: New file.
22738 2012-04-03  Bruno Haible  <bruno@clisp.org>
22740         Tests for module 'logbl'.
22741         * modules/logbl-tests: New file.
22742         * tests/test-logbl.c: New file.
22744         New module 'logbl'.
22745         * lib/math.in.h (logbl): New declaration.
22746         * lib/logbl.c: New file.
22747         * m4/logbl.m4: New file.
22748         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
22749         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
22750         REPLACE_LOGBL.
22751         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
22752         REPLACE_LOGBL.
22753         * modules/logbl: New file.
22754         * tests/test-math-c++.cc: Check the declaration of logbl.
22755         * doc/posix-functions/logbl.texi: Mention the new module.
22757 2012-04-02  Bruno Haible  <bruno@clisp.org>
22759         Tests for module 'logbf'.
22760         * modules/logbf-tests: New file.
22761         * tests/test-logbf.c: New file.
22763         New module 'logbf'.
22764         * lib/math.in.h (logbf): New declaration.
22765         * lib/logbf.c: New file.
22766         * m4/logbf.m4: New file.
22767         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
22768         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
22769         REPLACE_LOGBF.
22770         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
22771         REPLACE_LOGBF.
22772         * modules/logbf: New file.
22773         * tests/test-math-c++.cc: Check the declaration of logbf.
22774         * doc/posix-functions/logbf.texi: Mention the new module.
22776 2012-04-02  Bruno Haible  <bruno@clisp.org>
22778         logb tests: More tests.
22779         * tests/test-logb.h: New file, based on tests/test-logb.c and
22780         tests/test-frexp.h.
22781         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
22782         (main): Just invoke test_function.
22783         * modules/logb-tests (Files): Add tests/test-logb.h,
22784         tests/minus-zero.h, tests/randomd.c.
22785         (Makefile.am): Add randomd.c to test_logb_SOURCES.
22787         logb: Provide replacement and workarounds.
22788         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
22789         is 1.
22790         * lib/logb.c: New file.
22791         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
22792         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
22793         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
22794         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
22795         * modules/logb (Files): Add lib/logb.c.
22796         (Depends-on): Add isfinite, frexp, isnand.
22797         (configure.ac): Compile the replacement code logb.c if needed.
22798         * tests/test-math-c++.cc: Check the declaration of logb.
22799         * doc/posix-functions/logb.texi: Mention the replacement and the bug
22800         with subnormal numbers.
22802 2012-04-02  Bruno Haible  <bruno@clisp.org>
22804         log10* tests: Speed up.
22805         * tests/test-log10.h (test_function): Reduce amount of random numbers
22806         to test.
22808 2012-04-01  Bruno Haible  <bruno@clisp.org>
22810         logf-ieee: Fix test whether logf works.
22811         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
22813 2012-04-01  Bruno Haible  <bruno@clisp.org>
22815         log10l: Work around log10l-ieee test failure on IRIX 6.5.
22816         * lib/log10l.c: Include <float.h>
22817         (log10l): On IRIX, normalize the +Infinity value.
22818         * modules/log10l (Depends-on): Add 'float'.
22819         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
22820         +Infinity.
22822         log10f-ieee: Work around test failure on NetBSD 5.1.
22823         * m4/log10f-ieee.m4: New file.
22824         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
22825         test whether log10f works with a negative argument. Replace it if not.
22826         * lib/log10f.c (log10f): For negative arguments, return NaN.
22827         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
22828         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
22829         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
22831         log10f-ieee: Work around test failure on Solaris 9.
22832         * modules/log10f-ieee (Depends-on): Add log10-ieee.
22833         (configure.ac): Require gl_FUNC_LOG10F.
22835         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
22836         * m4/log10-ieee.m4: New file.
22837         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
22838         whether log10 works with a negative argument. Replace it if not.
22839         * lib/log10.c (log10): For negative arguments, return NaN.
22840         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
22841         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
22842         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
22844         Tests for module 'log10l-ieee'.
22845         * modules/log10l-ieee-tests: New file.
22846         * tests/test-log10l-ieee.c: New file.
22848         New module 'log10l-ieee'.
22849         * modules/log10l-ieee: New file.
22851         Tests for module 'log10-ieee'.
22852         * modules/log10-ieee-tests: New file.
22853         * tests/test-log10-ieee.c: New file.
22855         New module 'log10-ieee'.
22856         * modules/log10-ieee: New file.
22858         Tests for module 'log10f-ieee'.
22859         * modules/log10f-ieee-tests: New file.
22860         * tests/test-log10f-ieee.c: New file.
22861         * tests/test-log10-ieee.h: New file.
22863         New module 'log10f-ieee'.
22864         * modules/log10f-ieee: New file.
22866 2012-04-01  Bruno Haible  <bruno@clisp.org>
22868         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
22869         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
22870         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
22871         workaround.
22872         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
22873         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
22874         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
22875         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
22876         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
22877         (Depends-on): Update conditions.
22878         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
22879         IRIX 6.5, OSF/1 5.1 problems.
22881 2012-04-01  Bruno Haible  <bruno@clisp.org>
22883         log10f: Work around OSF/1 5.1 bug.
22884         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
22885         * lib/log10f.c (log10f): If logf exists, use it and provide just the
22886         workaround.
22887         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
22888         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
22889         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
22890         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
22891         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
22892         (Depends-on): Update conditions.
22893         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
22895 2012-04-01  Bruno Haible  <bruno@clisp.org>
22897         log10: Work around OSF/1 5.1 bug.
22898         * lib/math.in.h (log10): New declaration.
22899         * lib/log10.c: New file.
22900         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
22901         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
22902         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
22903         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
22904         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
22905         * modules/log10 (Files): Add lib/log10.c.
22906         (Depends-on): Add math.
22907         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
22908         * tests/test-math-c++.cc: Check the declaration of log10.
22909         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
22911 2012-03-31  Bruno Haible  <bruno@clisp.org>
22913         log10l tests: More tests.
22914         * modules/log10l-tests (Files): Add tests/test-log10l.h,
22915         tests/minus-zero.h, tests/randoml.c.
22916         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
22917         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
22918         (main): Invoke test_function.
22920         log10f tests: More tests.
22921         * modules/log10f-tests (Files): Add tests/test-log10.h,
22922         tests/minus-zero.h, tests/randomf.c.
22923         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
22924         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
22925         (main): Invoke test_function.
22927         log10 tests: More tests.
22928         * tests/test-log10.h: New file.
22929         * modules/log10-tests (Files): Add tests/test-log10.h,
22930         tests/minus-zero.h, tests/randomd.c.
22931         (Makefile.am): Add randomd.c to test_log10_SOURCES.
22932         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
22933         (main): Invoke test_function.
22935 2012-03-31  Simon Josefsson  <simon@josefsson.org>
22937         fflush: Fix syntax error.
22938         * lib/fflush.c: Include unused-parameter.h, needed for
22939         _GL_UNUSED_PARAMETER.
22940         * modules/fflush (Depends-on): Add snippet/unused-parameter.
22942 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
22944         regex: pacify GCC when compiling GRUB
22945         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
22946         a diagnostic.  Reported by Vladimir Serbinenko in
22947         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00163.html>.
22949 2012-03-29  Eric Blake  <eblake@redhat.com>
22951         stdio: don't assume gets any more
22952         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
22953         support.
22954         * modules/stdio (Makefile.am): Likewise.
22955         * lib/stdio-read.c (gets): Likewise.
22956         * tests/test-stdio-c++.cc: Likewise.
22957         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
22958         * lib/stdio.in.h (gets): Make warning occur in more places.
22959         * doc/posix-functions/gets.texi (gets): Update documentation.
22960         Reported by Christer Solskogen.
22962         maint.mk: fix syntax checks without exclusions
22963         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
22964         Reported by Daniel P. Berrange.
22966         strerror_r: avoid compiler warning
22967         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
22968         level.
22970         fflush: avoid compiler warning
22971         * lib/fflush.c (update_fpos_cache): Mark variables that are
22972         potentially unused.
22974 2012-03-25  Bruno Haible  <bruno@clisp.org>
22976         Tests for module 'localeconv'.
22977         * modules/localeconv-tests: New file.
22978         * tests/test-localeconv.c: New file.
22980         New module 'localeconv'.
22981         * lib/locale.in.h (localeconv): New declaration.
22982         * lib/localeconv.c: New file.
22983         * m4/localeconv.m4: New file.
22984         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
22985         REPLACE_LOCALECONV.
22986         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
22987         REPLACE_LOCALECONV.
22988         * modules/localeconv: New file.
22989         * modules/nl_langinfo (Depends-on): Add localeconv.
22990         * modules/human (Depends-on): Likewise.
22991         * doc/posix-functions/localeconv.texi: Mention the new module.
22993 2012-03-25  Bruno Haible  <bruno@clisp.org>
22995         locale: Provide a complete 'struct lconv'.
22996         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
22997         'struct lconv' does not contain int_p_cs_precedes.
22998         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
22999         * doc/posix-headers/locale.texi: Update.
23001         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
23002         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
23003         * doc/posix-headers/locale.texi: Update.
23005         locale: Provide a working 'struct lconv'.
23006         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
23007         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
23008         'struct lconv' does not even contain decimal_point.
23009         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
23010         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
23011         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
23012         * doc/posix-headers/locale.texi: Mention the problems with
23013         'struct lconv'.
23014         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
23016 2012-03-24  Bruno Haible  <bruno@clisp.org>
23018         Enable common subexpression optimization in GCC.
23019         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
23020         macros.
23021         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
23022         GCC attribute 'const'.
23023         (uc_locale_language): Declare with GCC attribute 'pure'.
23024         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
23025         with GCC attribute 'const'.
23026         * lib/unictype.in.h (uc_is_general_category_withtable,
23027         uc_combining_class, uc_combining_class_name,
23028         uc_combining_class_long_name, uc_bidi_class_name,
23029         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
23030         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
23031         uc_decimal_value, uc_digit_value, uc_numeric_value,
23032         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
23033         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
23034         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
23035         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
23036         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
23037         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
23038         Declare with GCC attribute 'const'.
23039         (uc_general_category_name, uc_general_category_long_name,
23040         uc_general_category_byname, uc_general_category,
23041         uc_is_general_category, uc_combining_class_byname,
23042         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
23043         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
23044         Declare with GCC attribute 'pure'.
23045         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
23046         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
23047         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
23048         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
23049         with GCC attribute 'pure'.
23050         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
23051         'const'.
23052         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
23053         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
23054         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
23055         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
23056         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
23057         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
23058         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
23059         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
23060         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
23061         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
23062         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
23063         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
23064         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
23065         GCC attribute 'pure'.
23066         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
23067         'const'.
23068         * lib/uniwidth.in.h (uc_width): Simplify declaration.
23069         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
23070         u32_strwidth): Declare with GCC attribute 'pure'.
23072         Enable common subexpression optimization in GCC.
23073         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
23074         (alphasort): Declare with GCC attribute 'pure'.
23075         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
23076         (atoll): Declare with GCC attribute 'pure'.
23077         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
23078         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
23079         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
23080         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
23081         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
23082         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
23083         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
23085 2012-03-24  Bruno Haible  <bruno@clisp.org>
23087         gnulib-tool: Avoid unintended error output from 'cmp'.
23088         * gnulib-tool (func_add_file, func_update_file, func_import): Use
23089         "cmp -s", not "cmp > /dev/null".
23091 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
23093         gnulib-tool: fix imprecise comments w.r.t. an automake bug
23095         It's not just Automake versions < 1.9b that creates an empty
23096         pkgdatadir at installation time if pkgdata_DATA is specified
23097         to empty; modern automake versions do this as well, at least
23098         until automake 1.11.4 (not yet released at the moment of writing,
23099         but soon to appear).  That behaviour was generally considered a
23100         feature rather than a bug, at least until this discussion:
23101         <http://lists.gnu.org/r/automake/2012-03/msg00014.html>
23103         See also automake bugs #10997 and #11030.
23105         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
23106         reference to relevant automake bug numbers.
23107         (func_emit_tests_Makefile_am): Likewise.
23109 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
23111         announce-gen: use Digest::SHA when possible
23112         * build-aux/announce-gen: Use Digest::SHA when possible, falling
23113         back to Digest::SHA1 if necessary.
23115 2012-03-20  Jim Meyering  <meyering@redhat.com>
23117         tests: avoid gcc warnings about argv vs. const initializers
23118         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
23119         warnings about discarding 'const' qualifier from pointer target type.
23120         * tests/test-posix_spawn2.c (main): Likewise.
23122 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
23124         README-release: simplify slightly
23125         * top/README-release: Run "git checkout master" only once.
23127 2012-03-15  Mark Wielaard  <mark@klomp.org>
23129         git-merge-changelog: add specific example on how to use with hg.
23130         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
23132 2012-03-18  Mark Wielaard  <mark@klomp.org>
23134         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
23136 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
23138         git-version-gen: don't let "prefix" envvar cause trouble
23139         * build-aux/git-version-gen (prefix): Initialize properly,
23140         so as not to use a value specified via the environment.
23141         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
23143 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
23145         regex: diagnose too-large repeat counts in EREs
23146         Previously, the code did not diagnose the too-large repeat count
23147         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
23148         as if it were 'b\{1000000000}', which is unexpected.
23149         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
23150         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
23151         is a reasonable one for this problem.  Another option would be to
23152         create a new REG_OVERFLOW error for repeat counts that are too large.
23153         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
23154         count is too large, so that the caller can distinguish the two cases.
23155         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
23156         "Too large" return code, and that repeat counts are one example of this.
23158 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
23160         doc: some glibc x32 integer width issues
23161         * doc/posix-headers/sys_types.texi (sys/types.h):
23162         * doc/posix-headers/time.texi (time.h):
23163         Mention that glibc x32 does not conform to POSIX in a couple of
23164         areas related to integer widths.
23166 2012-03-15  Bruno Haible  <bruno@clisp.org>
23168         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
23169         * lib/fma.c (VOLATILE): New macro.
23170         (FUNC): Use it to work around a GCC compiler bug.
23172 2012-03-13  Bruno Haible  <bruno@clisp.org>
23174         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
23175         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
23176         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
23177         REPLACE_HYPOTL to 1.
23178         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
23180 2012-03-13  Bruno Haible  <bruno@clisp.org>
23182         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
23183         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
23184         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
23185         REPLACE_REMAINDERL to 1.
23186         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
23187         bug.
23189 2012-03-13  Bruno Haible  <bruno@clisp.org>
23191         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
23192         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
23193         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
23194         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
23195         too big rounding errors.
23196         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
23197         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
23198         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
23199         (Depends-on): Update conditions.
23200         * tests/test-sqrtl.c (my_ldexpl): New function.
23201         (main): Add test of a particular value.
23202         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
23204 2012-03-13  Pádraig Brady  <P@draigBrady.com>
23206         doc: Update timer_* platform portability notes.
23207         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
23208         that always return ENOSYS.
23209         * doc/posix-functions/timer_delete.texi: Likewise.
23210         * doc/posix-functions/timer_gettime.texi: Likewise.
23211         * doc/posix-functions/timer_settime.texi: Likewise.
23213 2012-03-13  Bruno Haible  <bruno@clisp.org>
23215         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
23216         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
23217         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
23218         REPLACE_CBRTL to 1.
23219         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
23221 2012-03-13  Bruno Haible  <bruno@clisp.org>
23223         remainderl: Avoid compilation error on AIX >= 5.2.
23224         * lib/math.in.h (remainderl): Undefine macro from the system header.
23226 2012-03-13  Bruno Haible  <bruno@clisp.org>
23228         Avoid compilation errors with MSVC option -fp:strict.
23229         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
23230         * lib/cbrtf.c: Likewise.
23231         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
23233 2012-03-12  Bruno Haible  <bruno@clisp.org>
23235         uninorm: Don't crash in out-of-memory conditions.
23236         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
23237         gracefully.
23238         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
23239         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
23241 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
23243         quote: fix syntax-check
23244         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
23245         also exports quote_quoting_options.
23247 2012-03-12  Simon Josefsson  <simon@josefsson.org>
23249         Collapse list of copyright years to ranges.  See
23250         <https://lists.gnu.org/r/bug-gnulib/2012-03/msg00051.html>.
23251         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
23252         build-aux/csharpexec.sh.in, build-aux/gnupload,
23253         build-aux/install-reloc, build-aux/javacomp.sh.in,
23254         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
23255         build-aux/move-if-change, build-aux/reloc-ldflags,
23256         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
23258 2012-03-11  Bruno Haible  <bruno@clisp.org>
23260         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
23261         * m4/log2f-ieee.m4: New file.
23262         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
23263         whether log2f works with a minus zero argument. Replace it if not.
23264         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
23265         (Depends-on): Add log2-ieee.
23266         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
23267         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
23269         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
23270         * m4/log2-ieee.m4: New file.
23271         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
23272         whether log2 works with a minus zero argument. Replace it if not.
23273         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
23274         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
23275         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
23277         Tests for module 'log2l-ieee'.
23278         * modules/log2l-ieee-tests: New file.
23279         * tests/test-log2l-ieee.c: New file.
23281         New module 'log2l-ieee'.
23282         * modules/log2l-ieee: New file.
23284         Tests for module 'log2-ieee'.
23285         * modules/log2-ieee-tests: New file.
23286         * tests/test-log2-ieee.c: New file.
23288         New module 'log2-ieee'.
23289         * modules/log2-ieee: New file.
23291         Tests for module 'log2f-ieee'.
23292         * modules/log2f-ieee-tests: New file.
23293         * tests/test-log2f-ieee.c: New file.
23294         * tests/test-log2-ieee.h: New file.
23296         New module 'log2f-ieee'.
23297         * modules/log2f-ieee: New file.
23299 2012-03-11  Bruno Haible  <bruno@clisp.org>
23301         Tests for module 'log2l'.
23302         * modules/log2l-tests: New file.
23303         * tests/test-log2l.c: New file.
23305         New module 'log2l'.
23306         * lib/math.in.h (log2l): New declaration.
23307         * lib/log2l.c: New file.
23308         * m4/log2l.m4: New file.
23309         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
23310         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
23311         REPLACE_LOG2L.
23312         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
23313         REPLACE_LOG2L.
23314         * modules/log2l: New file.
23315         * tests/test-math-c++.cc: Check the declaration of log2l.
23316         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
23317         and OSF/1 problems.
23319 2012-03-11  Bruno Haible  <bruno@clisp.org>
23321         Tests for module 'log2f'.
23322         * modules/log2f-tests: New file.
23323         * tests/test-log2f.c: New file.
23325         New module 'log2f'.
23326         * lib/math.in.h (log2f): New declaration.
23327         * lib/log2f.c: New file.
23328         * m4/log2f.m4: New file.
23329         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
23330         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
23331         REPLACE_LOG2F.
23332         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
23333         REPLACE_LOG2F.
23334         * modules/log2f: New file.
23335         * tests/test-math-c++.cc: Check the declaration of log2f.
23336         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
23337         and OSF/1 and Cygwin problems.
23339 2012-03-11  Bruno Haible  <bruno@clisp.org>
23341         Tests for module 'log2'.
23342         * modules/log2-tests: New file.
23343         * tests/test-log2.c: New file.
23344         * tests/test-log2.h: New file.
23346         New module 'log2'.
23347         * lib/math.in.h (log2): New declaration.
23348         * lib/log2.c: New file.
23349         * m4/log2.m4: New file.
23350         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
23351         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
23352         REPLACE_LOG2.
23353         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
23354         REPLACE_LOG2.
23355         * modules/log2: New file.
23356         * tests/test-math-c++.cc: Check the declaration of log2.
23357         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
23358         and OSF/1 and Cygwin problems.
23360 2012-03-11  Bruno Haible  <bruno@clisp.org>
23362         exp2* tests: More tests.
23363         * tests/test-exp2.h (test_function): Test all integral arguments that
23364         don't need to overflow or denormalized numbers.
23365         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
23366         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
23367         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
23369 2012-03-10  Bruno Haible  <bruno@clisp.org>
23371         log1pl-ieee: Work around test failure on AIX 7.1.
23372         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
23374         log1pl-ieee: Work around test failure on IRIX 6.5.
23375         * m4/log1pl-ieee.m4: New file.
23376         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
23377         test whether log1pl works with a minus zero argument. Replace it if
23378         not.
23379         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
23380         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
23381         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
23382         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
23383         (Depends-on): Update conditions.
23384         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
23385         m4/signbit.m4.
23386         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
23387         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
23389         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
23390         * m4/log1pf-ieee.m4: New file.
23391         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
23392         test whether log1pf works with a minus zero argument. Replace it if
23393         not.
23394         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
23395         m4/signbit.m4.
23396         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
23397         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
23399         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
23400         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
23401         (configure.ac): Require gl_FUNC_LOG1PF.
23403         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
23404         * m4/log1p-ieee.m4: New file.
23405         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
23406         whether log1p works with a minus zero argument. Replace it if not.
23407         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
23408         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
23409         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
23410         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
23411         (Depends-on): Update conditions.
23412         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
23413         m4/signbit.m4.
23414         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
23415         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
23417         Tests for module 'log1pl-ieee'.
23418         * modules/log1pl-ieee-tests: New file.
23419         * tests/test-log1pl-ieee.c: New file.
23421         New module 'log1pl-ieee'.
23422         * modules/log1pl-ieee: New file.
23424         Tests for module 'log1p-ieee'.
23425         * modules/log1p-ieee-tests: New file.
23426         * tests/test-log1p-ieee.c: New file.
23428         New module 'log1p-ieee'.
23429         * modules/log1p-ieee: New file.
23431         Tests for module 'log1pf-ieee'.
23432         * modules/log1pf-ieee-tests: New file.
23433         * tests/test-log1pf-ieee.c: New file.
23434         * tests/test-log1p-ieee.h: New file.
23436         New module 'log1pf-ieee'.
23437         * modules/log1pf-ieee: New file.
23439 2012-03-10  Bruno Haible  <bruno@clisp.org>
23441         Tests for module 'log1pl'.
23442         * modules/log1pl-tests: New file.
23443         * tests/test-log1pl.c: New file.
23445         New module 'log1pl'.
23446         * lib/math.in.h (log1pl): New declaration.
23447         * lib/log1pl.c: New file.
23448         * m4/log1pl.m4: New file.
23449         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
23450         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
23451         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
23452         * modules/log1pl: New file.
23453         * tests/test-math-c++.cc: Check the declaration of log1pl.
23454         * doc/posix-functions/log1pl.texi: Mention the new module.
23456 2012-03-10  Bruno Haible  <bruno@clisp.org>
23458         Tests for module 'log1pf'.
23459         * modules/log1pf-tests: New file.
23460         * tests/test-log1pf.c: New file.
23462         New module 'log1pf'.
23463         * lib/math.in.h (log1pf): New declaration.
23464         * lib/log1pf.c: New file.
23465         * m4/log1pf.m4: New file.
23466         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
23467         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
23468         REPLACE_LOG1PF.
23469         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
23470         REPLACE_LOG1PF.
23471         * modules/log1pf: New file.
23472         * tests/test-math-c++.cc: Check the declaration of log1pf.
23473         * doc/posix-functions/log1pf.texi: Mention the new module.
23475 2012-03-10  Bruno Haible  <bruno@clisp.org>
23477         log1p tests: More tests.
23478         * tests/test-log1p.h: New file.
23479         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
23480         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
23481         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
23482         (main): Invoke test_function.
23484         log1p: Provide replacement for Minix and MSVC.
23485         * lib/math.in.h (log1p): New declaration.
23486         * lib/log1p.c: New file.
23487         * m4/log1p.m4: New file.
23488         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
23489         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
23490         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
23491         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
23492         (Depends-on): Add math, isnand, log, round.
23493         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
23494         HAVE_LOG1P is 0.
23495         * tests/test-math-c++.cc: Check the declaration of log1p.
23496         * doc/posix-functions/log1p.texi: Mention the replacement.
23498 2012-03-10  Bruno Haible  <bruno@clisp.org>
23500         math tests: Small simplification.
23501         * tests/test-exp.h (test_function): Use the same err_bound for
23502         'double' on platforms with sizeof (long double) == sizeof (double)
23503         than on platforms with sizeof (long double) > sizeof (double).
23504         * tests/test-exp2.h (test_function): Likewise.
23505         * tests/test-expm1.h (test_function): Likewise.
23506         * tests/test-log.h (test_function): Likewise.
23508 2012-03-10  Bruno Haible  <bruno@clisp.org>
23510         Fix some comments.
23511         * lib/expl.c: Fix an ambiguous comment.
23512         * lib/expm1.c: Likewise.
23513         * lib/expm1l.c: Likewise.
23514         * lib/exp2.c: Likewise.
23515         * lib/exp2l.c: Likewise.
23517 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
23519         regex: allow inclusion of <regex.h> before <limits.h>
23520         Without this patch, portable programs had to include <limits.h> before
23521         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
23522         I ran into this problem with a test version of GNU grep on Solaris 8.
23523         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
23524         This is done conditionally so that this change can be merged
23525         back to glibc.
23526         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
23527         using the included regex.
23529         fts: depend on fdopendir
23530         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
23531         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
23532         problem was introduced when fdopendir was split out.
23534 2012-03-10  Bruno Haible  <bruno@clisp.org>
23536         Remove unused variables.
23537         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
23538         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
23540 2012-03-10  Bruno Haible  <bruno@clisp.org>
23542         isnanf-nolibm: Fix last commit.
23543         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
23545         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
23546         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
23548 2012-03-10  Bruno Haible  <bruno@clisp.org>
23550         logf-ieee: Work around test failure on NetBSD 5.1.
23551         * m4/logf-ieee.m4: New file.
23552         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
23553         whether logf works with a negative argument. Replace it if not.
23554         * lib/logf.c (logf): For negative arguments, return NaN.
23555         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
23556         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
23557         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
23559         logf-ieee: Work around test failure on Solaris 9.
23560         * modules/logf-ieee (Depends-on): Add log-ieee.
23561         (configure.ac): Require gl_FUNC_LOGF.
23563         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
23564         * m4/log-ieee.m4: New file.
23565         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
23566         log works with a negative argument. Replace it if not.
23567         * lib/log.c (log): For negative arguments, return NaN.
23568         * modules/log-ieee (Files): Add m4/log-ieee.m4.
23569         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
23570         * doc/posix-functions/log.texi: Mention the log-ieee module.
23572         Tests for module 'logl-ieee'.
23573         * modules/logl-ieee-tests: New file.
23574         * tests/test-logl-ieee.c: New file.
23576         New module 'logl-ieee'.
23577         * modules/logl-ieee: New file.
23579         Tests for module 'log-ieee'.
23580         * modules/log-ieee-tests: New file.
23581         * tests/test-log-ieee.c: New file.
23583         New module 'log-ieee'.
23584         * modules/log-ieee: New file.
23586         Tests for module 'logf-ieee'.
23587         * modules/logf-ieee-tests: New file.
23588         * tests/test-logf-ieee.c: New file.
23589         * tests/test-log-ieee.h: New file.
23591         New module 'logf-ieee'.
23592         * modules/logf-ieee: New file.
23594 2012-03-10  Bruno Haible  <bruno@clisp.org>
23596         log: Fix bug introduced on 2012-03-09.
23597         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
23599 2012-03-10  Pádraig Brady  <P@draigBrady.com>
23601         timer-time: link explicitly with pthreads on glibc
23602         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
23603         to support static linking, when newer glibc is
23604         detected, as that contains pthread emulation of
23605         POSIX timer functions where required.
23606         * modules/timer-time: Depend on threadlib to
23607         pull in the appropriate library to link.
23609 2012-03-10  Bruno Haible  <bruno@clisp.org>
23611         log* tests: More tests.
23612         * tests/test-log.h: New file.
23613         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
23614         (main): Invoke test_function.
23615         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
23616         (main): Invoke test_function.
23617         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
23618         (main): Invoke test_function.
23619         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
23620         tests/randomd.c.
23621         (Makefile.am): Add randomd.c to test_log_SOURCES.
23622         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
23623         tests/randomf.c.
23624         (Makefile.am): Add randomf.c to test_logf_SOURCES.
23625         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
23626         tests/randoml.c.
23627         (Depends-on): Add 'float'.
23628         (Makefile.am): Add randoml.c to test_logl_SOURCES.
23630 2012-03-09  Bruno Haible  <bruno@clisp.org>
23632         logl: Work around OSF/1 5.1 bug.
23633         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
23634         * lib/logl.c (logl): If logl exists, use it and provide just the
23635         workaround.
23636         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
23637         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
23638         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
23639         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
23640         * modules/logl (configure.ac): Consider REPLACE_LOGL.
23641         (Depends-on): Update conditions.
23642         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
23644 2012-03-09  Bruno Haible  <bruno@clisp.org>
23646         logf: Work around OSF/1 5.1 bug.
23647         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
23648         * lib/logf.c (logf): If logf exists, use it and provide just the
23649         workaround.
23650         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
23651         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
23652         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
23653         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
23654         * modules/logf (configure.ac): Consider REPLACE_LOGF.
23655         (Depends-on): Update conditions.
23656         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
23658 2012-03-09  Bruno Haible  <bruno@clisp.org>
23660         log: Work around OSF/1 5.1 bug.
23661         * lib/math.in.h (log): New declaration.
23662         * lib/log.c: New file.
23663         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
23664         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
23665         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
23666         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
23667         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
23668         * modules/log (Files): Add lib/log.c.
23669         (Depends-on): Add math.
23670         (configure.ac): If REPLACE_LOG is 1, compile an override.
23671         * tests/test-math-c++.cc: Check the declaration of log.
23672         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
23674 2012-03-09  Jim Meyering  <meyering@redhat.com>
23676         readtokens.c: adjust wording in a comment
23677         * lib/readtokens.c: Insert omitted "that" in a comment.
23679 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
23681         modechange: add notations +40, 00440, etc.
23682         * lib/modechange.c (mode_compile): Support new notations
23683         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
23685 2012-03-08  Bruno Haible  <bruno@clisp.org>
23687         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
23688         * m4/exp2l-ieee.m4: New file.
23689         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
23690         test whether exp2l works with a NaN argument and with a negative
23691         infinity argument. Replace it if not.
23692         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
23693         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
23694         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
23695         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
23696         (Depends-on): Update conditions.
23697         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
23698         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
23699         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
23701         Tests for module 'exp2l-ieee'.
23702         * modules/exp2l-ieee-tests: New file.
23703         * tests/test-exp2l-ieee.c: New file.
23705         New module 'exp2l-ieee'.
23706         * modules/exp2l-ieee: New file.
23708         Tests for module 'exp2-ieee'.
23709         * modules/exp2-ieee-tests: New file.
23710         * tests/test-exp2-ieee.c: New file.
23712         New module 'exp2-ieee'.
23713         * modules/exp2-ieee: New file.
23715         Tests for module 'exp2f-ieee'.
23716         * modules/exp2f-ieee-tests: New file.
23717         * tests/test-exp2f-ieee.c: New file.
23718         * tests/test-exp2-ieee.h: New file.
23720         New module 'exp2f-ieee'.
23721         * modules/exp2f-ieee: New file.
23723 2012-03-08  Bruno Haible  <bruno@clisp.org>
23725         Tests for module 'exp2l'.
23726         * modules/exp2l-tests: New file.
23727         * tests/test-exp2l.c: New file.
23729         New module 'exp2l'.
23730         * lib/math.in.h (exp2l): New declaration.
23731         * lib/exp2l.c: New file.
23732         * lib/expl-table.c: New file, extracted from lib/expl.c.
23733         * lib/expl.c (gl_expl_table): New declaration.
23734         (expl): Remove expl_table. Update reference.
23735         * m4/exp2l.m4: New file.
23736         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
23737         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
23738         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
23739         * modules/exp2l: New file.
23740         * modules/expl (Files): Add lib/expl-table.c.
23741         (configure.ac): Compile also expl-table.c.
23742         * tests/test-math-c++.cc: Check the declaration of exp2l.
23743         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
23744         problem.
23746 2012-03-08  Bruno Haible  <bruno@clisp.org>
23748         Tests for module 'exp2f'.
23749         * modules/exp2f-tests: New file.
23750         * tests/test-exp2f.c: New file.
23752         New module 'exp2f'.
23753         * lib/math.in.h (exp2f): New declaration.
23754         * lib/exp2f.c: New file.
23755         * m4/exp2f.m4: New file.
23756         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
23757         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
23758         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
23759         * modules/exp2f: New file.
23760         * tests/test-math-c++.cc: Check the declaration of exp2f.
23761         * doc/posix-functions/exp2f.texi: Mention the new module and the
23762         IRIX problem.
23764 2012-03-08  Bruno Haible  <bruno@clisp.org>
23766         Tests for module 'exp2'.
23767         * modules/exp2-tests: New file.
23768         * tests/test-exp2.c: New file.
23769         * tests/test-exp2.h: New file.
23771         New module 'exp2'.
23772         * lib/math.in.h (exp2): New declaration.
23773         * lib/exp2.c: New file.
23774         * m4/exp2.m4: New file.
23775         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
23776         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
23777         REPLACE_EXP2.
23778         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
23779         REPLACE_EXP2.
23780         * modules/exp2: New file.
23781         * tests/test-math-c++.cc: Check the declaration of exp2.
23782         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
23783         and OpenBSD problems.
23785 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
23787         savedir: fix comment typo
23788         * lib/savedir.c (savedirstream): Fix typo in comment.
23790 2012-03-08  Bruno Haible  <bruno@clisp.org>
23792         test-readtokens.c: use const; remove unwarranted cast
23793         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
23795 2012-03-08  Bruno Haible  <bruno@clisp.org>
23797         fmal: Avoid compilation error on AIX.
23798         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
23799         AIX 5.2..7.1.
23801 2012-03-08  Bruno Haible  <bruno@clisp.org>
23803         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
23804         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
23805         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
23806         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
23807         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
23808         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
23809         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
23811 2012-03-08  Bruno Haible  <bruno@clisp.org>
23813         remainderf: Override buggy system function on IRIX 6.5.
23814         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
23815         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
23816         when it exists.
23817         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
23819 2012-03-08  Jim Meyering  <meyering@redhat.com>
23821         test-readtokens.c: avoid const-related compilation warnings
23822         * tests/test-readtokens.c: Avoid const-related compilation warnings.
23824 2012-03-07  Jim Meyering  <meyering@redhat.com>
23825             Bruno Haible  <bruno@clisp.org>
23827         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
23828         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
23829         tests/randomd.c.
23830         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
23831         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
23832         tests/randoml.c.
23833         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
23835 2012-03-07  Bruno Haible  <bruno@clisp.org>
23837         expm1l: Avoid compilation error on AIX.
23838         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
23839         AIX 5.2..7.1.
23841 2012-03-07  Bruno Haible  <bruno@clisp.org>
23843         expm1l: Don't override undeclared system function on IRIX 6.5.
23844         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
23845         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
23846         it exists. Set HAVE_DECL_EXPM1L.
23847         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
23848         HAVE_EXPM1L.
23849         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
23850         HAVE_EXPM1L.
23851         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
23853 2012-03-07  Bruno Haible  <bruno@clisp.org>
23855         remainderl: Don't override undeclared system function on IRIX 6.5.
23856         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
23857         HAVE_REMAINDERL.
23858         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
23859         declared when it exists. Set HAVE_DECL_REMAINDERL.
23860         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
23861         not HAVE_REMAINDERL.
23862         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
23863         HAVE_REMAINDERL.
23864         * doc/posix-functions/remainderl.texi: Mention missing declaration
23865         problem.
23867 2012-03-07  Bruno Haible  <bruno@clisp.org>
23869         rintf: Don't override undeclared system function on IRIX 6.5.
23870         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
23871         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
23872         exists. Set HAVE_DECL_RINTF.
23873         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
23874         HAVE_RINTF.
23875         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
23876         HAVE_RINTF.
23877         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
23879 2012-03-07  Bruno Haible  <bruno@clisp.org>
23881         roundl: Avoid compilation error on AIX.
23882         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
23883         AIX 5.2..7.1.
23885 2012-03-07  Bruno Haible  <bruno@clisp.org>
23887         roundl: Don't override undeclared system function on IRIX 6.5.
23888         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
23889         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
23890         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
23891         * modules/roundl (configure.ac): For replacement code, test
23892         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
23893         (Depends-on): Update conditions.
23894         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
23896 2012-03-07  Bruno Haible  <bruno@clisp.org>
23898         roundf: Don't override undeclared system function on IRIX 6.5.
23899         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
23900         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
23901         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
23902         * modules/roundf (configure.ac): For replacement code, test
23903         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
23904         (Depends-on): Update conditions.
23905         * modules/roundf-ieee (Depends-on): Update conditions.
23906         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
23908 2012-03-07  Bruno Haible  <bruno@clisp.org>
23910         round: Don't override undeclared system function on IRIX 6.5.
23911         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
23912         argument.
23913         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
23914         also when it is not declared. Set HAVE_ROUND. For replacement code,
23915         test HAVE_ROUND, not HAVE_DECL_ROUND.
23916         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
23917         not HAVE_DECL_ROUND.
23918         (Depends-on): Update conditions.
23919         * modules/round-ieee (Depends-on): Update conditions.
23920         * doc/posix-functions/round.texi: Mention the IRIX problem.
23922 2012-03-07  Bruno Haible  <bruno@clisp.org>
23924         copysignf: Don't override undeclared system function on IRIX 6.5.
23925         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
23926         HAVE_COPYSIGNF.
23927         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
23928         declared when it exists. Set HAVE_DECL_COPYSIGNF.
23929         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
23930         not HAVE_COPYSIGNF.
23931         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
23932         HAVE_COPYSIGNF.
23933         * doc/posix-functions/copysignf.texi: Mention missing declaration
23934         problem.
23936 2012-03-07  Jim Meyering  <meyering@redhat.com>
23938         readtokens: add tests
23939         * modules/readtokens-tests: New file.
23940         * tests/test-readtokens.c: New file.
23942 2012-03-07  Jim Meyering  <meyering@redhat.com>
23944         quotearg: the module must now include quote.h
23945         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
23946         So must the module.
23947         * modules/quotearg (Files): Add quote.h.
23949 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
23951         readtokens: avoid core dumps with unusual calling patterns
23952         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
23953         * lib/readtokens.c: Include limits.h.
23954         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
23955         (readtoken): Don't cache the delimiters; the cache code was buggy
23956         if !delim && saved_delim, or if the new n_delim differs from the old.
23957         Also, it wasn't thread-safe.
23959 2012-03-07  Bruno Haible  <bruno@clisp.org>
23961         quote: Adhere to common module description layout.
23962         * modules/quote (Makefile.am): Add back empty section.
23964 2012-03-06  Akim Demaille  <demaille@gostai.com>
23966         quote: fuse into quotearg
23967         This patch is made for the benefit of Bison.
23968         quote does not leave the choice of the quoting style to the user.
23969         quoting_style provides poor customizability, yet quoting_options,
23970         which is very rich, is hidden inside quotearg.c.  So in order to
23971         allow quote customization, move its implementation to quotearg.c.
23972         * lib/quote.c: Remove.
23973         * modules/quote: Adjust.
23974         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
23975         warning: provide all the members of literal structs.
23976         (quote_quoting_options): New.
23977         (quote, quote_n): Import implementation from quote.c.
23978         * lib/quote.h: Import the comments from quote.c.
23979         (quote_quoting_options): New.
23981 2012-03-06  Bruno Haible  <bruno@clisp.org>
23983         Tests for module 'expm1l-ieee'.
23984         * modules/expm1l-ieee-tests: New file.
23985         * tests/test-expm1l-ieee.c: New file.
23987         New module 'expm1l-ieee'.
23988         * modules/expm1l-ieee: New file.
23990         Tests for module 'expm1f-ieee'.
23991         * modules/expm1f-ieee-tests: New file.
23992         * tests/test-expm1f-ieee.c: New file.
23994         New module 'expm1f-ieee'.
23995         * modules/expm1f-ieee: New file.
23997         Tests for module 'expm1-ieee'.
23998         * modules/expm1-ieee-tests: New file.
23999         * tests/test-expm1-ieee.c: New file.
24000         * tests/test-expm1-ieee.h: New file.
24002         New module 'expm1-ieee'.
24003         * modules/expm1-ieee: New file.
24004         * m4/expm1-ieee.m4: New file.
24005         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
24006         whether expm1 works with a minus zero argument. Replace it if not.
24007         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
24008         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
24009         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
24010         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
24011         (Depends-on): Update conditions.
24012         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
24013         AIX problem.
24015 2012-03-06  Bruno Haible  <bruno@clisp.org>
24017         Work around expm1f bug on IRIX 6.5.
24018         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
24019         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
24020         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
24021         not work.
24022         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
24023         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
24024         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
24025         (Depends-on): Update conditions.
24026         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
24028 2012-03-06  Bruno Haible  <bruno@clisp.org>
24030         Tests for module 'expm1l'.
24031         * modules/expm1l-tests: New file.
24032         * tests/test-expm1l.c: New file.
24034         New module 'expm1l'.
24035         * lib/math.in.h (expm1l): New declaration.
24036         * lib/expm1l.c: New file.
24037         * m4/expm1l.m4: New file.
24038         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
24039         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
24040         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
24041         * modules/expm1l: New file.
24042         * tests/test-math-c++.cc: Check the declaration of expm1l.
24043         * doc/posix-functions/expm1l.texi: Mention the new module.
24045 2012-03-06  Bruno Haible  <bruno@clisp.org>
24047         Tests for module 'expm1f'.
24048         * modules/expm1f-tests: New file.
24049         * tests/test-expm1f.c: New file.
24051         New module 'expm1f'.
24052         * lib/math.in.h (expm1f): New declaration.
24053         * lib/expm1f.c: New file.
24054         * m4/expm1f.m4: New file.
24055         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
24056         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
24057         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
24058         * modules/expm1f: New file.
24059         * tests/test-math-c++.cc: Check the declaration of expm1f.
24060         * doc/posix-functions/expm1f.texi: Mention the new module.
24062 2012-03-06  Bruno Haible  <bruno@clisp.org>
24064         Tests for module 'expm1'.
24065         * modules/expm1-tests: New file.
24066         * tests/test-expm1.c: New file.
24067         * tests/test-expm1.h: New file.
24069         New module 'expm1'.
24070         * lib/math.in.h (expm1): New declaration.
24071         * lib/expm1.c: New file.
24072         * m4/expm1.m4: New file.
24073         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
24074         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
24075         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
24076         * modules/expm1: New file.
24077         * tests/test-math-c++.cc: Check the declaration of expm1.
24078         * doc/posix-functions/expm1.texi: Mention the new module.
24080 2012-03-06  Bruno Haible  <bruno@clisp.org>
24082         math: Ensure declarations of math functions.
24083         * modules/acosf (Depends-on): Add 'extensions'.
24084         * modules/asinf (Depends-on): Likewise.
24085         * modules/atan2f (Depends-on): Likewise.
24086         * modules/atanf (Depends-on): Likewise.
24087         * modules/cbrt (Depends-on): Likewise.
24088         * modules/cbrtf (Depends-on): Likewise.
24089         * modules/cbrtl (Depends-on): Likewise.
24090         * modules/copysignf (Depends-on): Likewise.
24091         * modules/copysignl (Depends-on): Likewise.
24092         * modules/cosf (Depends-on): Likewise.
24093         * modules/coshf (Depends-on): Likewise.
24094         * modules/expf (Depends-on): Likewise.
24095         * modules/fabsf (Depends-on): Likewise.
24096         * modules/fabsl (Depends-on): Likewise.
24097         * modules/fmaf (Depends-on): Likewise.
24098         * modules/fmal (Depends-on): Likewise.
24099         * modules/fmodf (Depends-on): Likewise.
24100         * modules/fmodl (Depends-on): Likewise.
24101         * modules/frexpf (Depends-on): Likewise.
24102         * modules/frexpl (Depends-on): Likewise.
24103         * modules/hypot (Depends-on): Likewise.
24104         * modules/hypotf (Depends-on): Likewise.
24105         * modules/hypotl (Depends-on): Likewise.
24106         * modules/ldexpf (Depends-on): Likewise.
24107         * modules/ldexpl (Depends-on): Likewise.
24108         * modules/log10f (Depends-on): Likewise.
24109         * modules/log10l (Depends-on): Likewise.
24110         * modules/log1p (Depends-on): Likewise.
24111         * modules/logb (Depends-on): Likewise.
24112         * modules/logf (Depends-on): Likewise.
24113         * modules/modff (Depends-on): Likewise.
24114         * modules/modfl (Depends-on): Likewise.
24115         * modules/powf (Depends-on): Likewise.
24116         * modules/remainderf (Depends-on): Likewise.
24117         * modules/remainderl (Depends-on): Likewise.
24118         * modules/rintf (Depends-on): Likewise.
24119         * modules/rintl (Depends-on): Likewise.
24120         * modules/sinf (Depends-on): Likewise.
24121         * modules/sinhf (Depends-on): Likewise.
24122         * modules/sqrtf (Depends-on): Likewise.
24123         * modules/tanf (Depends-on): Likewise.
24124         * modules/tanhf (Depends-on): Likewise.
24125         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
24126         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
24127         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
24128         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
24129         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
24130         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
24131         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
24132         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
24133         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
24134         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
24135         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
24136         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
24137         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
24138         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
24139         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
24140         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
24141         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
24142         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
24143         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
24144         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
24145         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
24146         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
24147         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
24148         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
24149         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
24150         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
24151         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
24152         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
24153         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
24154         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
24155         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
24156         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
24157         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
24158         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
24159         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
24160         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
24161         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
24162         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
24163         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
24164         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
24165         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
24167 2012-03-06  Bruno Haible  <bruno@clisp.org>
24169         math: Update module names in warnings.
24170         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
24171         tanl): Use specific module name in warn-on-use warning.
24173 2012-03-06  Bruno Haible  <bruno@clisp.org>
24175         expl: Simplify computation.
24176         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
24178 2012-03-05  Bruno Haible  <bruno@clisp.org>
24180         exp* tests: More tests.
24181         * tests/test-exp.h: New file.
24182         * tests/test-exp.c: Include <float.h> and test-exp.h.
24183         (main): Invoke test_function.
24184         * tests/test-expf.c: Include <float.h> and test-exp.h.
24185         (main): Invoke test_function.
24186         * tests/test-expl.c: Include <float.h> and test-exp.h.
24187         (main): Invoke test_function.
24188         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
24189         (Makefile.am): Add randomd.c to test_exp_SOURCES.
24190         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
24191         (Makefile.am): Add randomf.c to test_expf_SOURCES.
24192         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
24193         (Depends-on): Add 'float'.
24194         (Makefile.am): Add randoml.c to test_expl_SOURCES.
24196         expl: Fix precision of computed result.
24197         * lib/expl.c: Completely rewritten.
24198         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
24199         (Maintainer): Add me.
24200         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
24202 2012-03-05  Bruno Haible  <bruno@clisp.org>
24204         cbrt* tests: More tests.
24205         * tests/test-cbrt.h: New file.
24206         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
24207         (main): Invoke test_function.
24208         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
24209         (main): Invoke test_function.
24210         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
24211         (main): Invoke test_function.
24212         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
24213         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
24214         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
24215         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
24216         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
24217         (Depends-on): Add 'float'.
24218         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
24220 2012-03-05  Bruno Haible  <bruno@clisp.org>
24222         hypot* tests: More tests.
24223         * tests/test-hypot.h: New file, partially extracted from
24224         tests/test-hypotl.c.
24225         * tests/test-hypot.c: Include test-hypot.h.
24226         (main): Invoke test_function.
24227         * tests/test-hypotf.c: Include test-hypot.h.
24228         (main): Invoke test_function.
24229         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
24230         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
24231         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
24232         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
24233         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
24234         tests/randomf.c.
24235         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
24236         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
24237         tests/randoml.c.
24238         (Depends-on): Add 'fpucw', 'float'.
24239         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
24241 2012-03-05  Bruno Haible  <bruno@clisp.org>
24243         fpucw: Doc about FreeBSD.
24244         * lib/fpucw.h: Mention FreeBSD in comments.
24246 2012-03-04  Bruno Haible  <bruno@clisp.org>
24248         sqrt* tests: More tests.
24249         * tests/test-sqrt.h: New file.
24250         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
24251         (main): Invoke test_function.
24252         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
24253         (main): Invoke test_function.
24254         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
24255         (main): Invoke test_function.
24256         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
24257         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
24258         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
24259         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
24260         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
24261         (Depends-on): Add 'float'.
24262         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
24264 2012-03-04  Bruno Haible  <bruno@clisp.org>
24266         remainder* tests: More tests.
24267         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
24268         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
24269         (main): Invoke test_function.
24270         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
24271         (main): Invoke test_function.
24272         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
24273         (main): Invoke test_function.
24274         * modules/remainder-tests (Files): Add tests/test-remainder.h,
24275         tests/randomd.c.
24276         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
24277         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
24278         tests/randomf.c.
24279         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
24280         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
24281         tests/randoml.c.
24282         (Depends-on): Add 'float'.
24283         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
24285 2012-03-04  Bruno Haible  <bruno@clisp.org>
24287         remainder, remainderf, remainderl: Fix computation for large quotients.
24288         * lib/remainder.c: Completely rewritten.
24289         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
24290         USE_FLOAT.
24291         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
24292         USE_LONG_DOUBLE.
24293         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
24294         isnand, isinf. Remove round, fma.
24295         * modules/remainderf (Files): Add lib/remainder.c.
24296         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
24297         Remove roundf, fmaf.
24298         * modules/remainderl (Files): Add lib/remainder.c.
24299         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
24300         isinf. Remove roundl, fmal.
24301         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
24302         REMAINDER_LIBM.
24303         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
24304         REMAINDERF_LIBM.
24305         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
24306         REMAINDERL_LIBM.
24308 2012-03-04  Bruno Haible  <bruno@clisp.org>
24310         fmod* tests: More tests.
24311         * tests/test-fmod.h (my_ldexp): New function.
24312         (test_function): Reduce amount of random numbers to test. Add tests
24313         of very large quotients x / y.
24314         * tests/test-fmod.c (MAX_EXP): New macro.
24315         * tests/test-fmodf.c (MAX_EXP): Likewise.
24316         * tests/test-fmodl.c (MAX_EXP): Likewise.
24318 2012-03-04  Bruno Haible  <bruno@clisp.org>
24320         fmod, fmodl: Fix computation for large quotients x / y.
24321         * lib/fmod.c: Completely rewritten.
24322         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
24323         USE_LONG_DOUBLE.
24324         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
24325         isnand. Remove fma.
24326         * modules/fmodl (Files): Add lib/fmod.c.
24327         (Depends-on): Add float, isfinite, signbit, fabsl,
24328         frexpl, ldexpl, isnanl. Remove fma.
24329         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
24330         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
24332 2012-03-03  Bruno Haible  <bruno@clisp.org>
24334         fmod* tests: More tests.
24335         * tests/test-fmod.h: New file.
24336         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
24337         (main): Invoke test_function.
24338         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
24339         (main): Invoke test_function.
24340         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
24341         (main): Invoke test_function.
24342         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
24343         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
24344         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
24345         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
24346         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
24347         (Depends-on): Add 'float'.
24348         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
24350 2012-03-03  Bruno Haible  <bruno@clisp.org>
24352         rint* tests: More tests.
24353         * tests/test-rint.h: New file, partially extracted from
24354         tests/test-rintl.c.
24355         * tests/test-rint.c: Include test-rint.h.
24356         (main): Invoke test_function.
24357         * tests/test-rintf.c: Include test-rint.h.
24358         (main): Invoke test_function.
24359         * tests/test-rintl.c: Include test-rint.h.
24360         (main): Invoke test_function.
24361         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
24362         (Makefile.am): Add randomd.c to test_rint_SOURCES.
24363         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
24364         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
24365         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
24366         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
24368 2012-03-03  Bruno Haible  <bruno@clisp.org>
24370         modf* tests: More tests.
24371         * tests/test-modf.h: New file.
24372         * tests/test-modf.c: Include <float.h> and test-modf.h.
24373         (main): Invoke test_function.
24374         * tests/test-modff.c: Include <float.h> and test-modf.h.
24375         (main): Invoke test_function.
24376         * tests/test-modfl.c: Include <float.h> and test-modf.h.
24377         (main): Invoke test_function.
24378         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
24379         (Makefile.am): Add randomd.c to test_modf_SOURCES.
24380         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
24381         (Makefile.am): Add randomf.c to test_modff_SOURCES.
24382         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
24383         (Depends-on): Add 'float'.
24384         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
24386 2012-03-03  Bruno Haible  <bruno@clisp.org>
24388         fabs* tests: More tests.
24389         * tests/test-fabs.h: New file, partially extracted from
24390         tests/test-fabsl.c.
24391         * tests/test-fabs.c (RANDOM): New macro.
24392         * tests/test-fabsf.c (RANDOM): New macro.
24393         * tests/test-fabsl.c (RANDOM): New macro.
24394         * modules/fabs-tests (Files): Add tests/randomd.c.
24395         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
24396         * modules/fabsf-tests (Files): Add tests/randomf.c.
24397         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
24398         * modules/fabsl-tests (Files): Add tests/randoml.c.
24399         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
24401 2012-03-03  Bruno Haible  <bruno@clisp.org>
24403         ldexp* tests: More tests.
24404         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
24405         * tests/test-ldexp.c (RANDOM): New macro.
24406         * tests/test-ldexpf.c (RANDOM): New macro.
24407         * tests/test-ldexpl.c (RANDOM): New macro.
24408         * modules/ldexp-tests (Files): Add tests/randomd.c.
24409         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
24410         * modules/ldexpf-tests (Files): Add tests/randomf.c.
24411         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
24412         * modules/ldexpl-tests (Files): Add tests/randoml.c.
24413         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
24415 2012-03-03  Bruno Haible  <bruno@clisp.org>
24417         frexp* tests: More tests.
24418         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
24419         * tests/test-frexp.c (RANDOM): New macro.
24420         * tests/test-frexpf.c (RANDOM): New macro.
24421         * tests/test-frexpl.c (RANDOM): New macro.
24422         * modules/frexp-tests (Files): Add tests/randomd.c.
24423         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
24424         * modules/frexpf-tests (Files): Add tests/randomf.c.
24425         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
24426         * modules/frexpl-tests (Files): Add tests/randoml.c.
24427         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
24429 2012-03-03  Bruno Haible  <bruno@clisp.org>
24431         Support for pseudo-random numbers in tests.
24432         * tests/randomf.c: New file.
24433         * tests/randomd.c: New file.
24434         * tests/randoml.c: New file.
24435         * tests/macros.h (randomf, randomd, randoml): New declarations.
24437 2012-03-03  Bruno Haible  <bruno@clisp.org>
24439         frexp* tests: Refactor.
24440         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
24441         * tests/test-frexp.c: Include and use it.
24442         * tests/test-frexpf.c: Likewise.
24443         * tests/test-frexpl.c: Likewise.
24444         * modules/frexp-tests (Files): Add tests/test-frexp.h.
24445         * modules/frexpf-tests (Files): Likewise.
24446         * modules/frexpl-tests (Files): Likewise.
24448 2012-03-02  Jim Meyering  <meyering@redhat.com>
24450         maint: don't specify XZ_OPT=-9ev in dist-related rule
24451         Using xz's -9 option is warranted only if you have a very large
24452         tarball (see xz's documentation for the sizes vs. presets), and
24453         requires 64MiB of memory at decompression time.
24454         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
24455         Automake's default of just "-e" is fine.  Override on a
24456         per-package basis by setting XZ_OPT e.g., in cfg.mk.
24458 2012-03-01  Eric Blake  <eblake@redhat.com>
24460         maint.mk: allow announcement for non-gnulib project
24461         * maint.mk (announcement): Skip gnulib version if not used.
24463 2012-03-01  Jim Meyering  <meyering@redhat.com>
24465         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
24466         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
24467         envvar settings cannot interfere.  Otherwise, setting envvars like
24468         prohibit=foo require=bar, etc. would cause spurious test failures.
24470 2012-03-01  Eric Blake  <eblake@redhat.com>
24472         maint.mk: add per-line exclusions to prohibitions
24473         * maint.mk (_sc_search_regexp): Add $exclude parameter.
24474         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
24475         (sc_const_long_option): Use it.
24477 2012-03-01  Bruno Haible  <bruno@clisp.org>
24479         Tests for module 'expl-ieee'.
24480         * modules/expl-ieee-tests: New file.
24481         * tests/test-expl-ieee.c: New file.
24483         New module 'expl-ieee'.
24484         * modules/expl-ieee: New file.
24486         Tests for module 'exp-ieee'.
24487         * modules/exp-ieee-tests: New file.
24488         * tests/test-exp-ieee.c: New file.
24490         New module 'exp-ieee'.
24491         * modules/exp-ieee: New file.
24493         Tests for module 'expf-ieee'.
24494         * modules/expf-ieee-tests: New file.
24495         * tests/test-expf-ieee.c: New file.
24496         * tests/test-exp-ieee.h: New file.
24498         New module 'expf-ieee'.
24499         * modules/expf-ieee: New file.
24501 2012-02-29  Bruno Haible  <bruno@clisp.org>
24503         cbrtl-ieee: Work around test failure on IRIX 6.5.
24504         * m4/cbrtl-ieee.m4: New file.
24505         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
24506         test whether cbrtl works with a minus zero argument. Replace it if not.
24507         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
24508         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
24509         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
24510         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
24511         (Depends-on): Update conditions.
24512         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
24513         m4/signbit.m4.
24514         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
24515         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
24516         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
24518         Tests for module 'cbrtl-ieee'.
24519         * modules/cbrtl-ieee-tests: New file.
24520         * tests/test-cbrtl-ieee.c: New file.
24522         New module 'cbrtl-ieee'.
24523         * modules/cbrtl-ieee: New file.
24525         Tests for module 'cbrt-ieee'.
24526         * modules/cbrt-ieee-tests: New file.
24527         * tests/test-cbrt-ieee.c: New file.
24529         New module 'cbrt-ieee'.
24530         * modules/cbrt-ieee: New file.
24532         Tests for module 'cbrtf-ieee'.
24533         * modules/cbrtf-ieee-tests: New file.
24534         * tests/test-cbrtf-ieee.c: New file.
24535         * tests/test-cbrt-ieee.h: New file.
24537         New module 'cbrtf-ieee'.
24538         * modules/cbrtf-ieee: New file.
24540 2012-02-29  Bruno Haible  <bruno@clisp.org>
24542         cbrtf: Work around bug in IRIX 6.5 system function.
24543         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
24544         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
24545         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
24546         work.
24547         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
24548         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
24549         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
24550         (Depends-on): Update conditions.
24551         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
24553 2012-02-29  Bruno Haible  <bruno@clisp.org>
24555         Tests for module 'cbrtl'.
24556         * modules/cbrtl-tests: New file.
24557         * tests/test-cbrtl.c: New file.
24559         New module 'cbrtl'.
24560         * lib/math.in.h (cbrtl): New declaration.
24561         * lib/cbrtl.c: New file.
24562         * m4/cbrtl.m4: New file.
24563         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
24564         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
24565         HAVE_DECL_CBRTL.
24566         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
24567         HAVE_DECL_CBRTL.
24568         * modules/cbrtl: New file.
24569         * tests/test-math-c++.cc: Check the declaration of cbrtl.
24570         * doc/posix-functions/cbrtl.texi: Mention the new module.
24572 2012-02-29  Bruno Haible  <bruno@clisp.org>
24574         Tests for module 'cbrtf'.
24575         * modules/cbrtf-tests: New file.
24576         * tests/test-cbrtf.c: New file.
24578         New module 'cbrtf'.
24579         * lib/math.in.h (cbrtf): New declaration.
24580         * lib/cbrtf.c: New file.
24581         * m4/cbrtf.m4: New file.
24582         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
24583         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
24584         HAVE_DECL_CBRTF.
24585         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
24586         HAVE_DECL_CBRTF.
24587         * modules/cbrtf: New file.
24588         * tests/test-math-c++.cc: Check the declaration of cbrtf.
24589         * doc/posix-functions/cbrtf.texi: Mention the new module.
24591 2012-02-29  Bruno Haible  <bruno@clisp.org>
24593         cbrt: Provide replacement on MSVC and Minix.
24594         * lib/math.in.h (cbrt): New declaration.
24595         * lib/cbrt.c: New file.
24596         * m4/cbrt.m4: New file.
24597         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
24598         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
24599         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
24600         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
24601         (Depends-on): Add dependencies.
24602         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
24603         * tests/test-math-c++.cc: Check the declaration of cbrt.
24604         * doc/posix-functions/cbrt.texi: Mention that the module provides a
24605         replacement.
24607 2012-02-29  Bruno Haible  <bruno@clisp.org>
24609         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
24610         * m4/hypotl-ieee.m4: New file.
24611         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
24612         test whether hypotl works with mixed NaN and Infinity arguments.
24613         Replace it if not.
24614         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
24615         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
24616         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
24617         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
24618         (Depends-on): Update conditions.
24619         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
24620         (Depends-on): Add hypot-ieee.
24621         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
24622         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
24624         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
24625         * m4/hypotf-ieee.m4: New file.
24626         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
24627         test whether hypotf works with mixed NaN and Infinity arguments.
24628         Replace it if not.
24629         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
24630         (Depends-on): Add hypot-ieee.
24631         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
24632         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
24634         hypot-ieee: Work around test failure on OSF/1 and native Windows.
24635         * lib/math.in.h (hypot): New declaration.
24636         * lib/hypot.c: New file.
24637         * m4/hypot-ieee.m4: New file.
24638         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
24639         whether hypot works with mixed NaN and Infinity arguments. Replace it
24640         if not.
24641         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
24642         REPLACE_HYPOT.
24643         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
24644         * modules/hypot (Files): Add lib/hypot.c.
24645         (Depends-on): Add dependencies.
24646         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
24647         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
24648         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
24649         * tests/test-math-c++.cc: Check the declaration of hypot.
24650         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
24652         Tests for module 'hypotl-ieee'.
24653         * modules/hypotl-ieee-tests: New file.
24654         * tests/test-hypotl-ieee.c: New file.
24656         New module 'hypotl-ieee'.
24657         * modules/hypotl-ieee: New file.
24659         Tests for module 'hypot-ieee'.
24660         * modules/hypot-ieee-tests: New file.
24661         * tests/test-hypot-ieee.c: New file.
24663         New module 'hypot-ieee'.
24664         * modules/hypot-ieee: New file.
24666         Tests for module 'hypotf-ieee'.
24667         * modules/hypotf-ieee-tests: New file.
24668         * tests/test-hypotf-ieee.c: New file.
24669         * tests/test-hypot-ieee.h: New file.
24671         New module 'hypotf-ieee'.
24672         * modules/hypotf-ieee: New file.
24674 2012-02-29  Bruno Haible  <bruno@clisp.org>
24676         Remove unused variables.
24677         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
24678         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
24679         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
24680         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
24682 2012-02-29  Eric Blake  <eblake@redhat.com>
24684         termios: fix pid_t always, not just for tcgetsid
24685         * doc/posix-headers/termios.texi (termios.h): Mention problem.
24686         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
24687         just when building tcgetsid.
24689 2012-02-29  Bruno Haible  <bruno@clisp.org>
24691         Tests for module 'hypotl'.
24692         * modules/hypotl-tests: New file.
24693         * tests/test-hypotl.c: New file.
24695         New module 'hypotl'.
24696         * lib/math.in.h (hypotl): New declaration.
24697         * lib/hypotl.c: New file.
24698         * m4/hypotl.m4: New file.
24699         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
24700         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
24701         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
24702         * modules/hypotl: New file.
24703         * tests/test-math-c++.cc: Check the hypotl declaration.
24704         * doc/posix-functions/hypotl.texi: Mention the new module.
24706 2012-02-29  Eric Blake  <eblake@redhat.com>
24708         tcgetsid: fix cygwin header bug
24709         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
24711         docs: update cygwin progress
24712         * doc/posix-functions/llround.texi (llround): Added in cygwin
24713         1.7.8.
24714         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
24715         * doc/glibc-functions/program_invocation_name.texi
24716         (program_invocation_name): Likewise.
24717         * doc/glibc-functions/program_invocation_short_name.texi
24718         (program_invocation_short_name): Likewise.
24719         * doc/glibc-functions/madvise.texi (madvise): Likewise.
24720         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
24721         Likewise.
24722         * doc/posix-functions/pthread_spin_destroy.texi
24723         (pthread_spin_destroy): Added in cygwin 1.7.10.
24724         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
24725         Likewise.
24726         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
24727         Likewise.
24728         * doc/posix-functions/pthread_spin_trylock.texi
24729         (pthread_spin_trylock): Likewise.
24730         * doc/posix-functions/pthread_spin_unlock.texi
24731         (pthread_spin_unlock): Likewise.
24732         * doc/posix-functions/pthread_setschedprio.texi
24733         (pthread_setschedprio): Likewise.
24734         * doc/posix-functions/pthread_attr_getstack.texi
24735         (pthread_attr_getstack): Likewise.
24736         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
24737         (pthread_attr_getstackaddr): Likewise.
24738         * doc/glibc-functions/pthread_getattr_np.texi
24739         (pthread_getattr_np): Likewise.
24740         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
24741         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
24742         * doc/posix-functions/clock_settime.texi (clock_settime):
24743         Likewise.
24744         * doc/posix-functions/pthread_attr_getguardsize.texi
24745         (pthread_attr_getguardsize): Likewise.
24746         * doc/posix-functions/pthread_attr_setguardsize.texi
24747         (pthread_attr_setguardsize): Likewise.
24748         * doc/posix-functions/pthread_attr_setstack.texi
24749         (pthread_attr_setstack): Likewise.
24750         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
24751         (pthread_attr_setstackaddr): Likewise.
24752         * doc/posix-functions/clock_getcpuclockid.texi
24753         (clock_getcpuclockid): Likewise.
24754         * doc/posix-functions/pthread_getcpuclockid.texi
24755         (pthread_getcpuclockid): Likewise.
24756         * doc/glibc-functions/error.texi (error): Likewise.
24757         * doc/glibc-functions/error_at_line.texi (error_at_line):
24758         Likewise.
24759         * doc/glibc-functions/error_message_count.texi
24760         (error_message_count): Likewise.
24761         * doc/glibc-functions/error_one_per_line.texi
24762         (error_one_per_line): Likewise.
24763         * doc/glibc-functions/error_print_progname.texi
24764         (error_print_progname): Likewise.
24765         * doc/posix-functions/pthread_condattr_getclock.texi
24766         (pthread_condattr_getclock): Likewise.
24767         * doc/posix-functions/pthread_condattr_setclock.texi
24768         (pthread_condattr_setclock): Likewise.
24769         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
24770         Likewise.
24771         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
24772         * doc/glibc-functions/getpt.texi (getpt): Likewise.
24773         * doc/glibc-functions/get_current_dir_name.texi
24774         (get_current_dir_name): Likewise.
24775         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
24776         Likewise.
24777         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
24778         wrong return type.
24779         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
24780         1.7.11.
24782 2012-02-29  Bruno Haible  <bruno@clisp.org>
24784         Tests for module 'hypotf'.
24785         * modules/hypotf-tests: New file.
24786         * tests/test-hypotf.c: New file.
24788         New module 'hypotf'.
24789         * lib/math.in.h (hypotf): New declaration.
24790         * lib/hypotf.c: New file.
24791         * m4/hypotf.m4: New file.
24792         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
24793         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
24794         REPLACE_HYPOTF.
24795         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
24796         REPLACE_HYPOTF.
24797         * modules/hypotf: New file.
24798         * tests/test-math-c++.cc: Check the hypotf declaration.
24799         * doc/posix-functions/hypotf.texi: Mention the new module.
24801         hypot: Prepare for hypotf module.
24802         * m4/hypot.m4: New file.
24803         * modules/hypot (Files): Add m4/hypot.m4.
24804         (configure.ac): Invoke gl_FUNC_HYPOT.
24806 2012-02-29  Bruno Haible  <bruno@clisp.org>
24808         hypot tests: More tests.
24809         * tests/test-hypot.c: Include <float.h>.
24810         (main): Add tests about overflow and underflow.
24812 2012-02-29  Bruno Haible  <bruno@clisp.org>
24814         math code: Add comments.
24815         * lib/acosl.c: Add comment about related glibc source files.
24816         * lib/asinl.c: Likewise.
24817         * lib/atanl.c: Likewise.
24818         * lib/expl.c: Likewise.
24819         * lib/logl.c: Likewise.
24820         * lib/sincosl.c: Likewise.
24821         * lib/sinl.c: Likewise.
24822         * lib/tanl.c: Likewise.
24823         * lib/trigl.c: Likewise.
24824         * lib/cosl.c: Likewise. Fix comments.
24826 2012-02-28  Bruno Haible  <bruno@clisp.org>
24828         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
24829         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
24830         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
24831         HUGE_VALL are defined.
24832         (numeric_equald): Renamed from numeric_equal.
24833         (numeric_equalf, numeric_equall): New functions.
24834         (main): Check also HUGE_VALF, HUGE_VALL.
24835         * modules/math-tests (Files): Add tests/macros.h.
24836         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
24837         HUGE_VALL.
24839 2012-02-28  Bruno Haible  <bruno@clisp.org>
24841         doc: Move ISO C11 feature notes into POSIX chapters.
24842         * doc/posix-functions/aligned_alloc.texi: Renamed from
24843         doc/glibc-functions/aligned_alloc.texi.
24844         * doc/posix-functions/quick_exit.texi: Renamed from
24845         doc/glibc-functions/quick_exit.texi.
24846         * doc/posix-headers/uchar.texi: Renamed from
24847         doc/glibc-headers/uchar.texi.
24848         * doc/posix-functions/c16rtomb.texi: Renamed from
24849         doc/glibc-functions/c16rtomb.texi.
24850         * doc/posix-functions/c32rtomb.texi: Renamed from
24851         doc/glibc-functions/c32rtomb.texi.
24852         * doc/posix-functions/mbrtoc16.texi: Renamed from
24853         doc/glibc-functions/mbrtoc16.texi.
24854         * doc/posix-functions/mbrtoc32.texi: Renamed from
24855         doc/glibc-functions/mbrtoc32.texi.
24856         * doc/gnulib.texi: Update.
24857         (Glibc uchar.h): Remove section.
24858         Suggested by Eric Blake.
24860 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
24862         stdnoreturn: port to MSVC better
24863         MSVC standard headers use __declspec(noreturn), so #define noreturn
24864         to empty on that platform.  Reported by Bruno Haible in
24865         <http://lists.gnu.org/r/bug-gnulib/2012-02/msg00152.html>.
24866         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
24867         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
24869 2012-02-28  Bruno Haible  <bruno@clisp.org>
24871         doc: Mention new glibc headers and functions.
24872         * doc/glibc-headers/uchar.texi: New file.
24873         * doc/glibc-functions/aligned_alloc.texi: New file.
24874         * doc/glibc-functions/c16rtomb.texi: New file.
24875         * doc/glibc-functions/c32rtomb.texi: New file.
24876         * doc/glibc-functions/clock_adjtime.texi: New file.
24877         * doc/glibc-functions/fanotify_init.texi: New file.
24878         * doc/glibc-functions/fanotify_mark.texi: New file.
24879         * doc/glibc-functions/inet6_opt_append.texi: New file.
24880         * doc/glibc-functions/inet6_opt_find.texi: New file.
24881         * doc/glibc-functions/inet6_opt_finish.texi: New file.
24882         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
24883         * doc/glibc-functions/inet6_opt_init.texi: New file.
24884         * doc/glibc-functions/inet6_opt_next.texi: New file.
24885         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
24886         * doc/glibc-functions/inet6_rth_add.texi: New file.
24887         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
24888         * doc/glibc-functions/inet6_rth_init.texi: New file.
24889         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
24890         * doc/glibc-functions/inet6_rth_segments.texi: New file.
24891         * doc/glibc-functions/inet6_rth_space.texi: New file.
24892         * doc/glibc-functions/login.texi: New file.
24893         * doc/glibc-functions/mbrtoc16.texi: New file.
24894         * doc/glibc-functions/mbrtoc32.texi: New file.
24895         * doc/glibc-functions/name_to_handle_at.texi: New file.
24896         * doc/glibc-functions/ntp_gettimex.texi: New file.
24897         * doc/glibc-functions/open_by_handle_at.texi: New file.
24898         * doc/glibc-functions/prlimit.texi: New file.
24899         * doc/glibc-functions/process_vm_readv.texi: New file.
24900         * doc/glibc-functions/process_vm_writev.texi: New file.
24901         * doc/glibc-functions/recvmmsg.texi: New file.
24902         * doc/glibc-functions/scandirat.texi: New file.
24903         * doc/glibc-functions/sendmmsg.texi: New file.
24904         * doc/glibc-functions/setns.texi: New file.
24905         * doc/glibc-functions/timespec_get.texi: New file.
24906         * doc/gnulib.texi: Include them.
24907         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
24908         sections.
24909         Reported by Eric Blake.
24911 2012-02-28  Bruno Haible  <bruno@clisp.org>
24913         Avoid compilation errors with MSVC option -fp:strict.
24914         * lib/floor.c: Use MSVC specific pragma fenv_access.
24915         * lib/ceil.c: Likewise.
24916         * lib/trunc.c: Likewise.
24917         * lib/round.c: Likewise.
24918         * lib/rint.c: Likewise.
24919         * lib/fma.c: Likewise.
24920         * lib/integer_length.c: Likewise.
24921         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
24922         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
24923         * tests/test-floor2.c: Likewise.
24924         * tests/test-floorf2.c: Likewise.
24925         * tests/test-ceil2.c: Likewise.
24926         * tests/test-ceilf2.c: Likewise.
24927         * tests/test-trunc2.c: Likewise.
24928         * tests/test-truncf2.c: Likewise.
24929         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
24931 2012-02-27  Bruno Haible  <bruno@clisp.org>
24933         Tests for module 'sqrtl-ieee'.
24934         * modules/sqrtl-ieee-tests: New file.
24935         * tests/test-sqrtl-ieee.c: New file.
24937         New module 'sqrtl-ieee'.
24938         * modules/sqrtl-ieee: New file.
24940         Tests for module 'sqrt-ieee'.
24941         * modules/sqrt-ieee-tests: New file.
24942         * tests/test-sqrt-ieee.c: New file.
24944         New module 'sqrt-ieee'.
24945         * modules/sqrt-ieee: New file.
24947         Tests for module 'sqrtf-ieee'.
24948         * modules/sqrtf-ieee-tests: New file.
24949         * tests/test-sqrtf-ieee.c: New file.
24950         * tests/test-sqrt-ieee.h: New file.
24952         New module 'sqrtf-ieee'.
24953         * modules/sqrtf-ieee: New file.
24955 2012-02-27  Bruno Haible  <bruno@clisp.org>
24957         remainderl-ieee: Work around test failure on OSF/1.
24958         * m4/remainderl-ieee.m4: New file.
24959         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
24960         present, test whether remainderl works with a zero second argument.
24961         Replace it if not.
24962         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
24963         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
24964         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
24965         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
24966         (Depends-on): Update conditions.
24967         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
24968         (Depends-on): Add remainder-ieee.
24969         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
24970         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
24971         module.
24973         remainderf-ieee: Work around test failure on OSF/1.
24974         * m4/remainderf-ieee.m4: New file.
24975         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
24976         present, test whether remainderf works with a zero second argument.
24977         Replace it if not.
24978         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
24979         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
24980         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
24981         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
24982         (Depends-on): Update conditions.
24983         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
24984         (Depends-on): Add remainder-ieee.
24985         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
24986         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
24987         module.
24989         remainder-ieee: Work around test failure on OSF/1.
24990         * m4/remainder-ieee.m4: New file.
24991         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
24992         present, test whether remainder works with a zero second argument.
24993         Replace it if not.
24994         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
24995         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
24996         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
24997         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
24998         (Depends-on): Update dependencies.
24999         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
25000         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
25001         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
25003         Tests for module 'remainderl-ieee'.
25004         * modules/remainderl-ieee-tests: New file.
25005         * tests/test-remainderl-ieee.c: New file.
25007         New module 'remainderl-ieee'.
25008         * modules/remainderl-ieee: New file.
25010         Tests for module 'remainder-ieee'.
25011         * modules/remainder-ieee-tests: New file.
25012         * tests/test-remainder-ieee.c: New file.
25014         New module 'remainder-ieee'.
25015         * modules/remainder-ieee: New file.
25017         Tests for module 'remainderf-ieee'.
25018         * modules/remainderf-ieee-tests: New file.
25019         * tests/test-remainderf-ieee.c: New file.
25020         * tests/test-remainder-ieee.h: New file.
25022         New module 'remainderf-ieee'.
25023         * modules/remainderf-ieee: New file.
25025 2012-02-27  Bruno Haible  <bruno@clisp.org>
25027         modff, modfl: Fix configure syntax error.
25028         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
25029         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
25031 2012-02-27  Bruno Haible  <bruno@clisp.org>
25033         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
25034         * m4/fmodl-ieee.m4: New file.
25035         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
25036         whether fmodl works with zero arguments. Replace it if not.
25037         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
25038         (Depends-on): Add fmod-ieee.
25039         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
25040         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
25042         fmodf-ieee: Work around test failure on OSF/1.
25043         * m4/fmodf-ieee.m4: New file.
25044         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
25045         whether fmodf works with zero arguments. Replace it if not.
25046         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
25047         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
25048         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
25049         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
25050         (Depends-on): Update dependencies.
25051         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
25052         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
25053         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
25055         fmodf-ieee: Work around test failure on MSVC 9.
25056         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
25057         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
25059         fmod-ieee: Work around test failures on OSF/1, mingw.
25060         * m4/fmod-ieee.m4: New file.
25061         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
25062         whether fmod works with zero arguments. Replace it if not.
25063         * lib/math.in.h (fmod): New declaration.
25064         * lib/fmod.c: New file.
25065         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
25066         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
25067         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
25068         * modules/fmod (Files): Add lib/fmod.c.
25069         (Depends-on): Add math, isinf, trunc, fma.
25070         (configure.ac): Arrange to compile lib/fmod.c if needed.
25071         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
25072         m4/signbit.m4.
25073         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
25074         * tests/test-math-c++.cc: Check the declaration of fmod.
25075         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
25077         fmodl-ieee: Fix test failures.
25078         * lib/fmodl.c (fmodl): Treat Inf specially.
25079         * modules/fmodl (Depends-on): Add isinf.
25081         Tests for module 'fmodl-ieee'.
25082         * modules/fmodl-ieee-tests: New file.
25083         * tests/test-fmodl-ieee.c: New file.
25085         New module 'fmodl-ieee'.
25086         * modules/fmodl-ieee: New file.
25088         Tests for module 'fmod-ieee'.
25089         * modules/fmod-ieee-tests: New file.
25090         * tests/test-fmod-ieee.c: New file.
25092         New module 'fmod-ieee'.
25093         * modules/fmod-ieee: New file.
25095         Tests for module 'fmodf-ieee'.
25096         * modules/fmodf-ieee-tests: New file.
25097         * tests/test-fmodf-ieee.c: New file.
25098         * tests/test-fmod-ieee.h: New file.
25100         New module 'fmodf-ieee'.
25101         * modules/fmodf-ieee: New file.
25103 2012-02-27  Bruno Haible  <bruno@clisp.org>
25105         Tests for module 'rintl-ieee'.
25106         * modules/rintl-ieee-tests: New file.
25107         * tests/test-rintl-ieee.c: New file.
25109         New module 'rintl-ieee'.
25110         * modules/rintl-ieee: New file.
25112         Tests for module 'rint-ieee'.
25113         * modules/rint-ieee-tests: New file.
25114         * tests/test-rint-ieee.c: New file.
25116         New module 'rint-ieee'.
25117         * modules/rint-ieee: New file.
25119         Tests for module 'rintf-ieee'.
25120         * modules/rintf-ieee-tests: New file.
25121         * tests/test-rintf-ieee.c: New file.
25122         * tests/test-rint-ieee.h: New file.
25124         New module 'rintf-ieee'.
25125         * modules/rintf-ieee: New file.
25127 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
25129         regex: re_search etc. should return -2 when memory exhausted
25130         This bug was uncovered when testing 'grep'.  Without the fix,
25131         re_search and friends return -1 when memory is exhausted, but -1
25132         means no match, and this causes grep to falsely report no-match
25133         instead of memory-exhaustion.  See
25134         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
25135         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
25136         trouble; this can occur if re_search_internal ran out of memory.
25138 2012-02-26  Bruno Haible  <bruno@clisp.org>
25140         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
25141         * m4/modfl-ieee.m4: New file.
25142         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
25143         whether modfl works with Inf. Replace it if not.
25144         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
25145         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
25146         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
25147         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
25148         (Depends-on): Update dependencies.
25149         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
25150         m4/signbit.m4.
25151         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
25152         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
25154         modfl-ieee: Fix dependencies.
25155         * modules/modfl-ieee (Depends-on): Add modf-ieee.
25157         modfl-ieee: Fix test failures.
25158         * lib/modfl.c (modfl): Treat NaN and Inf specially.
25159         * modules/modfl (Depends-on): Add isfinite, isinf.
25161         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
25162         * m4/modff-ieee.m4: New file.
25163         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
25164         whether modff works with NaN and Inf. Replace it if not.
25165         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
25166         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
25167         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
25168         * modules/modff (configure.ac): Consider REPLACE_MODFF.
25169         (Depends-on): Update dependencies.
25170         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
25171         m4/signbit.m4.
25172         (Depends-on): Add modf-ieee.
25173         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
25174         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
25176         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
25177         * m4/modf-ieee.m4: New file.
25178         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
25179         whether modf works with NaN and Inf. Replace it if not.
25180         * lib/math.in.h (modf): New declaration.
25181         * lib/modf.c: New file.
25182         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
25183         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
25184         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
25185         * modules/modf (Files): Add lib/modf.c.
25186         (Depends-on): Add math, isfinite, trunc, isinf.
25187         (configure.ac): Addrange to compile lib/modf.c if needed.
25188         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
25189         m4/signbit.m4.
25190         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
25191         * tests/test-math-c++.cc: Check the declaration of modf.
25192         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
25194         Tests for module 'modfl-ieee'.
25195         * modules/modfl-ieee-tests: New file.
25196         * tests/test-modfl-ieee.c: New file.
25198         New module 'modfl-ieee'.
25199         * modules/modfl-ieee: New file.
25201         Tests for module 'modf-ieee'.
25202         * modules/modf-ieee-tests: New file.
25203         * tests/test-modf-ieee.c: New file.
25205         New module 'modf-ieee'.
25206         * modules/modf-ieee: New file.
25208         Tests for module 'modff-ieee'.
25209         * modules/modff-ieee-tests: New file.
25210         * tests/test-modff-ieee.c: New file.
25211         * tests/test-modf-ieee.h: New file.
25213         New module 'modff-ieee'.
25214         * modules/modff-ieee: New file.
25216 2012-02-26  Bruno Haible  <bruno@clisp.org>
25218         Tests for module 'fabsl-ieee'.
25219         * modules/fabsl-ieee-tests: New file.
25220         * tests/test-fabsl-ieee.c: New file.
25222         New module 'fabsl-ieee'.
25223         * modules/fabsl-ieee: New file.
25225         Tests for module 'fabs-ieee'.
25226         * modules/fabs-ieee-tests: New file.
25227         * tests/test-fabs-ieee.c: New file.
25229         New module 'fabs-ieee'.
25230         * modules/fabs-ieee: New file.
25232         Tests for module 'fabsf-ieee'.
25233         * modules/fabsf-ieee-tests: New file.
25234         * tests/test-fabsf-ieee.c: New file.
25235         * tests/test-fabs-ieee.h: New file.
25237         New module 'fabsf-ieee'.
25238         * modules/fabsf-ieee: New file.
25240 2012-02-26  Bruno Haible  <bruno@clisp.org>
25242         Tests for module 'fmal-ieee'.
25243         * modules/fmal-ieee-tests: New file.
25244         * tests/test-fmal-ieee.c: New file.
25246         New module 'fmal-ieee'.
25247         * modules/fmal-ieee: New file.
25249         Tests for module 'fma-ieee'.
25250         * modules/fma-ieee-tests: New file.
25251         * tests/test-fma-ieee.c: New file.
25253         New module 'fma-ieee'.
25254         * modules/fma-ieee: New file.
25256         Tests for module 'fmaf-ieee'.
25257         * modules/fmaf-ieee-tests: New file.
25258         * tests/test-fmaf-ieee.c: New file.
25259         * tests/test-fma-ieee.h: New file.
25261         New module 'fmaf-ieee'.
25262         * modules/fmaf-ieee: New file.
25264 2012-02-26  Bruno Haible  <bruno@clisp.org>
25266         Tests for module 'ldexpl-ieee'.
25267         * modules/ldexpl-ieee-tests: New file.
25268         * tests/test-ldexpl-ieee.c: New file.
25270         New module 'ldexpl-ieee'.
25271         * modules/ldexpl-ieee: New file.
25273         Tests for module 'ldexp-ieee'.
25274         * modules/ldexp-ieee-tests: New file.
25275         * tests/test-ldexp-ieee.c: New file.
25277         New module 'ldexp-ieee'.
25278         * modules/ldexp-ieee: New file.
25280         Tests for module 'ldexpf-ieee'.
25281         * modules/ldexpf-ieee-tests: New file.
25282         * tests/test-ldexpf-ieee.c: New file.
25283         * tests/test-ldexp-ieee.h: New file.
25285         New module 'ldexpf-ieee'.
25286         * modules/ldexpf-ieee: New file.
25288 2012-02-26  Bruno Haible  <bruno@clisp.org>
25290         Refactor frexp*-ieee tests.
25291         * tests/test-frexp-ieee.h: New file.
25292         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
25293         (main): Just call test_function.
25294         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
25295         (main): Just call test_function.
25296         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
25297         (main): Just call test_function.
25298         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
25299         * modules/frexp-ieee-tests (Files): Likewise.
25300         * modules/frexpl-ieee-tests (Files): Likewise.
25302         Tests for module 'frexpl-ieee'.
25303         * modules/frexpl-ieee-tests: New file.
25304         * tests/test-frexpl-ieee.c: New file.
25306         New module 'frexpl-ieee'.
25307         * modules/frexpl-ieee: New file.
25309         Tests for module 'frexp-ieee'.
25310         * modules/frexp-ieee-tests: New file.
25311         * tests/test-frexp-ieee.c: New file.
25313         New module 'frexp-ieee'.
25314         * modules/frexp-ieee: New file.
25316         Tests for module 'frexpf-ieee'.
25317         * modules/frexpf-ieee-tests: New file.
25318         * tests/test-frexpf-ieee.c: New file.
25320         New module 'frexpf-ieee'.
25321         * modules/frexpf-ieee: New file.
25323 2012-02-26  Bruno Haible  <bruno@clisp.org>
25325         roundl-ieee tests: More tests.
25326         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
25327         (main): Add tests for [MX] shaded specification in POSIX.
25328         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25329         (Depends-on): Add isnanl-nolibm.
25331         round-ieee tests: More tests.
25332         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
25333         (main): Add tests for [MX] shaded specification in POSIX.
25334         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25335         (Depends-on): Add isnand-nolibm.
25337         roundf-ieee tests: More tests.
25338         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
25339         (main): Add tests for [MX] shaded specification in POSIX.
25340         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25341         (Depends-on): Add isnanf-nolibm.
25343         truncl-ieee tests: More tests.
25344         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
25345         (main): Add tests for [MX] shaded specification in POSIX.
25346         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25347         (Depends-on): Add isnanl-nolibm.
25349         trunc-ieee tests: More tests.
25350         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
25351         (main): Add tests for [MX] shaded specification in POSIX.
25352         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25353         (Depends-on): Add isnand-nolibm.
25355         truncf-ieee tests: More tests.
25356         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
25357         (main): Add tests for [MX] shaded specification in POSIX.
25358         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25359         (Depends-on): Add isnanf-nolibm.
25361         ceill-ieee tests: More tests.
25362         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
25363         (main): Add tests for [MX] shaded specification in POSIX.
25364         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25365         (Depends-on): Add isnanl-nolibm.
25367         ceil-ieee tests: More tests.
25368         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
25369         (main): Add tests for [MX] shaded specification in POSIX.
25370         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25371         (Depends-on): Add isnand-nolibm.
25373         ceilf-ieee tests: More tests.
25374         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
25375         (main): Add tests for [MX] shaded specification in POSIX.
25376         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25377         (Depends-on): Add isnanf-nolibm.
25379         floorl-ieee tests: More tests.
25380         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
25381         (main): Add tests for [MX] shaded specification in POSIX.
25382         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25383         (Depends-on): Add isnanl-nolibm.
25385         floor-ieee tests: More tests.
25386         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
25387         (main): Add tests for [MX] shaded specification in POSIX.
25388         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25389         (Depends-on): Add isnand-nolibm.
25391         floorf-ieee tests: More tests.
25392         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
25393         (main): Add tests for [MX] shaded specification in POSIX.
25394         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25395         (Depends-on): Add isnanf-nolibm.
25397 2012-02-26  Bruno Haible  <bruno@clisp.org>
25399         fpieee: More comments.
25400         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
25402 2012-02-25  Bruno Haible  <bruno@clisp.org>
25404         Tests for module 'log10l'.
25405         * modules/log10l-tests: New file.
25406         * tests/test-log10l.c: New file.
25407         * tests/test-math-c++.cc: Check the declaration of log10l.
25409         New module 'log10l'.
25410         * lib/math.in.h (log10l): New declaration.
25411         * lib/log10l.c: New file.
25412         * m4/log10l.m4: New file.
25413         * modules/log10l: New file.
25414         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
25415         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
25416         HAVE_DECL_LOG10L.
25417         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
25418         HAVE_DECL_LOG10L.
25419         * doc/posix-functions/log10l.texi: Mention the new module.
25421 2012-02-25  Bruno Haible  <bruno@clisp.org>
25423         fmodl, remainder*: Avoid wrong results due to rounding errors.
25424         * lib/fmodl.c (fmodl): Correct the result if it is not within the
25425         expected bounds.
25426         * lib/remainderf.c (remainderf): Likewise.
25427         * lib/remainder.c (remainder): Likewise.
25428         * lib/remainderl.c (remainderl): Likewise.
25430 2012-02-25  Bruno Haible  <bruno@clisp.org>
25432         Tests for module 'remainderl'.
25433         * modules/remainderl-tests: New file.
25434         * tests/test-remainderl.c: New file.
25435         * tests/test-math-c++.cc: Check the declaration of remainderl.
25437         New module 'remainderl'.
25438         * lib/math.in.h (remainderl): New declaration.
25439         * lib/remainderl.c: New file.
25440         * m4/remainderl.m4: New file.
25441         * modules/remainderl: New file.
25442         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
25443         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
25444         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
25445         HAVE_REMAINDERL.
25446         * doc/posix-functions/remainderl.texi: Mention the new module.
25448 2012-02-25  Bruno Haible  <bruno@clisp.org>
25450         Tests for module 'remainderf'.
25451         * modules/remainderf-tests: New file.
25452         * tests/test-remainderf.c: New file.
25453         * tests/test-math-c++.cc: Check the declaration of remainderf.
25455         New module 'remainderf'.
25456         * lib/math.in.h (remainderf): New declaration.
25457         * lib/remainderf.c: New file.
25458         * m4/remainderf.m4: New file.
25459         * modules/remainderf: New file.
25460         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
25461         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
25462         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
25463         HAVE_REMAINDERF.
25464         * doc/posix-functions/remainderf.texi: Mention the new module.
25466 2012-02-25  Bruno Haible  <bruno@clisp.org>
25468         remainder: Support for MSVC.
25469         * lib/math.in.h (remainder): New declaration.
25470         * lib/remainder.c: New file.
25471         * m4/remainder.m4: New file.
25472         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
25473         (Depends-on): Add math, round, fma.
25474         (configure.ac): Use results of gl_FUNC_REMAINDER.
25475         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
25476         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
25477         HAVE_DECL_REMAINDER.
25478         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
25479         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
25480         * tests/test-math-c++.cc: Check the declaration of remainder.
25481         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
25482         problems are fixed.
25484 2012-02-25  Bruno Haible  <bruno@clisp.org>
25486         Tests for module 'fmodl'.
25487         * modules/fmodl-tests: New file.
25488         * tests/test-fmodl.c: New file.
25489         * tests/test-math-c++.cc: Check the declaration of fmodl.
25491         New module 'fmodl'.
25492         * lib/math.in.h (fmodl): New declaration.
25493         * lib/fmodl.c: New file.
25494         * m4/fmodl.m4: New file.
25495         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
25496         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
25497         REPLACE_FMODL.
25498         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
25499         REPLACE_FMODL.
25500         * modules/fmodl: New file.
25501         * doc/posix-functions/fmodl.texi: Mention the new module.
25503 2012-02-25  Bruno Haible  <bruno@clisp.org>
25505         Tests for module 'modfl'.
25506         * modules/modfl-tests: New file.
25507         * tests/test-modfl.c: New file.
25508         * tests/test-math-c++.cc: Check the declaration of modfl.
25510         New module 'modfl'.
25511         * lib/math.in.h (modfl): New declaration.
25512         * lib/modfl.c: New file.
25513         * m4/modfl.m4: New file.
25514         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
25515         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
25516         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
25517         * modules/modfl: New file.
25518         * doc/posix-functions/modfl.texi: Mention the new module.
25520 2012-02-25  Bruno Haible  <bruno@clisp.org>
25522         Tests for module 'fabsl'.
25523         * modules/fabsl-tests: New file.
25524         * tests/test-fabsl.c: New file.
25525         * tests/test-math-c++.cc: Check the declaration of fabsl.
25527         New module 'fabsl'.
25528         * lib/math.in.h (fabsl): New declaration.
25529         * lib/fabsl.c: New file.
25530         * m4/fabsl.m4: New file.
25531         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
25532         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
25533         REPLACE_FABSL.
25534         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
25535         REPLACE_FABSL.
25536         * modules/fabsl: New file.
25537         * doc/posix-functions/fabsl.texi: Mention the new module.
25539 2012-02-25  Bruno Haible  <bruno@clisp.org>
25541         fabs tests: More tests.
25542         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
25543         (zero): New variable.
25544         (main): Add tests for signed zero.
25545         * modules/fabs-tests (Files): Add tests/minus-zero.h.
25547         fabsf tests: More tests.
25548         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
25549         (zero): New variable.
25550         (main): Add tests for signed zero.
25551         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
25553 2012-02-24  Bruno Haible  <bruno@clisp.org>
25555         atanl: Provide function definition on MSVC.
25556         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
25557         function pointer.
25558         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
25560 2012-02-24  Bruno Haible  <bruno@clisp.org>
25562         acosl: Provide function definition on MSVC.
25563         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
25564         function pointer.
25565         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
25567 2012-02-24  Bruno Haible  <bruno@clisp.org>
25569         asinl: Provide function definition on MSVC.
25570         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
25571         function pointer.
25572         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
25574 2012-02-24  Bruno Haible  <bruno@clisp.org>
25576         tanl: Provide function definition on MSVC.
25577         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
25578         function pointer.
25579         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
25581 2012-02-24  Bruno Haible  <bruno@clisp.org>
25583         cosl: Provide function definition on MSVC.
25584         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
25585         function pointer.
25586         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
25588 2012-02-24  Bruno Haible  <bruno@clisp.org>
25590         sinl: Provide function definition on MSVC.
25591         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
25592         function pointer.
25593         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
25595 2012-02-24  Bruno Haible  <bruno@clisp.org>
25597         logl: Provide function definition on MSVC.
25598         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
25599         function pointer.
25600         * lib/math.in.h (logl): Undefine if it does not exist as a function.
25602 2012-02-24  Bruno Haible  <bruno@clisp.org>
25604         expl: Provide function definition on MSVC.
25605         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
25606         function pointer.
25607         * lib/math.in.h (expl): Undefine if it does not exist as a function.
25609 2012-02-24  Bruno Haible  <bruno@clisp.org>
25611         sqrtl: Provide function definition on MSVC.
25612         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
25613         a function pointer.
25614         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
25616 2012-02-24  Bruno Haible  <bruno@clisp.org>
25618         ceill: Provide function definition on MSVC.
25619         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
25620         used as a function pointer.
25621         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
25623 2012-02-24  Bruno Haible  <bruno@clisp.org>
25625         floorl: Provide function definition on MSVC.
25626         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
25627         used as a function pointer.
25628         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
25630 2012-02-24  Bruno Haible  <bruno@clisp.org>
25632         ceilf: Provide function definition on MSVC.
25633         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
25634         used as a function pointer.
25635         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
25637 2012-02-24  Bruno Haible  <bruno@clisp.org>
25639         floorf: Provide function definition on MSVC.
25640         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
25641         used as a function pointer.
25642         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
25644 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
25646         stdnoreturn: new module
25647         This implements a replacement for C11's <stdnoreturn.h>.
25648         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
25649         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
25650         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
25651         * tests/test-stdnoreturn.c: New files.
25653 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
25655         regex: fix false multibyte matches in some regular expressions
25656         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
25657         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
25658         * lib/regex_internal.c (re_string_skip_chars):
25659         Fix miscomputation of remain_len that may cause incomplete
25660         multi-byte character and false match.
25662 2012-02-24  Jim Meyering  <meyering@redhat.com>
25664         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
25665         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
25666         uses with "==" *before* the call, e.g., 0 == strcmp (...)
25667         Remove now-unnecessary str''cmp obfuscation.
25668         Suggested by Akim Demaille.
25670 2012-02-24  Bruno Haible  <bruno@clisp.org>
25672         streq: Rename macro.
25673         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
25674         * NEWS: Mention the change.
25675         * lib/mbrtowc.c (mbrtowc): Update.
25676         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
25677         * lib/wcwidth.c (wcwidth): Update.
25678         Suggested by Akim Demaille and Jim Meyering.
25680 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
25682         regex: fix typo in definition of MIN
25683         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
25684         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
25686 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
25687             Bruno Haible  <bruno@clisp.org>
25689         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
25690         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
25691         entries into a stack-allocated buffer directly.
25692         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
25694 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
25695             Bruno Haible  <bruno@clisp.org>
25697         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
25699          - There were several instances of this pattern:
25701              for (;;) {
25702                n = acl (f, GETACLCNT, 0, NULL);
25703                [ allocate an array A of size N ]
25704                if (acl (f, GETACL, n, a) == n)
25705                  break;
25706              }
25708            This loop might never terminate if some other process is constantly
25709            manipulating the file's ACL.  The loop should be rewritten to
25710            terminate.
25712          - The acl (... GETACLNT ...) call is merely an optimization; its value
25713            is merely a hint as to how big to make the array.  A better
25714            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
25715            and just guess a reasonably-big size, growing the size and trying
25716            again if it's not large enough.  This guarantees termination, and
25717            saves a system call.
25719         * lib/acl-internal.h: Include <limits.h>.
25720         (MIN, SIZE_MAX): New macros.
25721         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
25722         a stack-allocated buffer, and use malloc if it does not fit. Don't
25723         use GETACLCNT.
25724         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
25726 2012-02-19  Bruno Haible  <bruno@clisp.org>
25728         acl: Fix endless loop on Solaris with vxfs.
25729         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
25730         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
25731         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
25732         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
25733         * tests/test-sameacls.c (main)[Solaris]: Likewise.
25734         Reported by Bill Jones in
25735         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
25737 2012-02-19  Bruno Haible  <bruno@clisp.org>
25739         acl: Fix copy-acl test failure on Solaris 11.0.
25740         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
25741         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
25742         that this function returns 0 in some more cases.
25744 2012-02-19  Bruno Haible  <bruno@clisp.org>
25746         acl: Update doc references.
25747         * doc/acl-resources.txt: Update links to Solaris documentation.
25749 2012-02-19  Bruno Haible  <bruno@clisp.org>
25751         Fix test failure in many locales on Solaris 11.
25752         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
25753         'tr' arguments.
25754         * tests/test-pipe-filter-ii1.c (main): Likewise.
25755         * build-aux/bootstrap (check_versions): Run 'tr' command with range
25756         expressions in the C locale.
25757         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
25758         * m4/host-os.m4 (gl_HOST_OS): Likewise.
25760 2012-02-19  Bruno Haible  <bruno@clisp.org>
25762         gnulib-tool: Improve usage message.
25763         * gnulib-tool (func_usage): Move doc of --help and --version to the
25764         section "Operation modes".
25766 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
25768         README-release: make it easier to execute commands
25769         * top/README-release: break commands out on to separate lines.
25771 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
25773         GNUmakefile: simplify detection of unconfigured trees
25774         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
25775         whether the tree make is being run from is already configured or
25776         not.  Related simplifications.
25778 2012-02-13  Simon Josefsson  <simon@josefsson.org>
25780         * gnulib-tool (func_usage): Document --help and --version.
25782 2012-02-11  Jim Meyering  <meyering@redhat.com>
25784         bootstrap: don't exit 0 upon gnulib-tool failure
25785         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
25786         its exit status, not 0.
25788 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
25790         README-release: various improvements
25791         * top/README-release: Give a command to push changes for the
25792         release.  Add "distcheck" to list of other pre-release checks.
25793         Fix instance of "make stable" which should be "make TYPE".
25795 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
25797         maint: replace FSF snail-mail addresses with URLs
25798         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
25799         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
25800         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
25801         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
25802         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
25803         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
25804         * lib/check-version.c, lib/check-version.h, lib/config.charset:
25805         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
25806         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
25807         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
25808         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
25809         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
25810         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
25811         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
25812         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
25813         * lib/glthread/thread.c, lib/glthread/thread.h:
25814         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
25815         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
25816         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
25817         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
25818         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
25819         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
25820         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
25821         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
25822         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
25823         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
25824         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
25825         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
25826         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
25827         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
25828         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
25829         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
25830         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
25831         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
25832         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
25833         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
25834         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
25835         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
25836         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
25837         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
25838         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
25839         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
25840         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
25841         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
25842         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
25843         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
25844         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
25845         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
25846         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
25847         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
25848         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
25849         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
25850         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
25851         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
25852         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
25853         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
25854         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
25855         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
25856         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
25857         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
25858         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
25859         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
25860         * tests/test-poll.c, tests/test-quotearg-simple.c:
25861         * tests/test-quotearg.c, tests/test-quotearg.h:
25862         * tests/test-round-ieee.c, tests/test-round1.c:
25863         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
25864         * tests/test-roundl-ieee.c, tests/test-roundl.c:
25865         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
25866         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
25867         * tests/test-strerror.c, tests/test-strerror_r.c:
25868         * tests/test-strsignal.c, tests/test-strverscmp.c:
25869         * tests/test-xmemdup0.c:
25870         Replace FSF snail mail addresses with URLs, as per GNU coding
25871         standards.  See glibc bug
25872         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
25874 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
25876         README-release: capitalize a word and split a line
25877         * top/README-release: Fix punctuation and spacing.
25879 2012-02-08  Akim Demaille  <demaille@gostai.com>
25881         fatal-signal: use C prototypes (with explicit void).
25882         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
25883         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
25885 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
25887         regex: spelling fix
25888         * lib/regexec.c: spelling fix
25890         regex: rely on stdint.h for SIZE_MAX
25891         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
25893 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
25895         regex: merge glibc changes
25897         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
25898         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
25899         (init_word_char): Work even if bitset words are not exactly 32 or
25900         64 bits wide.  Don't assume there are no padding bits.
25901         * lib/regex.c [_LIBC]: Do not include <config.h>.
25902         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
25903         and -Wtype-limits.
25904         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
25905         needless disagreement with glibc.  All uses changed.  Define it to
25906         1 only if _GNU_SOURCE, to match glibc.
25907         (_REG_RM_NAME): Remove; no longer needed, since the names in
25908         question are now all protected by __USE_GNU.
25909         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
25910         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
25911         * lib/regex_internal.h (MIN): New macro.
25913         2012-01-03 Ulrich Drepper <drepper@gmail.com>
25914         * lib/regcomp.c (init_word_char): Optimize regex a bit.
25916         2011-12-30 Jakub Jelinek <jakub@redhat.com>
25917         * lib/regex_internal.c (re_string_fetch_byte_case):
25918         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
25919         is miscompiled, and it turns out it is because of an incorrect
25920         attribute on re_string_fetch_byte_case.  Unlike
25921         re_string_peek_byte_case, this one is really not pure, it modifies
25922         memory (increments pstr->cur_idx), and with the pure attribute GCC
25923         assumed it doesn't and it cached the presumed value of
25924         regexp->cur_idx in a variable across the
25925          for (;; ++i)
25926            {
25927              if (i >= BRACKET_NAME_BUF_SIZE)
25928                return REG_EBRACK;
25929              if (token->type == OP_OPEN_CHAR_CLASS)
25930                ch = re_string_fetch_byte_case (regexp);
25931              else
25932                ch = re_string_fetch_byte (regexp);
25933              if (re_string_eoi(regexp))
25934                return REG_EBRACK;
25935              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
25936                break;
25937              elem->opr.name[i] = ch;
25938            }
25940         2011-11-29 Andreas Schwab <schwab@redhat.com>
25941         * lib/regcomp.c (build_equiv_class):
25942         Fix access after end of search string in regex matcher.
25944         2011-11-12 Ulrich Drepper <drepper@redhat.com>
25945         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
25947         2011-10-12 Ulrich Drepper <drepper@redhat.com>
25948         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
25950         2011-10-11 Ulrich Drepper <drepper@redhat.com>
25951         * lib/regcomp.c (parse_branch, parse_sub_exp):
25952         More regex memory leak fixes and tests.
25953         (parse_sub_exp, parse_bracket_exp):
25954         Fix memory leak for some invalid regular expressions.
25956         2011-05-28 Ulrich Drepper <drepper@gmail.com>
25957         * lib/regex_internal.c, lib/regexec.c:
25958         Fix unnecessary overallocation due to incomplete character.  When
25959         incomplete characters are found at the end of a string the code
25960         ran amok and allocated lots of memory.  Stricter limits are now in
25961         place.
25963         2011-05-20 Reuben Thomas <rrt@sc3d.org>
25964         * lib/regex.h: Update documentation.
25966         2011-05-16 Aharon Robbins <arnold@skeeve.com>
25967         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
25969         2010-05-05 Andreas Schwab <schwab@redhat.com>
25970         * lib/regexec.c (find_collation_sequence_value):
25971         Fix lookup of collation sequence value during regexp matching.
25973         2010-01-22 Ulrich Drepper <drepper@redhat.com>
25974         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
25976         2008-01-16 Ulrich Drepper <drepper@redhat.com>
25977         * lib/regex.h: Cleanup namespace.
25979         2007-11-26 Ulrich Drepper <drepper@redhat.com>
25980         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
25982         2007-08-26 Ulrich Drepper <drepper@redhat.com>
25983         * lib/regex_internal.h: Prevent some declarations and definitions
25984         to be seen when used in tests.
25986         2005-05-06 Ulrich Drepper <drepper@redhat.com>
25987         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
25988         __libc_lock_* macros if not _LIBC.
25989         (struct re_dfa_t): Add lock.
25991 2012-02-07  Eric Blake  <eblake@redhat.com>
25993         maint.mk: also prohibit lower-case @var@
25994         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
25995         lower case, like @top_srcdir@.
25997 2012-02-04  Eric Blake  <eblake@redhat.com>
25999         canonicalize: avoid uninitialized memory use
26000         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
26001         random '/' left in dest.
26002         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
26004 2012-02-04  Bruno Haible  <bruno@clisp.org>
26006         isatty: Fix test failure of ptsname_r on native Windows.
26007         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
26008         and don't set errno.
26009         (isatty): Test first whether fd is valid. Set errno when returning 0.
26011 2012-02-04  Bruno Haible  <bruno@clisp.org>
26013         spawn-pipe tests: Fix a NULL program name in a diagnostic.
26014         * tests/test-spawn-pipe-main.c: Include progname.h.
26015         (main): Invoke set_program_name.
26016         * modules/spawn-pipe-tests (Depends-on): Add progname.
26018         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
26019         * tests/test-nonblocking-socket-main.c: Include progname.h.
26020         (main): Invoke set_program_name.
26021         * modules/nonblocking-socket-tests (Depends-on): Add progname.
26023         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
26024         * tests/test-nonblocking-pipe-main.c: Include progname.h.
26025         (main): Invoke set_program_name.
26026         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
26028 2012-02-04  Eric Blake  <eblake@redhat.com>
26030         canonicalize-lgpl: fix // handling
26031         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
26033         canonicalize: fix // handling
26034         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
26035         /// to //, since only // is special.
26037 2012-02-04  Bruno Haible  <bruno@clisp.org>
26039         ioctl: Fix test failure on native Windows.
26040         * lib/ioctl.c: Include msvc-nothrow.h.
26041         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
26043 2012-02-04  Bruno Haible  <bruno@clisp.org>
26045         fsync: Avoid test failure on native Windows.
26046         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
26047         read-only.
26049 2012-02-04  Bruno Haible  <bruno@clisp.org>
26051         sys_select: Avoid syntax error on OpenBSD 5.0.
26052         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
26053         currently being included, just include the system's <sys/select.h>.
26055 2012-02-04  Bruno Haible  <bruno@clisp.org>
26057         sys_select: Avoid syntax error on OpenBSD 5.0.
26058         * lib/sys_select.in.h: Include <signal.h> only after the include_next
26059         <sys/select.h>, not before.
26060         Reported by Jiri B <jirib@devio.us>.
26062 2012-02-04  Bruno Haible  <bruno@clisp.org>
26064         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
26065         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
26066         global variables.
26067         * tests/test-get-rusage-data.c (main): Likewise.
26068         Reported by Jim Meyering.
26070 2012-02-04  Bruno Haible  <bruno@clisp.org>
26072         stdioext: Fix last commit.
26073         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
26075 2012-02-03  Bruno Haible  <bruno@clisp.org>
26077         stdioext: Add tentative support for Plan9.
26078         * lib/stdio-impl.h: Include <errno.h>.
26079         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
26080         * lib/freadable.c (freadable): Likewise.
26081         * lib/fwritable.c (fwritable): Likewise.
26082         * lib/fbufmode.c (fbufmode): Likewise.
26083         * lib/freading.c (freading): Likewise.
26084         * lib/fwriting.c (fwriting): Likewise.
26085         * lib/freadptr.c (freadptr): Likewise.
26086         * lib/freadseek.c (freadptrinc): Likewise.
26087         * lib/freadahead.c (freadahead): Likewise.
26088         * lib/fpurge.c (fpurge): Likewise.
26089         * lib/fseeko.c (rpl_fseeko): Likewise.
26090         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
26091         Reported by Jens Staal <staal1978@gmail.com>.
26093 2012-02-02  Jim Meyering  <meyering@redhat.com>
26095         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
26096         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
26097         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
26098         not even to try to add the attribute.  Instead, add a pragma to suppress
26099         the suggestion/warning.
26101 2012-01-31  Karl Berry  <karl@gnu.org>
26103         setstate doc: typo.
26104         * doc/posix-functions/setstate.texi (setstate): { not (.
26106 2012-01-31  Bruno Haible  <bruno@clisp.org>
26108         popen: Make more robust on Windows.
26109         * lib/popen.c: On native Windows, use the _popen based code even if
26110         HAVE_POPEN is set.
26111         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
26112         environment variable on native Windows.
26114 2012-01-30  Bruno Haible  <bruno@clisp.org>
26116         pclose: Fix typo.
26117         * lib/stdio.in.h (pclose): Fix typo in warning message.
26119 2012-01-30  Bruno Haible  <bruno@clisp.org>
26121         doc about getlogin_r, setstate.
26122         * doc/posix-functions/getlogin_r.texi: List the incompatible
26123         declaration problem under "not fixed by gnulib".
26124         * doc/posix-functions/setstate.texi: Mention incompatible declaration
26125         problem on Solaris 11 and other platforms.
26127 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
26128             Bruno Haible  <bruno@clisp.org>
26130         poll tests: Make test more robust.
26131         * tests/test-poll.c: Include macros.h.
26132         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
26133         return value of various I/O operations.
26134         * modules/poll-tests (Files): Add tests/macros.h.
26136 2012-01-30  Bruno Haible  <bruno@clisp.org>
26138         sys_stat: Fix support for mingw64 and MSVC.
26139         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
26140         header files already do it.
26141         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
26142         stat itself.
26143         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
26145 2012-01-30  Bruno Haible  <bruno@clisp.org>
26147         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
26148         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
26149         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
26151 2012-01-29  Bruno Haible  <bruno@clisp.org>
26153         quotearg: Fix test failure on MacOS X 10.5.
26154         * tests/test-quotearg-simple.c: Include localcharset.h.
26155         (main): If the locale encoding is not ASCII, bypass the tests of
26156         locale_quoting_style and clocale_quoting_style.
26157         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
26159 2012-01-29  Jim Meyering  <meyering@redhat.com>
26161         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
26162         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
26163         detect uses of canonicalize_file_name.
26165 2012-01-28  Bruno Haible  <bruno@clisp.org>
26167         test-framework-sh: Fix test failure with AIX 7.1 diff.
26168         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
26169         in column 1, like 'diff -c' does.
26170         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
26171         whether 'diff -u' is used. Instead, test whether the output contains
26172         some '@' character.
26174 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
26176         strtoimax: eliminate need for stdint.h, inttypes.h checks
26177         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
26178         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
26179         the prerequisites for a recently-introduced strtoimax test.
26180         I guess this might cause strtoimax to be replaced when not
26181         strictly necessary on older hosts, but this shouldn't introduce
26182         any bugs and it should make Emacs 'configure' faster on typical
26183         modern hosts.  Problem discovered when importing the latest gnulib
26184         to an Emacs test version.
26185         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
26187 2012-01-28  Bruno Haible  <bruno@clisp.org>
26189         sys_time: Override 'struct timeval' on some native Windows platforms.
26190         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
26191         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
26192         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
26193         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
26194         needs to be overridden.
26195         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
26196         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
26197         * tests/test-sys_select.c: Check that the tv_sec member has the same
26198         size as a 'time_t'.
26199         * tests/test-sys_time.c: Likewise.
26200         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
26201         is set, set also REPLACE_GETTIMEOFDAY.
26202         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
26203         convert the resulting 'struct timeval' before returning.
26204         * lib/select.c: Include <sys/time.h>.
26205         (select, timeval): Undefine at the right place.
26206         * modules/select (Depends-on): Add sys_time.
26207         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
26208         some Windows platforms.
26209         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
26211 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
26213         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
26214         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
26215         an integer.
26216         * lib/fcntl.c (dupfd): Likewise.
26217         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
26219 2012-01-28  Bruno Haible  <bruno@clisp.org>
26221         fcntl: Avoid compilation error on native Windows.
26222         * modules/fcntl (Depends-on): Add 'close'.
26224 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
26226         select, poll, isatty: Avoid warnings on x86_64 mingw64.
26227         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
26228         pointer to an integer.
26229         * lib/poll.c (IsConsoleHandle): Likewise.
26230         * lib/isatty.c (IsConsoleHandle): Likewise.
26232 2012-01-28  Jim Meyering  <meyering@redhat.com>
26234         doc: clarify README-release
26235         * top/README-release: Clarify: you should make a point to have
26236         the latest stable versions of build tools in your PATH, and the
26237         reference to buildreq is solely for its list of tool names, not
26238         for its minimal-functional version numbers.
26239         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
26241         maint.mk: use more readable (yet functionally equivalent) quoting
26242         It is common to quote a single quote in a single quoted string like
26243         this:  '...'\''...'.  Unless you know the idiom, that looks like
26244         gibberish, so prefer to double-quote the string when possible.
26245         Then you can use a more readable, lone single quote: "...'..."
26246         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
26247         "don't" is more readable than the equivalent 'don'\''t'.
26248         (sc_cast_of_x_alloc_return_value): Likewise.
26249         (sc_cast_of_alloca_return_value): Likewise.
26250         (sc_makefile_path_separator_check): Similar: use ":" in '...',
26251         rather than '\'':'\''.
26253 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
26255         stdalign: relax _Alignof and tighten _Alignas test
26256         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
26257         as it was too strict: alignof must divide offsetof, but it need
26258         not equal offsetof.  Inspired by Joseph S. Myers's comment
26259         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
26260         Conversely, tighten the _Alignas test a bit, as the resulting
26261         alignment must be exactly 8.
26263 2012-01-27  Bruno Haible  <bruno@clisp.org>
26265         stdalign: Document the last change.
26266         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
26268 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
26270         stdalign: check that alignof and offsetof are consistent
26271         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
26272         Problem reported for gnulib by Richard W.M. Jones in
26273         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00340.html>.
26275 2012-01-27  Jim Meyering  <meyering@redhat.com>
26277         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
26278         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
26279         convert a sequence with gaps to the minimal containing range.
26280         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
26281         * tests/test-update-copyright.sh: Test for this.
26282         The FSF confirmed it is ok to do this, assuming there is at
26283         least one significant change per year in the affected range:
26284         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
26286 2012-01-26  Bruno Haible  <bruno@clisp.org>
26288         pipe2: refine doc about thread-safety
26289         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
26290         multithread-safety problem.
26291         * doc/glibc-functions/accept4.texi: Likewise.
26293 2012-01-26  Bruno Haible  <bruno@clisp.org>
26295         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
26296         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
26297         In the test program, include <fcntl.h>, for O_RDONLY.
26299 2012-01-26  Eric Blake  <eblake@redhat.com>
26301         pipe2: document lack of thread-safety in replacement
26302         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
26303         issue in replacement.
26304         * doc/glibc-functions/accept4.texi (accept4): Likewise.
26305         Based on a report by Eric Wong.
26307 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
26308             Bruno Haible  <bruno@clisp.org>
26310         malloca: Avoid warnings on x86_64 mingw64.
26311         * lib/malloca.c: Include <stdint.h>.
26312         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
26313         * modules/malloca (Depends-on): Add stdint.
26314         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
26316 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
26318         obstack: remove __STDC__ conditionals
26319         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
26320         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
26321         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
26322         m4/include_next.m4 as the only gnulib-maintained places that still
26323         refer to __STDC__.
26325 2012-01-24  Bruno Haible  <bruno@clisp.org>
26327         havelib: Modern quoting.
26328         * build-aux/config.rpath: Quote 'like this', not `like this', as per
26329         the recent change to the GNU coding standards.
26331 2012-01-24  Bruno Haible  <bruno@clisp.org>
26333         stdint: Improve support for Android.
26334         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
26335         Reported by Simon Josefsson <simon@josefsson.org>.
26337 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
26339         doc: omit trailing empty lines from INSTALL etc.
26340         * doc/Makefile (INSTALL): Omit trailing empty lines.
26341         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
26342         omit trailing empty lines.  This simplifies the build procedure.
26344 2012-01-23  Jim Meyering  <meyering@redhat.com>
26346         tests: avoid spurious warnings about gl_sockets_startup
26347         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
26348         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
26349         reporting a "statement with no effect".
26350         * tests/test-accept.c (main): Mark as "(void)".
26351         * tests/test-accept4.c (main): Likewise.
26352         * tests/test-bind.c (main): Likewise.
26353         * tests/test-connect.c (main): Likewise.
26354         * tests/test-getpeername.c (main): Likewise.
26355         * tests/test-getsockname.c (main): Likewise.
26356         * tests/test-getsockopt.c (main): Likewise.
26357         * tests/test-listen.c (main): Likewise.
26358         * tests/test-recv.c (main): Likewise.
26359         * tests/test-recvfrom.c (main): Likewise.
26360         * tests/test-send.c (main): Likewise.
26361         * tests/test-sendto.c (main): Likewise.
26362         * tests/test-setsockopt.c (main): Likewise.
26363         * tests/test-shutdown.c (main): Likewise.
26365 2012-01-21  Bruno Haible  <bruno@clisp.org>
26367         locale-fr.m4: Fix for Android.
26368         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
26369         failure of the test program on Bionic libc.
26371 2012-01-21  Jim Meyering  <meyering@redhat.com>
26373         bootstrap: fail when bootstrap_post_import_hook fails
26374         Otherwise, it's far too easy to miss diagnostics emitted
26375         between gnulib-tool's output and that of running configure.
26376         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
26378 2012-01-17  Jim Meyering  <meyering@redhat.com>
26380         maint: enable sc_trailing_blank
26381         * build-aux/pmccabe.css: Remove trailing blanks.
26382         * doc/acl-cygwin.txt: Likewise.
26383         * doc/gnu-oids.texi: Likewise
26384         * cfg.mk: Enable sc_trailing_blank.
26385         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
26387 2012-01-17  Jim Meyering  <meyering@redhat.com>
26389         maint: enable sc_prohibit_openat_without_use
26390         * cfg.mk: Enable sc_prohibit_openat_without_use.
26391         Exempt lib/selinux-at.c.
26393 2012-01-17  Jim Meyering  <meyering@redhat.com>
26395         maint: enable sc_prohibit_cloexec_without_use
26396         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
26397         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
26399 2012-01-17  Jim Meyering  <meyering@redhat.com>
26401         maint: enable sc_prohibit_intprops_without_use
26402         * cfg.mk: Enable sc_prohibit_intprops_without_use
26403         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
26405 2012-01-17  Jim Meyering  <meyering@redhat.com>
26407         maint: enable sc_prohibit_hash_pjw_without_use
26408         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
26409         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
26410         to match any use of \<hash_pjw\>, i.e., not necessarily with a
26411         following " (".
26413 2012-01-17  Jim Meyering  <meyering@redhat.com>
26415         maint: enable double-word-prohibiting rule
26416         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
26417         Exempt three files.
26419 2012-01-17  Jim Meyering  <meyering@redhat.com>
26421         maint: remove empty lines at EOF, but excluding modules/*
26422         Apply syntax rules at home as well as abroad.  Most changes
26423         were induced by running this:
26424           make srcdir=. _build-aux=build-aux -f top/maint.mk \
26425             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
26426             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
26427         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
26428         Exempt modules/* and two binary files.
26429         Also exempt doc/INSTALL*, per request from Bruno Haible.
26430         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
26431         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
26432         * doc/Copyright/request-assign.future: Likewise.
26433         * doc/Copyright/request-disclaim.changes: Likewise.
26434         * doc/INSTALL: Likewise.
26435         * doc/INSTALL.ISO: Likewise.
26436         * doc/INSTALL.UTF-8: Likewise.
26437         * doc/acl-cygwin.txt: Likewise.
26438         * doc/acl-resources.txt: Likewise.
26439         * doc/fdl-1.2.texi: Likewise.
26440         * doc/fdl-1.3.texi: Likewise.
26441         * doc/fdl.texi: Likewise.
26442         * lib/argp-pin.c: Likewise.
26443         * lib/round.c: Likewise.
26444         * lib/unicase/u16-totitle.c: Likewise.
26445         * lib/unictype/block_test.c: Likewise.
26446         * lib/uninorm/canonical-decomposition.c: Likewise.
26447         * m4/README: Likewise.
26448         * m4/relocatable-lib.m4: Likewise.
26449         * tests/test-isnand-nolibm.c: Likewise.
26450         * tests/test-isnand.c: Likewise.
26451         * tests/uninorm/NormalizationTest.txt: Likewise.
26453 2012-01-17  Jim Meyering  <meyering@redhat.com>
26455         maint: add framework to run syntax-check rules against gnulib sources
26456         * cfg.mk: New file, to disable all currently-failing tests.
26457         We'll enable them one by one, as they are made to pass.
26458         * Makefile (sc_maint): New rule.
26460 2012-01-21  Bruno Haible  <bruno@clisp.org>
26462         stdint: Add support for Android.
26463         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
26464         include the system's <stdint.h>.
26465         Reported by Simon Josefsson <simon@josefsson.org>.
26467 2012-01-19  Jim Meyering  <meyering@redhat.com>
26469         bootstrap: add bootstrap_post_import_hook
26470         Bison does still need something like the gnulib_mk_hook whose
26471         invocation I had to remove along with slurp in commit 767ccd40.
26472         Technically, we could get along without it, but doing so would
26473         have required living with a warning and a mandatory post-bootstrap
26474         automake rerun.
26475         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
26476         (bootstrap_post_import_hook): New function.
26477         Invoke it after gnulib-tool --import and before autoreconf.
26479 2012-01-18  Jim Meyering  <meyering@redhat.com>
26481         gitlog-to-changelog: don't use "no_"-prefixed variable name
26482         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
26483         to enable both --cluster and --no-cluster.  Change variable name,
26484         s/\$no_cluster/$cluster/, and reverse usage to match.
26486         gitlog-to-changelog: use "||", not "or" in expressions
26487         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
26488         expressions.
26490 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
26492         gitlog-to-changelog: new option --no-cluster
26493         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
26494         clustering of adjacent commit messages.
26496 2012-01-17  Jim Meyering  <meyering@redhat.com>
26498         maint: spell file systems with two words, not one
26499         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
26500         two words, not one.
26502 2012-01-16  Jim Meyering  <meyering@redhat.com>
26504         bootstrap: add a FIXME comment to ensure we eventually remove the hack
26505         * build-aux/bootstrap (gnulib_tool_options): Add comment.
26507 2012-01-16  Eric Blake  <eblake@redhat.com>
26509         bootstrap: cater to autoconf 2.59
26510         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
26511         is not available.
26513         bootstrap: properly check for libtool
26514         * build-aux/bootstrap (libtoolize): Also run libtool when older
26515         usage is detected.
26517 2012-01-15  Bruno Haible  <bruno@clisp.org>
26519         Improve support for MSVC 9.
26520         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
26521         clashes on MSVC.
26522         * lib/fcntl.in.h: Likewise.
26523         * lib/stdlib.in.h: Likewise.
26524         * lib/sys_stat.in.h: Likewise.
26526 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
26528         gnupload: we hold the master copy of this script now
26529         For motivation and more information, see:
26530         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00222.html>
26531         * build-aux/gnupload: Make it clear in the heading comments that the
26532         master copy of this file is maintained by gnulib.  Since we are at
26533         it, bump its copyright year and ...
26534         ($scriptversion): ... the date in its version.
26535         ($usage): Patches and bug reports should be sent to the gnulib list,
26536         not the automake one.
26537         * config/srclist.txt: Don't try to sync 'gnupload' from automake
26538         anymore.
26540 2012-01-15  Bruno Haible  <bruno@clisp.org>
26542         Fix module 'random'.
26543         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
26544         initstate, setstate are declared.
26546 2012-01-14  Bruno Haible  <bruno@clisp.org>
26548         Tests for module 'random'.
26549         * modules/random-tests: New file.
26550         * tests/test-random.c: New file, based on tests/test-random_r.c.
26552         New module 'random'.
26553         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
26554         declarations.
26555         * lib/random.c: New file, based on glibc/stdlib/random.c.
26556         * m4/random.m4: New file.
26557         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
26558         HAVE_RANDOM.
26559         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
26560         * modules/random: New file.
26561         * config/srclist.txt: Add an entry for random.c.
26562         * doc/posix-functions/random.texi: Mention the 'random' module.
26563         * doc/posix-functions/initstate.texi: Likewise.
26564         * doc/posix-functions/setstate.texi: Likewise.
26565         * doc/posix-functions/srandom.texi: Likewise.
26567 2012-01-12  Bruno Haible  <bruno@clisp.org>
26569         random_r: Use common idioms.
26570         * lib/random_r.c: Include <stdlib.h> first.
26572         random_r: Override incompatible API on AIX, OSF/1.
26573         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
26574         Override the system function if REPLACE_RANDOM_R is 1.
26575         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
26576         and OSF/1, set REPLACE_RANDOM_R.
26577         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
26578         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
26579         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
26580         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
26581         * doc/glibc-functions/random_r.texi: Likewise.
26582         * doc/glibc-functions/setstate_r.texi: Likewise.
26584         random_r: Support for MSVC 9.
26585         * lib/random_r.c: Include stdint.h, not inttypes.h.
26587 2012-01-12  Eric Blake  <eblake@redhat.com>
26589         inet_ntop: guard extra work by IF_LINT
26590         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
26591         better code generation when not checking for warnings.
26592         Suggested by Paul Eggert and Jim Meyering.
26594         strptime: fix regression on mingw
26595         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
26596         Fix regression.  Reported by Bruno Haible.
26598 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
26599             Bruno Haible  <bruno@clisp.org>
26601         copy-file: add error-code-returning variant.
26602         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
26603         (qcopy_file_preserving): New declaration.
26604         * lib/copy-file.c (qcopy_file_preserving): Renamed from
26605         copy_file_preserving. Change return type to 'int'. Don't emit an error
26606         message here.
26607         (copy_file_preserving): New function.
26608         * tests/test-copy-file.c: Include <stdlib.h>.
26609         (main): Test qcopy_file_preserving if the environment variable
26610         NO_STDERR_OUTPUT is set.
26611         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
26612         with NO_STDERR_OUTPUT
26613         * tests/test-copy-file-2.sh: Likewise.
26615 2012-01-10  Bruno Haible  <bruno@clisp.org>
26617         copy-file: Use 'quote' module consistently.
26618         * lib/copy-file.c (copy_file_preserving): Use quote().
26620         copy-file: Refactor.
26621         * lib/copy-file.c: Include quote.h.
26622         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
26623         message here.
26624         * modules/copy-file (Depends-on): Add quote.
26626         acl: Export qcopy_acl.
26627         * lib/acl.h (qcopy_acl): New declaration.
26628         * lib/copy-acl.c (qcopy_acl): Make non-static.
26630         acl: Rename a local variable.
26631         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
26633         acl: Align return values of copy_acl and qcopy_acl.
26634         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
26635         maybe < -1.
26637 2012-01-11  Eric Blake  <eblake@redhat.com>
26639         strptime: silence gcc warnings
26640         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
26641         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
26642         Reported by Daniel P. Berrange.
26644         inet_ntop: silence gcc warning
26645         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
26646         Reported by Daniel P. Berrange.
26648 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
26650         getloadavg test: skip the test on GNU/Linux without /proc mounted
26651         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
26652         file.  When /proc is not mounted, it always fails with ENOENT.
26653         * tests/test-getloadavg.c (main): Treat ENOENT return code from
26654         getloadavg(3) the same way as ENOSYS and ENOTSUP.
26656 2012-01-10  Bruno Haible  <bruno@clisp.org>
26658         regex: Avoid link error on MSVC 9.
26659         * modules/regex (Depends-on): Add wctype.
26661 2012-01-10  Bruno Haible  <bruno@clisp.org>
26663         doc: Mention --with-tests option.
26664         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
26665         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
26666         --with-tests.
26667         Reported by Reuben Thomas.
26669 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
26671         users.txt: order package names lexicographically.
26672         * users.txt: Order package names lexicographically.
26674 2012-01-10  Jim Meyering  <meyering@redhat.com>
26676         maint.mk: fix description in comment
26677         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
26679         ignore-value: remove deprecated ignore_ptr function
26680         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
26681         * NEWS: Note this.
26683 2012-01-09  Jim Meyering  <meyering@redhat.com>
26685         test-init.sh: avoid a subshell
26686         * tests/test-init.sh: Remove protective subshell.
26687         Suggested by Bernhard Voelker.  While a subshell is normally
26688         required to protect against older shells (Solaris, FreeBSD) that
26689         warn about a missing program before performing redirection, the
26690         shell-selection tests performed by init.sh probably exclude any
26691         offending shell.
26693 2012-01-08  Bruno Haible  <bruno@clisp.org>
26695         setlocale tests: Avoid test failure on Solaris 11.0.
26696         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
26697         variable.
26699 2012-01-08  Bruno Haible  <bruno@clisp.org>
26701         posix_spawn_file_actions_addopen: Work around Solaris 11.0 bug.
26702         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
26703         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
26704         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
26705         macro.
26706         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
26707         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
26708         * lib/spawn_faction_addopen.c: Add workaround implementation if
26709         HAVE_WORKING_POSIX_SPAWN.
26710         * modules/spawn (Makefile): Substitute
26711         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
26712         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
26713         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
26714         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
26715         (Depends-on): Update conditions.
26716         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
26717         the Solaris 11 bug.
26719 2012-01-08  Bruno Haible  <bruno@clisp.org>
26721         posix_spawn_file_actions_adddup2: Work around Solaris 11.0 bug.
26722         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
26723         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
26724         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
26725         macro.
26726         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
26727         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
26728         * lib/spawn_faction_adddup2.c: Add workaround implementation if
26729         HAVE_WORKING_POSIX_SPAWN.
26730         * modules/spawn (Makefile): Substitute
26731         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
26732         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
26733         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
26734         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
26735         (Depends-on): Update conditions.
26736         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
26737         the Solaris 11 bug.
26739 2012-01-08  Bruno Haible  <bruno@clisp.org>
26741         posix_spawn_file_actions_addclose: Work around Solaris 11.0 bug.
26742         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
26743         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
26744         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
26745         HAVE_WORKING_POSIX_SPAWN.
26746         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
26747         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
26748         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
26749         * lib/spawn_faction_addclose.c: Add workaround implementation if
26750         HAVE_WORKING_POSIX_SPAWN.
26751         * modules/spawn (Makefile): Substitute
26752         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
26753         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
26754         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
26755         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
26756         (Depends-on): Update conditions.
26757         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
26758         the Solaris 11 bug.
26760 2012-01-08  Bruno Haible  <bruno@clisp.org>
26762         doc: Update for Solaris 11.0.
26763         * doc/*/*.texi: Mention Solaris 11.0 where appropriate.
26764         * m4/printf.m4: Update comments.
26766 2012-01-08  Bruno Haible  <bruno@clisp.org>
26768         mktime: Avoid compilation error on Solaris 11.
26769         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
26771 2012-01-08  Bruno Haible  <bruno@clisp.org>
26773         doc: Small fix.
26774         * doc/posix-headers/nl_types.texi: Correct platforms list.
26776 2012-01-08  Simon Josefsson  <simon@josefsson.org>
26778         Add lgpl-3.0 module.
26779         * MODULES.html.sh (Support for building documentation): Add
26780         lgpl-3.0.
26781         * modules/lgpl-3.0: New file.
26783 2012-01-08  Jim Meyering  <meyering@redhat.com>
26785         select.c: indent with spaces, not TABs
26786         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
26788 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
26790         quotearg: do not use grave accent for left quote
26791         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
26792         locale_quoting_style.
26793         (quotearg_buffer_restyled): Fix example.
26794         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
26796 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
26798         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
26799         Most programs do not have translation catalogs for English and much
26800         less separate catalogs for British and American English.  Drop the
26801         suggestion to translators about these two, and provide it
26802         automatically for Unicode locales.  Like most programs, even those
26803         using American English, we use single quotation marks.  This conflicts
26804         with the American typographic convention, but works better when you
26805         cite the entire error message within double quotes.  It also tries not
26806         to clash with established practice and with what non-gnulib programs
26807         will usually do.
26808         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
26809         using an UTF-8 or GB-18030 locale.  The list of other locales with
26810         quotes was provided by Bruno Haible.
26811         (quotearg_buffer_restyled): Adjust instructions to translators.
26812         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
26813         text, since this would be wrong when using Unicode.
26814         * modules/quotearg: Depend on c-strcaseeq.
26816 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
26818         quotearg: fix Wikipedia link
26819         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
26821 2012-01-07  Simon Josefsson  <simon@josefsson.org>
26823         Fix for mingw with MSVC9.
26824         * m4/ld-version-script.m4: Check that compiler rejects version
26825         scripts with syntax errors.  Reported by Bruno Haible
26826         <bruno@clisp.org>.
26828 2012-01-06  Bruno Haible  <bruno@clisp.org>
26830         Talk about "native Windows API", not "Woe32".
26831         * lib/accept4.c: Update comments to mention native Windows.
26832         * lib/execute.c: Likewise.
26833         * lib/fatal-signal.c: Likewise.
26834         * lib/localcharset.c: Likewise.
26835         * lib/nanosleep.c: Likewise.
26836         * lib/nl_langinfo.c: Likewise.
26837         * lib/pclose.c: Likewise.
26838         * lib/pipe-filter-gi.c: Likewise.
26839         * lib/pipe-filter-ii.c: Likewise.
26840         * lib/pipe.c: Likewise.
26841         * lib/pipe2.c: Likewise.
26842         * lib/popen.c: Likewise.
26843         * lib/progreloc.c: Likewise.
26844         * lib/relocatable.c: Likewise.
26845         * lib/sigaction.c: Likewise.
26846         * lib/sigprocmask.c: Likewise.
26847         * lib/spawn-pipe.h: Likewise.
26848         * lib/spawn-pipe.c: Likewise.
26849         * lib/spawni.c: Likewise.
26850         * lib/stat-time.h: Likewise.
26851         * lib/w32spawn.h: Likewise.
26852         * tests/test-isatty.c: Likewise.
26853         * lib/config.charset: More comments.
26854         * doc/gnulib-intro.texi: Mention native Windows.
26855         * doc/posix-functions/_Exit_C99.texi: Likewise.
26856         * doc/posix-headers/fcntl.texi: Likewise.
26858 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
26860         argp: Avoid crash if translator uses % characters in a translation.
26861         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
26862         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
26864 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
26866         doc: C11 and C++11 are now official
26867         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
26868         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
26869         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
26870         * modules/stdalign:
26871         Replace references to draft C1X to C11, and to draft C++0X to C++11.
26873 2012-01-06  Bruno Haible  <bruno@clisp.org>
26875         uc-is-grapheme-break tests: Tweak.
26876         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
26877         message.
26879 2012-01-06  Bruno Haible  <bruno@clisp.org>
26881         test-init.sh: correct the test for diff -u
26882         * tests/test-init.sh: Also redirect stdout to /dev/null.
26884 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
26886         Use ', not `, for quoting output.
26887         * build-aux/announce-gen (usage, sizes, print_news_deltas)
26888         (print_changelog_deltas, get_tool_versions, main program):
26889         * build-aux/git-version-gen:
26890         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
26891         * build-aux/move-if-change (help):
26892         * build-aux/useless-if-before-free (usage, main program):
26893         * check-module (parse_module_file, usage)
26894         (find_included_lib_files, check_module):
26895         * lib/argmatch.c (main) [TEST]:
26896         * lib/argp-help.c (_help):
26897         * lib/getopt1.c (main) [TEST]:
26898         * lib/git-merge-changelog.c (usage):
26899         * lib/xstrtol-error.c (xstrtol_error):
26900         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
26901         * m4/argz.m4 (gl_FUNC_ARGZ):
26902         * m4/bison.m4 (gl_BISON):
26903         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
26904         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
26905         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
26906         * m4/fpending.m4 (gl_PREREQ_FPENDING):
26907         * m4/gc-random.m4 (gl_GC_RANDOM):
26908         * m4/intl.m4 (gt_CHECK_DECL):
26909         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
26910         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
26911         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
26912         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
26913         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
26914         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
26915         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
26916         * tests/test-dirname.c (main):
26917         * tests/test-getpass.c (main):
26918         * tests/test-iconvme.c (main):
26919         * tests/test-parse-datetime.c (LOG):
26920         * tests/test-xstrtoimax.sh:
26921         * tests/test-xstrtol.sh:
26922         * tests/test-xstrtoll.sh:
26923         * tests/test-xstrtoumax.sh:
26924         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
26925         * top/GNUmakefile (abort-due-to-no-makefile):
26926         Quote 'like this', not `like this', as per the recent change to
26927         the GNU coding standards.
26929 2012-01-05  Bruno Haible  <bruno@clisp.org>
26931         strtoimax: Don't force a replacement on systems where intmax_t is int.
26932         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
26933         'intmax_t' is not larger than 'int'.
26934         Reported by Pádraig Brady <P@draigBrady.com>.
26936 2012-01-05  Bruno Haible  <bruno@clisp.org>
26938         doc: Mention NetBSD bugs.
26939         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
26940         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
26942 2012-01-05  Bruno Haible  <bruno@clisp.org>
26944         strtoumax tests: Enhance tests.
26945         * tests/test-strtoumax.c (main): Add tests for large values.
26947 2012-01-05  Bruno Haible  <bruno@clisp.org>
26949         strtoimax: Work around AIX 5.1 bug.
26950         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
26951         definition.
26952         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
26953         Set HAVE_STRTOIMAX.
26954         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
26955         REPLACE_STRTOIMAX.
26956         * modules/inttypes-incomplete (Makefile.am): Substitute
26957         REPLACE_STRTOIMAX.
26958         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
26959         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
26960         (Depends-on): Update conditions.
26961         * tests/test-strtoimax.c (main): Add tests for large values.
26962         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
26964 2012-01-05  Bruno Haible  <bruno@clisp.org>
26966         inttypes: Modernize.
26967         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
26968         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
26969         (Makefile.am): Update inttypes.h rule.
26971 2012-01-05  Jim Meyering  <meyering@redhat.com>
26973         init.sh: don't waste a subshell just to redirect stderr
26974         * tests/init.sh: In testing for diff -u and diff -c, use a
26975         stderr-redirecting exec inside `...` rather than a subshell.
26977         test-init.sh: avoid failure on HP-UX 11.00
26978         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
26979         resolves to diff -c or cmp.  Reported by Bruno Haible.
26981 2012-01-05  Bruno Haible  <bruno@clisp.org>
26983         Tests for module 'strtoull'.
26984         * modules/strtoull-tests: New file.
26985         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
26987 2012-01-05  Bruno Haible  <bruno@clisp.org>
26989         Tests for module 'strtoll'.
26990         * modules/strtoll-tests: New file.
26991         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
26993 2012-01-05  Bruno Haible  <bruno@clisp.org>
26995         Tests for module 'strtoul'.
26996         * modules/strtoul-tests: New file.
26997         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
26999 2012-01-05  Bruno Haible  <bruno@clisp.org>
27001         Tests for module 'strtol'.
27002         * modules/strtol-tests: New file.
27003         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
27005 2012-01-04  Jim Meyering  <meyering@redhat.com>
27007         test-init.sh: accommodate Solaris 5.10's different diff -u output
27008         * tests/test-init.sh: Also exempt @@ lines from the comparison
27009         of diff output, since Solaris 5.10 and GNU diff formats differ.
27010         Reported by Stefano Lattarini.
27012 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
27014         test-posixtm: don't assume signed integer wraparound
27015         * tests/test-posixtm.c (main): Don't assume wraparound semantics
27016         after signed integer overflow.  Inspired by (though it may not
27017         fix) Bruno Haible's bug report in
27018         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00066.html>.
27020         Spell out "Windows 9x" and "Windows XP".
27021         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
27022         "Windows 9x" and "WinXP" with "Windows XP".
27024 2012-01-04  Jim Meyering  <meyering@redhat.com>
27026         test-vc-list-files-cvs.sh: remove obsolete comment
27027         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
27028         double exit.  Now that's all encapsulated via skip_ and Exit.
27030 2012-01-04  Bruno Haible  <bruno@clisp.org>
27032         Talk about "native Windows API", not "Win32".
27033         * lib/classpath.c: Update comments to mention native Windows.
27034         * lib/csharpexec.c: Likewise.
27035         * lib/dup2.c: Likewise.
27036         * lib/error.c: Likewise.
27037         * lib/fcntl.c: Likewise.
27038         * lib/filename.h: Likewise.
27039         * lib/findprog.c: Likewise.
27040         * lib/get-rusage-as.c: Likewise.
27041         * lib/get-rusage-data.c: Likewise.
27042         * lib/getpagesize.c: Likewise.
27043         * lib/javaexec.c: Likewise.
27044         * lib/msvc-inval.c: Likewise.
27045         * lib/msvc-nothrow.c: Likewise.
27046         * lib/nanosleep.c: Likewise.
27047         * lib/nonblocking.c: Likewise.
27048         * lib/printf-parse.c: Likewise.
27049         * lib/setlocale.c: Likewise.
27050         * lib/sigaction.c: Likewise.
27051         * lib/strerror_r.c: Likewise.
27052         * lib/tmpdir.c: Likewise.
27053         * lib/vasnprintf.c: Likewise.
27054         * lib/w32spawn.h: Likewise.
27055         * lib/waitpid.c: Likewise.
27056         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
27057         * m4/locale-ar.m4: Likewise.
27058         * m4/locale-fr.m4: Likewise.
27059         * m4/locale-ja.m4: Likewise.
27060         * m4/locale-tr.m4: Likewise.
27061         * m4/locale-zh.m4: Likewise.
27062         * m4/printf.m4: Likewise.
27063         * tests/test-cloexec.c: Likewise.
27064         * tests/test-copy-acl.sh: Likewise.
27065         * tests/test-copy-file.sh: Likewise.
27066         * tests/test-file-has-acl.sh: Likewise.
27067         * tests/test-set-mode-acl.sh: Likewise.
27068         * tests/test-dup-safer.c: Likewise.
27069         * tests/test-dup2.c: Likewise.
27070         * tests/test-dup3.c: Likewise.
27071         * tests/test-fcntl.c: Likewise.
27072         * tests/test-nonblocking-pipe.h: Likewise.
27073         * tests/test-nonblocking-socket.h: Likewise.
27074         * tests/test-pipe.c: Likewise.
27075         * tests/test-pipe2.c: Likewise.
27076         * tests/test-spawn-pipe-child.c: Likewise.
27077         * doc/acl-resources.txt: Likewise.
27078         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
27079         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
27080         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
27081         * lib/localcharset.c: Update comments to mention native Windows.
27082         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
27083         * lib/localename.c: Likewise.
27084         * lib/progreloc.c: Likewise.
27085         * lib/relocatable.c: Likewise.
27086         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
27087         (windows_compute_revents): Renamed from win32_compute_revents.
27088         (windows_compute_revents_socket): Renamed from
27089         win32_compute_revents_socket.
27090         * lib/select.c: Update comments to mention native Windows.
27091         (windows_poll_handle): Renamed from win32_poll_handle.
27092         * m4/threadlib.m4: Update comments to mention native Windows.
27093         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
27094         --enable-threads=windows instead of --enable-threads=win32. Set
27095         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
27096         * lib/glthread/lock.h: Update comments to mention native Windows.
27097         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
27098         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
27099         USE_WIN32_THREADS.
27100         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
27101         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
27102         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
27103         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
27104         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
27105         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
27106         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
27107         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
27108         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
27109         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
27110         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
27111         * tests/test-tls.c: Likewise.
27112         Rationale:
27113         Microsoft renamed the "Win32 API" to "Windows API", as it is available
27114         on both 32-bit and 64-bit Windows systems.
27115         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
27116         line of distinction is between "native Windows" on one side and Unix/
27117         POSIX systems on the other side. More details in
27118         <https://lists.gnu.org/r/bug-gnulib/2012-01/msg00027.html>.
27119         Suggested by Paul Eggert.
27121 2012-01-03  Bruno Haible  <bruno@clisp.org>
27123         isatty: Support for MSVC 9.
27124         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
27125         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
27126         (_isatty_nothrow): New function.
27127         (isatty): Use it instead of _isatty.
27128         (IsConsoleHandle): Add comment, from Paolo Bonzini.
27129         * lib/poll.c (IsConsoleHandle): Likewise.
27130         * lib/select.c (IsConsoleHandle): Likewise.
27131         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
27132         (gl_PREREQ_ISATTY): New macro.
27133         * modules/isatty (Depends-on): Add msvc-inval.
27134         (configure.ac): Invoke gl_PREREQ_ISATTY.
27136 2012-01-03  Jim Meyering  <meyering@redhat.com>
27138         maint.mk: remove temporary transition aid from over 1.5 years ago
27139         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
27140         purpose was to aid in the transition (avoiding silent malfunction)
27141         from that old name to the new _sc_search_regexp.  This shim was
27142         added by commit 219c504b.
27144         init.sh: do not try to accommodate compare arguments starting with "-"
27145         * tests/init.sh (compare_dev_null_): Do not try to accommodate
27146         compare arguments that start with "-".  Besides, we do not worry
27147         about this when invoking diff or cmp; why start now with sed?
27148         Using "--" to separate options from argument would trigger sed
27149         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
27150         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
27152 2012-01-02  Bruno Haible  <bruno@clisp.org>
27154         Enhance tests for module 'isatty'.
27155         * modules/isatty-tests (Depends-on): Add pipe-posix.
27156         * tests/test-isatty.c: Include <fcntl.h>.
27157         (DEV_NULL): New macro.
27158         (main): Test the resut of isatty() also on regular files, pipes, and
27159         /dev/null.
27161         New module 'isatty'.
27162         * lib/unistd.in.h (isatty): New declaration.
27163         * lib/isatty.c: New file, based on an idea of
27164         Bastien Roucariès <roucaries.bastien@gmail.com>.
27165         * m4/isatty.m4: New file.
27166         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
27167         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
27168         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
27169         REPLACE_ISATTY.
27170         * modules/isatty: New file.
27171         * doc/posix-functions/isatty.texi: Mention the new module.
27172         Suggested by Paolo Bonzini.
27174 2012-01-02  Bruno Haible  <bruno@clisp.org>
27176         canonicalize: Tweak 2011-12-29 commit.
27177         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
27178         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
27180 2012-01-02  Jim Meyering  <meyering@redhat.com>
27182         gitlog-to-changelog: describe input syntax in --help output
27183         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
27185         gitlog-to-changelog: fix typo in --help: show backslash before email @
27186         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
27187         in sources, but not in actual output.
27189 2011-12-30  Jim Meyering  <meyering@redhat.com>
27191         gitlog-to-changelog: don't malfunction when name contains %-directive
27192         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
27193         in a name string cause trouble.  E.g., with a user name of "%s",
27194         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
27196 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
27198         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
27199         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
27200         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
27201         the "  (tiny change)" notation that is appended to the standard
27202         ChangeLog "date  name  email" header line.
27204 2012-01-01  Jim Meyering  <meyering@redhat.com>
27206         test-framework-sh: init.sh: fix "make dist" failure
27207         When using gnulib-tool's --with-tests option and any module that
27208         depends on test-framework-sh, "make dist" would fail due to the
27209         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
27210         in the gltests directory, and not in the gllib/ directory.
27211         One way to work around that is to move the EXTRA_DIST += init.sh
27212         from the primary module to the -tests one:
27213         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
27214         * modules/test-framework-sh (Makefile.am): ...not here.
27215         Reported by Tom G. Christensen in
27216         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
27218         version-etc: update copyright year reported by --version
27219         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
27221 2011-12-31  Pádraig Brady  <P@draigBrady.com>
27223         canonicalize: only stat() if required
27224         * lib/canonicalize.c (canonicalize_filename_mode):
27225         Avoid calling l?stat() when both CAN_MISSING,
27226         and CAN_NOLINKS are set, as we neither need
27227         to resolve symlinks or test component existence.
27229 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
27231         doc: cover st_ino issues once; add OpenVMS etc.
27232         * doc/posix-functions/stat.texi (stat):
27233         * doc/posix-functions/lstat.texi (lstat):
27234         * doc/posix-functions/fstatat.texi (fstatat):
27235         * doc/posix-functions/fstat.texi (fstat):
27236         Move general 'struct stat' stuff to sys_stat.texi,
27237         leaving behind a pointer.
27238         * doc/posix-headers/sys_stat.texi (sys/stat.h):
27239         Merge duplicate info about 'struct stat' problems into here.
27240         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
27241         and suggest partial workarounds.
27243         same-inode: port to OpenVMS
27244         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
27245         three st_ino values.
27247 2011-12-30  Pádraig Brady  <P@draigBrady.com>
27249         canonicalize: fix references to stat() and lstat()
27250         * lib/canonicalize.c (canonicalize_filename_mode):
27251         Ensure references always resolve to a replacement
27252         function if required (even via a macro).
27254 2011-12-30  Jim Meyering  <meyering@redhat.com>
27256         gitlog-to-changelog: remove a little duplication
27257         * build-aux/gitlog-to-changelog (main): Grep @lines once,
27258         rather than twice.
27260 2011-12-29  Pádraig Brady  <P@draigBrady.com>
27262         canonicalize: add support for not resolving symlinks
27263         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
27264         indicate we don't want to follow symlinks.  Also
27265         provide CAN_MODE_MASK to aid setting these existing
27266         mutually exclusive values.
27267         * lib/canonicalize.c (canonicalize_filename_mode):
27268         Extract the flags from can_mode parameter, which
27269         are currently just used to select between stat()
27270         and lstat().  Also ensure that mutually exclusive
27271         values are flagged immediately as invalid.
27272         * tests/test-canonicalize.c: Verify symlinks are
27273         not followed, and that invalid flag combinations
27274         are diagnosed.
27276 2011-12-25  Jim Meyering  <meyering@redhat.com>
27278         gitlog-to-changelog: do not clump multi-paragraph entries
27279         Identical header lines (date,name,email+coauthors) are suppressed,
27280         thus putting all entries with those same characteristics under
27281         a single header.  However, when a log entry consists of two or
27282         more paragraphs, it may not be clear where it starts and ends.
27283         This change makes it so that such an entry is always separated
27284         from others by a header line, even when that header would
27285         otherwise be suppressed.
27286         * build-aux/gitlog-to-changelog: Implement the above.
27287         Inspired by a related request from Stefano Lattarini in
27288         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
27290 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
27292         announce-gen: fix `cmd' typo in diagnostic
27293         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
27294         diagnostic: a missing '$' meant that the command was not output.
27296 2011-12-23  Jim Meyering  <meyering@redhat.com>
27298         test-framework-sh: distribute init.sh
27299         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
27300         Otherwise, "make -C gnulib-tests check" (at least in grep) would
27301         fail due to the lack of init.sh.
27303         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
27304         * modules/atexit-tests: Rather than listing tests/init.sh,
27305         now that there's a module for it, simply depend on that new module.
27306         * modules/closein-tests: Likewise.
27307         * modules/exclude-tests: Likewise.
27308         * modules/getcwd-tests: Likewise.
27309         * modules/perror-tests: Likewise.
27310         * modules/pread-tests: Likewise.
27311         * modules/pwrite-tests: Likewise.
27312         * modules/vc-list-files-tests: Likewise.
27313         * modules/verify-tests: Likewise.
27314         * modules/xalloc-die-tests: Likewise.
27315         * modules/xstrtoimax-tests: Likewise.
27316         * modules/xstrtol-tests: Likewise.
27317         * modules/xstrtoll-tests: Likewise.
27318         * modules/xstrtoumax-tests: Likewise.
27319         * modules/yesno-tests: Likewise.
27321 2011-12-22  Jim Meyering  <meyering@redhat.com>
27323         test-framework-sh: add minimal tests of init.sh's compare function
27324         * modules/test-framework-sh-tests: New file.
27325         * tests/test-init.sh: New file.
27327         test-framework-sh: new module
27328         * modules/test-framework-sh: New file.
27329         * MODULES.html.sh (Support for maintaining and releasing projects):
27330         List it.
27332         init.sh: do not emit simulated diff output to stderr
27333         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
27335 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
27337         .gitignore: ignore gnulib.dvi and regex.info
27338         * doc/.gitignore:add gnulib.dvi and regex.info
27340 2011-12-22  Jim Meyering  <meyering@redhat.com>
27342         init.sh: correct previous change
27343         * tests/init.sh (compare): My previous change was wrong.
27344         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
27346         init.sh: avoid unwarranted test failure when using "set -e"
27347         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
27348         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
27349         a use like "compare exp out" would get evoke an unconditional failure.
27351 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
27353         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
27354         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
27355         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
27356         autoreconf that did not.
27357         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
27358         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
27360 2011-12-17  Jim Meyering  <meyering@redhat.com>
27362         bootstrap: remove some now-unneeded code
27363         This script arose back when gnulib-tool was young.
27364         Since then, it has seen improvements that render much of this
27365         script unnecessary.  In particular, it can now make symlinks
27366         to the files it uses.  Also, I no longer see as much value in
27367         marking files as read-only via comments.
27368         If you relied on the symlink-creation feature of the preceding
27369         version of this script, you can get most of that functionality
27370         by adding the --symlink option to the definition of
27371         gnulib_tool_option_extras in your bootstrap.conf file.
27372         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
27373         Run autopoint and libtoolize *before* gnulib-tool.
27374         After it, run an abbreviated autoreconf, rather than a loop around
27375         all tools.
27376         (slirp, bt_mark_as_generated): Remove functions.
27378 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
27380         ftoastr: fix typo
27381         * lib/ftoastr.h: Fix misspelling in comment.
27383 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
27385         * top/README-release: fix punctuation.
27387 2011-12-17  Jim Meyering  <meyering@redhat.com>
27389         bootstrap: correct the recent buildreq change
27390         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
27391         had no effect.
27392         * build-aux/bootstrap (buildreq): Bracket each search term with
27393         "*...*", so that the shell "case" statement works as intended.
27394         Add comments.
27396 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
27398         build: let bootstrap resort to wget when downloading .po files
27399         * build-aux/bootstrap (download_po_files): Fallback to wget when
27400         downloading the .po files via rsync fails.  This is necessary to
27401         bootstrap from behind a strict firewall.
27403 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
27405         stdint: don't assume C++11 when compiling with g++
27406         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
27407         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00099.html>.
27408         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
27409         work also in C++ before C++11, as that improperly inhibits
27410         generating a substitute stdint.h for that case.
27412 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
27414         alloca: protect comment from gnulib-tool
27415         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
27416         that gnulib-tool doesn't think it's a license, and munge it to
27417         say "GCC version 3".
27419 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
27421         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
27422         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
27423         $(abs_top_builddir) instead of $(top_builddir).
27425 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
27427         strftime-tests: also test nanoseconds
27428         * tests/test-strftime.c (T): Add a test of %N.
27430 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
27432         inttypes, stdint: add C++11 support
27433         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
27434         when including inttypes.h and stdint.h.  Support this change to
27435         the standard.
27436         * doc/posix-headers/inttypes.texi (inttypes.h):
27437         * doc/posix-headers/stdint.texi (stdint.h): Document this.
27438         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
27439         Define if not defined already, for the benefit of pre-C++11 hosts.
27440         Define the standard format macros (e.g., PRId8) always.
27441         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
27442         Likewise, if __cpluspus.  Define the standard constant and limit
27443         macros (e.g., INT8_C, INT8_MAX) always.
27444         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
27445         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
27446         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
27447         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
27448         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
27449         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
27450         Likewise.
27452 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
27454         nonblocking tests: Fix test failure on Linux/PPC.
27455         Suggested by Prerna Saxena in
27456         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00080.html>.
27457         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
27458         Set to 1100000.
27460 2011-12-12  Jim Meyering  <meyering@redhat.com>
27462         argmatch: don't hard-code `' when listing valid option arguments
27463         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
27464         use the quote function to add quotes.  Use fputs rather than
27465         fprintf for the format string with no format directive.
27467 2011-12-07  Eric Blake  <eblake@redhat.com>
27469         bootstrap: detect tools required by gnulib-tool
27470         * build-aux/bootstrap (buildreq): Provide minimum implicit
27471         dependencies.
27472         * DEPENDENCIES: Mention patch as a prereq.
27474 2011-12-04  Bruno Haible  <bruno@clisp.org>
27476         sethostname: Port to Windows platforms.
27477         * lib/sethostname.c: Provide an alternate implementation for Windows
27478         platforms.
27479         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
27480         (main): Skip the test if sethostname() fails with EPERM. On Windows
27481         platforms, don't check the result of gethostname().
27483 2011-12-04  Bruno Haible  <bruno@clisp.org>
27484             Jim Meyering  <meyering@redhat.com>
27486         tests: Avoid spurious error message on platforms without mktemp program.
27487         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
27489 2011-12-04  Bruno Haible  <bruno@clisp.org>
27491         sethostname: Fix documentation.
27492         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
27493         "not fixed" section.
27495 2011-12-03  Bruno Haible  <bruno@clisp.org>
27497         gnulib-tool: Verify that the License field is present and non-empty.
27498         * gnulib-tool (func_get_license_raw): New function, extracted from
27499         func_get_license.
27500         (func_get_license): Use it. Warn if the module is not a test module and
27501         has no license.
27502         Suggested by Jim Meyering.
27504 2011-12-03  Bruno Haible  <bruno@clisp.org>
27506         sethostname tests: Fix link error on mingw.
27507         * tests/test-sethostname1.c: New file, extracted from
27508         tests/test-sethostname.c.
27509         * tests/test-sethostname2.c: New file, extracted from
27510         tests/test-sethostname.c.
27511         * tests/test-sethostname.c: Remove file.
27512         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
27513         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
27514         (Depends-on): Add gethostname.
27515         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
27516         Link the latter with $(GETHOSTNAME_LIB).
27518         sethostname tests: Fix compilation error on mingw.
27519         * tests/test-sethostname.c: Don't include <sys/types.h>.
27520         (geteuid): Use a dummy value without uid_t.
27521         * modules/sethostname-tests (Depends-on): Remove sys_types.
27523         sethostname tests: Avoid a gcc warning.
27524         * tests/test-sethostname.c (main): Remove an unused variable.
27526         Tweak last commit.
27527         * modules/sethostname-tests (Files): Sort by decreasing importance.
27528         (configure.ac): Check for geteuid.
27529         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
27530         the test when there's nothing to test. Drop an unnecessary cast.
27531         Improve an error message. Verify that the final sethostname() call
27532         succeeds.
27534 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
27536         Add a test suite for the sethostname module.
27537         * modules/sethostname-tests: New file.  A test program
27538         for the sethostname module.
27539         * tests/test-sethostname.c: Likewise.
27541 2011-12-03  Bruno Haible  <bruno@clisp.org>
27543         Tweak last commit.
27544         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
27545         Fix preprocessor directives indentation. Fix typos.
27546         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
27547         * modules/unistd (Makefile): Likewise.
27549 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
27551         Integrate the sethostname module into unistd.
27552         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
27553         into the unistd.h header.
27554         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
27555         preprocessor directives.
27556         * modules/unistd: Setup the Makefile substitutions of the
27557         SETHOSTNAME preprocessor directives.
27559 2011-12-03  Bruno Haible  <bruno@clisp.org>
27561         Tweak last commit.
27562         * lib/sethostname.c: Don't include <string.h>.
27563         (sethostname): No need to copy the argument string to the stack. Don't
27564         call clearerr. Preserve errno when fprintf failed.
27565         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
27566         Don't invoke AC_REPLACE_FUNCS.
27567         * modules/sethostname (Link): Remove empty section.
27568         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
27569         failure problem.
27571 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
27573         New module 'sethostname'.
27574         * lib/sethostname.c (sethostname): New file.  Provide sethostname
27575         for systems that lack it.
27576         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
27577         sethostname declaration and function.
27578         * modules/sethostname: New file.  Define the sethostname module.
27580 2011-12-03  Bruno Haible  <bruno@clisp.org>
27582         Tweak last commit.
27583         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
27585 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
27587         Split the HOST_NAME_MAX detection into a separate m4 macro.
27588         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
27589         macro so it can be used by the pending sethostname module.
27591 2011-12-03  Bruno Haible  <bruno@clisp.org>
27593         Fix module descriptions syntax.
27594         * modules/argv-iter (License): Fix syntax.
27595         * modules/di-set (License): Likewise.
27596         * modules/ino-map (License): Likewise.
27597         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
27599 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
27601         stdalign: port to Clang 3.0
27602         Problem reported by Simon Josefsson in
27603         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00005.html>.
27604         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
27605         which has <stdalign.h> but which does not define alignof.
27606         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
27608 2011-12-01  Eric Blake  <eblake@redhat.com>
27610         mktempd: silence dd usage
27611         * build-aux/mktempd (rand_bytes): Silence dd.
27613 2011-11-30  Simon Josefsson  <simon@josefsson.org>
27615         manywarnings: Don't mention gcc version in docstring.
27616         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
27617         Jim Meyering <meyering@redhat.com>.
27619 2011-11-30  Jim Meyering  <meyering@redhat.com>
27621         hash: mark a few floating point constants with "f" suffix
27622         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
27623         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
27624         floating point constants with "f", since they're destined to be
27625         saved/used as "float"s.
27627 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
27629         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
27630         * tests/test-float.c (test_long_double): Correct and re-enable the
27631         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
27633 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
27635         Avoid subtracting two pointers that don't point into the same block.
27636         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
27637         only pointers into the same memory block are subtracted. We cannot
27638         assume that sizeof (ptrdiff_t) == sizeof (void *).
27640 2011-11-29  Eric Blake  <eblake@redhat.com>
27642         maint.mk: add syntax check for use of compare from init.sh
27643         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
27644         moved here from coreutils.
27646         manywarnings: drop -Wunsuffixed-float-constants
27647         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
27648         '1.0D', which is the only way to silence this warning for 'double'.
27650 2011-11-29  Jim Meyering  <meyering@redhat.com>
27652         hash: mark compute_bucket_size with the pure attribute
27653         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
27655         quotearg, propername: correct pragma guard expression
27656         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
27657         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
27659 2011-11-28  Jim Meyering  <meyering@redhat.com>
27661         propername: do not mark proper_name with the const attribute
27662         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
27663         since it examines data pointed to by its parameter.
27664         * lib/propername.c (proper_name): Instead, add a pragma to suppress
27665         the suggestion from -Wsuggest-attribute=const.
27667         propername: mark one more function as const
27668         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
27670 2011-11-27  Jim Meyering  <meyering@redhat.com>
27672         mark functions with const and pure attributes
27674         Mark functions per suggestions from gcc-4.6 when using these options:
27675         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
27676         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
27677         Follow these guidelines: when possible, apply the attribute to
27678         an extern declaration, not to its definition.  Apply it to the
27679         definition only when the definition is static.
27680         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
27681         * lib/argv-iter.h (argv_iter_n_args): Likewise.
27682         * lib/base64.h (isbase64): Likewise.
27683         * lib/basename-lgpl.c (last_component, base_len): Likewise.
27684         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
27685         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
27686         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
27687         (c_tolower, c_toupper): Likewise.
27688         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
27689         * lib/chdir-long.c (find_non_slash): Likewise.
27690         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
27691         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
27692         * lib/file-type.h (file_type): Likewise.
27693         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
27694         * lib/filevercmp.c (verrevcmp): Likewise.
27695         * lib/freadahead.h (freadahead): Likewise.
27696         * lib/fts.c (fts_maxarglen): Likewise.
27697         * lib/hash-pjw.h (hash_pjw): Likewise.
27698         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
27699         * lib/hash.c (is_prime, next_prime): Likewise.
27700         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
27701         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
27702         (hash_table_ok, hash_get_first, hash_string): Likewise.
27703         (compute_bucket_size): Likewise.
27704         * lib/i-ring.h (i_ring_empty): Likewise.
27705         * lib/isnan.c (isnanl): Likewise.
27706         * lib/math.h (isnanl, rpl_isnanl): Likewise.
27707         * lib/memcasecmp.h (memcasecmp): Likewise.
27708         * lib/memchr2.h (memchr2): Likewise.
27709         * lib/memcmp2.h (memcmp2): Likewise.
27710         * lib/parse-datetime.y (lookup_zone): Likewise.
27711         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
27712         [!WINDOWS_SOCKETS]: Likewise.
27713         * lib/strnlen1.h (strnlen1): Likewise.
27714         * lib/uniwidth.in.h (uc_width): Likewise.
27715         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
27716         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
27717         (quoting_options_from_style): Add a comment.
27718         * lib/propername.h (proper_name): Add a comment.
27720 2011-11-27  Bruno Haible  <bruno@clisp.org>
27722         Remove unused macros from !_LIBC code in glibc-borrowed files.
27723         * lib/fnmatch.c (STRCOLL): Remove macro.
27724         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
27725         * lib/glob.c (__stat, __readdir64): Remove macros.
27726         * lib/tempname.c (__open64, __xstat64): Remove macros.
27727         Suggested by Paul Eggert.
27729 2011-11-27  Bruno Haible  <bruno@clisp.org>
27731         getcwd: Fix link error on MSVC 9.
27732         * modules/getcwd (Depends-on): Add readdir, rewinddir.
27734 2011-11-27  Bruno Haible  <bruno@clisp.org>
27736         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
27737         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
27738         HAVE_OPENDIR is 0.
27739         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
27740         HAVE_CLOSEDIR is 0.
27741         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
27742         is 0.
27743         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
27745 2011-11-27  Bruno Haible  <bruno@clisp.org>
27747         getcwd: Fix bug from 2011-08-17.
27748         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
27749         platforms that need it.
27750         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
27751         code of 4 to be a failure, not a success. This ensures that
27752         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
27754 2011-11-27  Bruno Haible  <bruno@clisp.org>
27756         binary-io tests: Avoid test failure on mingw when libtool is used.
27757         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
27758         Don't verify the size of t-bin-out1.tmp here.
27759         * tests/test-binary-io.sh: Verify it here.
27760         Reported by Simon Josefsson.
27762 2011-11-26  Bruno Haible  <bruno@clisp.org>
27764         Fix conflict between two instantiations of module 'unistd'.
27765         * gnulib-tool (func_emit_autoconf_snippet): Substitute
27766         ${include_guard_prefix} also in the autoconf snippet.
27767         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
27768         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
27769         GNULIB_UNISTD_H_GETOPT.
27770         * modules/getopt-posix (configure.ac): Set the
27771         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
27772         * modules/getopt-gnu (configure.ac): Likewise.
27773         * modules/unistd (Makefile.am): Change the substitution value of
27774         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
27775         Reported by Simon Josefsson.
27777 2011-11-25  Bruno Haible  <bruno@clisp.org>
27779         pagealign_alloc: Doc and comments.
27780         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
27781         module.
27782         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
27784 2011-11-25  Jim Meyering  <meyering@redhat.com>
27786         test-update-copyright.sh: avoid false-positive failure
27787         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
27788         around false positive failure on Cygwin/Windows.  The latter was
27789         matching erroneously-created files with names like
27790         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
27792 2011-11-25  Simon Josefsson  <simon@josefsson.org>
27794         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
27795         * m4/valgrind-tests.m4: Check that the parameters that will be
27796         used works, not just a subset of them.  Reported by Bruno Haible
27797         <bruno@clisp.org>.
27799 2011-11-24  Jim Meyering  <meyering@redhat.com>
27801         test-stdalign.c: comment out long double tests
27802         * tests/test-stdalign.c: Don't try to reduce alignment of long double
27803         variables.  That provokes errors like this from gcc-4.7.0 20111124:
27804         error: '_Alignas' specifiers cannot reduce alignment of \
27805         'static_longdouble_alignas'.
27807 2011-11-22  Jim Meyering  <meyering@redhat.com>
27809         init.sh: make "compare /dev/null FILE" output more readable
27810         * tests/init.sh (compare_): Document the preferred order of arguments.
27811         (emit_diff_u_header_): New function.
27812         (compare_dev_null_): Emit a simulated diff, rather than just the
27813         contents of the unexpected file.  Suggestion from Bruno Haible.
27815 2011-11-21  Jim Meyering  <meyering@redhat.com>
27816             Eric Blake  <eblake@redhat.com>
27818         init.sh: work around OSF/1 5.1's mishandling of /dev/null
27819         * tests/init.sh: Make our compare function slightly more portable.
27820         Reported by Bruno Haible in
27821         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
27823 2011-11-21  Simon Josefsson  <simon@josefsson.org>
27825         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
27826         before using it, in code that ends up in config.h.
27828 2011-11-20  Bruno Haible  <bruno@clisp.org>
27830         getcwd: Work around getcwd bug on AIX 5..7.
27831         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
27832         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
27833         Use a different value for gl_cv_func_getcwd_path_max. Move the
27834         definition of HAVE_PARTLY_WORKING_GETCWD from here...
27835         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
27836         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
27837         Define HAVE_MINIMALLY_WORKING_GETCWD.
27838         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
27839         where it is not even minimally working, that is, on AIX.
27840         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
27841         m4/getcwd-path-max.m4.
27842         (main): Update exit code computation.
27843         * doc/posix-functions/getcwd.texi: Mention list of platforms where
27844         getcwd does not handle long file names.
27846 2011-11-20  Bruno Haible  <bruno@clisp.org>
27848         getcwd: Fix bug from 2009-09-10.
27849         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
27850         like "no".
27852 2011-11-20  Simon Josefsson  <simon@josefsson.org>
27854         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
27856 2011-11-20  Bruno Haible  <bruno@clisp.org>
27858         fma tests: Avoid shadowing local variables.
27859         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
27860         expected.
27862 2011-11-20  Bruno Haible  <bruno@clisp.org>
27864         copysignf tests: Fix.
27865         * tests/test-copysignf.c: Fix signature check.
27867 2011-11-20  Bruno Haible  <bruno@clisp.org>
27869         fma: Remove unused code.
27870         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
27871         unused macros.
27873 2011-11-20  Bruno Haible  <bruno@clisp.org>
27875         sethostname: Fix doc about AIX.
27876         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
27877         sethostname; it has it.
27879         sethostname: Mention more portability problems.
27880         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
27881         problem.
27882         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
27884 2011-11-19  Bruno Haible  <bruno@clisp.org>
27886         Depend on module fcntl-h when AT_FDCWD is used.
27887         * modules/utimens (Depends-on): Add fcntl-h.
27888         * modules/areadlinkat (Depends-on): Likewise.
27889         * modules/areadlinkat-with-size (Depends-on): Likewise.
27890         * modules/faccessat (Depends-on): Likewise.
27891         * modules/fchmodat (Depends-on): Likewise.
27892         * modules/fchownat (Depends-on): Likewise.
27893         * modules/getcwd (Depends-on): Likewise.
27894         * modules/mkdirat (Depends-on): Likewise.
27895         * modules/mkfifoat (Depends-on): Likewise.
27896         * modules/readlinkat (Depends-on): Likewise.
27897         * modules/symlinkat (Depends-on): Likewise.
27898         * modules/dup2-tests (Depends-on): Likewise.
27899         * modules/fdutimensat-tests (Depends-on): Likewise.
27900         * modules/futimens-tests (Depends-on): Likewise.
27902 2011-11-19  Bruno Haible  <bruno@clisp.org>
27904         euidaccess: Update a comment.
27905         * lib/euidaccess.c: Update comment about platforms with faccessat.
27907 2011-11-19  Bruno Haible  <bruno@clisp.org>
27909         openat: Fix file list.
27910         * modules/openat (Files): Remove lib/at-func.c.
27912 2011-11-19  Bruno Haible  <bruno@clisp.org>
27914         fstatat: Simplify.
27915         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
27916         gnulib should define rpl_fstatat, there is a
27917         "#define fstatat rpl_fstatat" in <sys/stat.h>.
27919 2011-11-19  Bruno Haible  <bruno@clisp.org>
27921         Ensure 'inline' can be used in tests/test-utimens-common.h.
27922         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
27923         * modules/futimens-tests (configure.ac): Likewise.
27924         * modules/utimens-tests (configure.ac): Likewise.
27925         * modules/utimensat-tests (configure.ac): Likewise.
27927 2011-11-19  Simon Josefsson  <simon@josefsson.org>
27929         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
27930         not hash_insert0.
27931         (hash_insert_if_absent): Doc fix.
27933 2011-11-19  Simon Josefsson  <simon@josefsson.org>
27935         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
27937 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
27939         test-getcwd: disambiguate exit status
27940         * tests/test-getcwd.c (test_long_name): Return 0..7.
27941         (main): Exit with an unambiguous exit status.  The old
27942         code yielded a mysterious mixture of two failure codes.
27944         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
27945         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
27946         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
27947         rpl_fstatat or fstatat.  This should fix the other problem
27948         reported by Kai Habel in
27949         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
27950         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
27951         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00239.html>
27952         and I reproduced it on a Solaris 8 host we still have in production.
27954 2011-11-18  Jim Meyering  <meyering@redhat.com>
27956         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
27957         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
27958         Add a sentence to the comment.
27959         (hash_insert0): New function that simply calls hash_insert_if_absent.
27960         * lib/hash.h (hash_insert_if_absent): Declare it.
27961         (hash_insert0): Add deprecation attribute.
27962         (_GL_ATTRIBUTE_DEPRECATED): Define.
27963         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
27964         not hash_insert0.
27965         * NEWS: Mention it, even though it's not really an incompatible change.
27967 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
27969         openat: avoid compilation failure due to lack of <errno.h> inclusion
27970         * lib/openat.c: Include <errno.h>.
27972 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
27974         * modules/getcwd (Depends-on): Add fdopendir.
27975         This fixes one of the two problems reported by Kai Habel in
27976         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
27978         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
27979         stdalign problem reported by Ian Beckwith in
27980         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00238.html>.
27981         * modules/crypto/gc-arcfour (Depends-on):
27982         Depend conditionally on crypto/arcfour.
27983         * modules/crypto/gc-arctwo (Depends-on):
27984         Depend conditionally on crypto/arctwo.
27985         * modules/crypto/gc-des (Depends-on):
27986         Depend conditionally on crypto/des.
27987         * modules/crypto/gc-hmac-md5 (Depends-on):
27988         Depend conditionally on crypto/hmac-md5.
27989         * modules/crypto/gc-hmac-sha1 (Depends-on):
27990         Depend conditionally on crypto/hmac-sha1.
27991         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
27992         * modules/crypto/gc-md4 (Depends-on):
27993         Depend conditionally on crypto/md4.
27994         * modules/crypto/gc-md5 (Depends-on):
27995         Depend conditionally on crypto/md5.
27996         * modules/crypto/gc-rijndael (Depends-on):
27997         Depend conditionally on crypto/rijndael.
27998         * modules/crypto/gc-sha1 (Depends-on):
27999         Depend conditionally on crypto/sha1.
28000         * modules/crypto/gc-arcfour:
28001         * modules/crypto/gc-arctwo:
28002         * modules/crypto/gc-des:
28003         * modules/crypto/gc-hmac-md5:
28004         * modules/crypto/gc-hmac-sha1:
28005         * modules/crypto/gc-md2:
28006         * modules/crypto/gc-md4:
28007         * modules/crypto/gc-md5:
28008         * modules/crypto/gc-rijndael:
28009         * modules/crypto/gc-sha1:
28010         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
28011         now that the conditional dependencies do the work for us.
28013 2011-11-17  Jim Meyering  <meyering@redhat.com>
28015         tests: factor st_ctime-comparison out of two headers
28016         * tests/test-utimens-common.h (ctime_compare): Define.
28017         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
28018         * tests/test-lutimens.h (test_lutimens): Likewise.
28019         * tests/test-utimens.h (test_utimens): Likewise.
28021         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
28022         Invoke the test program via an init.sh-using wrapper.
28023         * tests/test-getcwd.sh: New file.
28024         * modules/getcwd-tests (Files): Add it.
28025         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
28027 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
28029         gitlog-to-changelog: support multi-author commits.
28030         The FSF cares about keeping track of all authors of patches to its
28031         projects, but Git doesn't provide obvious support for multi-author
28032         changesets. Consensus seems to be forming around the use of extra
28033         Signed-off-by inspired lines in the log message formatted as
28034         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
28035         multi-author commits between version control systems.
28036         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
28037         log message and output in standard ChangeLog multi-author format.
28038         Reported by Peter Rosin <peda@lysator.liu.se>
28040 2011-11-15  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
28041             Bruno Haible  <bruno@clisp.org>
28043         Fix some modules' file list.
28044         * modules/fstatat (Files): Add m4/lstat.m4.
28045         * modules/openat (Files): Likewise.
28046         * modules/unlinkat (Files): Likewise.
28048 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
28050         maint.mk: fix tight-scope.mk generation in VPATH builds.
28051         * top/maint.mk (tight-scope.mk): Make sure to prefix file
28052         reference with $(srcdir) so that the file is found correctly even
28053         when running `make syntax-check' in a VPATH build.
28055 2011-11-13  Bruno Haible  <bruno@clisp.org>
28056             Jim Meyering  <meyering@redhat.com>
28058         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
28059         * tests/init.sh (compare): Remove "No differences encountered" or
28060         synonymous output from the 'diff' program.
28062 2011-11-13  Bruno Haible  <bruno@clisp.org>
28064         Makefile: Tweak indentation.
28065         * Makefile: Use tab as first character in every line that contains rule
28066         commands.
28068 2011-11-13  Bruno Haible  <bruno@clisp.org>
28070         Syntax check for copyright statements.
28071         * check-copyright: New file.
28072         * Makefile (sc_check_copyright): New rule.
28074 2011-11-13  Simon Josefsson  <simon@josefsson.org>
28076         * build-aux/git-version-gen: Add --prefix to configure the tag
28077         match string.
28079 2011-11-13  Simon Josefsson  <simon@josefsson.org>
28081         * build-aux/git-version-gen: Add --help and --version.
28083 2011-11-12  Jim Meyering  <meyering@redhat.com>
28085         revamp the other test-exclude?.sh scripts to use init.sh, too
28086         * tests/test-exclude1.sh: Use init.sh.
28087         * tests/test-exclude2.sh: Likewise.
28088         * tests/test-exclude3.sh: Likewise.
28089         * tests/test-exclude4.sh: Likewise.
28090         * tests/test-exclude5.sh: Likewise.
28091         * tests/test-exclude6.sh: Likewise.
28092         * tests/test-exclude7.sh: Likewise.
28093         * tests/test-exclude8.sh: Likewise.
28094         * modules/exclude-tests (Files): List init.sh.
28096         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
28097         These shell scripts ignored failure of the binary test-exclude,
28098         so making the latter return 77 didn't cause them to be skipped.
28099         * tests/test-exclude5.sh: Exit with test-exclude's error status
28100         when that program fails.  Revamp to use init.sh.
28101         * tests/test-exclude2.sh: Likewise.
28103         test-exclude: fix a typo
28104         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
28106 2011-11-11  Bruno Haible  <bruno@clisp.org>
28108         obstack: Fix compilation error on MSVC 9.
28109         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
28111 2011-11-11  Jim Meyering  <meyering@redhat.com>
28113         test-exclude: skip tests rather than failing on deficient systems
28114         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
28115         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
28116         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
28117         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
28119 2011-11-10  Bruno Haible  <bruno@clisp.org>
28121         ptsname_r test: Avoid gcc warning on glibc systems.
28122         * tests/test-ptsname_r.c (null_ptr): New function.
28123         (test_errors): Use it.
28125 2011-11-10  Bruno Haible  <bruno@clisp.org>
28127         ptsname_r: Avoid compilation error on OSF/1 5.1.
28128         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
28129         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
28130         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
28131         function is not declared or incompatibly declared.
28132         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
28133         * modules/ptsname_r (Depends-on, configure.ac): Update.
28134         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
28136 2011-11-10  Bruno Haible  <bruno@clisp.org>
28138         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
28139         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
28140         When cross-compiling, guess yes on all platforms except AIX.
28141         Reported by Ludovic Courtès <ludo@gnu.org>.
28143 2011-11-09  Bruno Haible  <bruno@clisp.org>
28145         ptsname_r tests: Fix bugs.
28146         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
28147         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
28149 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
28151         fstatat: work with cross-compilation
28152         Problem reported by Ludovic Courtès in
28153         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00136.html>.
28154         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
28155         "cross-compiling" and assume the bug is present.  Replace
28156         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
28157         an inverted sense, to be more conservative about our assumptions.
28158         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
28160 2011-11-09  Bruno Haible  <bruno@clisp.org>
28162         Improve MODULES.html output.
28163         * modules/mkfifoat (Description): Use the word "function".
28164         * modules/readlinkat (Description): Likewise.
28165         * modules/symlinkat (Description): Likewise.
28167 2011-11-09  Eric Blake  <eblake@redhat.com>
28169         ptsname_r-tests: new test module
28170         * modules/ptsname_r-tests: New module.
28171         * tests/test-ptsname_r.c: New file.
28173         ptsname_r: new module
28174         * modules/ptsname_r: New module.
28175         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
28176         * lib/ptsname.c (__ptsname_r): Split...
28177         * lib/ptsname_r.c: ...into new file.
28178         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
28179         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
28180         * modules/stdlib (Makefile.am): Substitute witnesses.
28181         * lib/stdlib.in.h (ptsname_r): Declare it.
28182         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
28183         * MODULES.html.sh (Misc): Likewise.
28184         * modules/ptsname (Depends-on): Alter dependency.
28185         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
28187 2011-11-09  Jim Meyering  <meyering@redhat.com>
28189         announce-gen: be more concise when there's only one URL+tarball
28190         * build-aux/announce-gen (get_tool_versions): When you distribute
28191         only one type of tarball, combine the first two "Here are..."
28192         sections and make the key-checking grammar independent of
28193         how many tarballs there are.
28195 2011-11-09  Eric Blake  <eblake@redhat.com>
28197         openpty: provide a stub on mingw
28198         * lib/pty.in.h (includes): Provide forward declarations.
28199         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
28201         raise: fix mingw handling of SIGPIPE
28202         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
28204 2011-11-08  Bruno Haible  <bruno@clisp.org>
28206         More conditional dependencies.
28207         * modules/faccessat (Depends-on): Add conditions.
28208         * modules/fchmodat (Depends-on): Likewise.
28209         * modules/fchownat (Depends-on): Likewise.
28210         * modules/fstatat (Depends-on): Likewise.
28211         * modules/mkfifoat (Depends-on): Likewise.
28212         * modules/readlinkat (Depends-on): Likewise.
28213         * modules/symlinkat (Depends-on): Likewise.
28214         * modules/unlinkat (Depends-on): Likewise.
28215         * modules/utimensat (Depends-on): Likewise.
28216         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
28217         * modules/linkat (Depends-on): Refine the conditions.
28218         * modules/renameat (Depends-on): Likewise.
28220 2011-11-08  Bruno Haible  <bruno@clisp.org>
28222         faccessat: Move AC_LIBOBJ invocation to module description.
28223         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
28224         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
28225         invocation from here...
28226         * modules/faccessat (configure.ac): ... to here. Invoke
28227         gl_PREREQ_FACCESSAT.
28229 2011-11-08  Bruno Haible  <bruno@clisp.org>
28231         faccessat: Simplify autoconf macro.
28232         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
28233         gl_FUNC_EUIDACCESS.
28235 2011-11-08  Bruno Haible  <bruno@clisp.org>
28237         renameat: Fix dependencies.
28238         * modules/renameat (Depends-on): Add stdbool.
28240 2011-11-08  Bruno Haible  <bruno@clisp.org>
28242         mkfifoat: Fix module description.
28243         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
28244         not gl_UNISTD_MODULE_INDICATOR.
28246 2011-11-08  Bruno Haible  <bruno@clisp.org>
28248         fstatat: Remove unused dependency.
28249         * modules/fstatat (Depends-on): Remove fstat.
28251 2011-11-08  Simon Josefsson  <simon@josefsson.org>
28253         GNUmakefile: behave when Makefile is missing.
28254         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
28256 2011-11-08  Bruno Haible  <bruno@clisp.org>
28258         openat: Conditionalize dependencies.
28259         * lib/openat.c: Reduce the scope of some #includes.
28260         * modules/openat (Depends-on): Add conditions.
28262 2011-11-07  Jim Meyering  <meyering@redhat.com>
28264         maint.mk: extract GPG key ID without using a temporary file
28265         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
28266         without using a temporary file.  Based on a suggestion from Werner Koch
28267         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
28269 2011-11-07  Eric Blake  <eblake@redhat.com>
28271         grantpt: fix typo
28272         * lib/stdlib.in.h (grantpt): Check correct function.
28274         maint.mk: silence new syntax check
28275         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
28277 2011-11-06  Bruno Haible  <bruno@clisp.org>
28279         Doc about floating-point and math API.
28280         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
28281         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
28283 2011-11-06  Bruno Haible  <bruno@clisp.org>
28285         stdalign tests: Skip the test when compiled by Sun C.
28286         * tests/test-stdalign.c (main): Skip the test on Sun C.
28288 2011-11-06  Bruno Haible  <bruno@clisp.org>
28290         ansi-c++-opt: Complete the 2011-06-05 change.
28291         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
28292         does not support namespaces, set the variable to "no", not to ":".
28294 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
28296         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
28298 2011-11-06  Bruno Haible  <bruno@clisp.org>
28300         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
28301         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
28302         (minus_zerol) [HP-UX]: New macro.
28303         (unary_minus) [HP-UX]: New function.
28304         (copysignl) [HP-UX]: Use unary_minus function.
28306 2011-11-06  Bruno Haible  <bruno@clisp.org>
28308         ldexp, ldexpf, ldexpl: Enhance tests.
28309         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
28310         and tests/test-ldexpl.c.
28311         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
28312         LDEXP, MIN_EXP, MAX_EXP): New macros.
28313         Include test-ldexp.h.
28314         (main): Just call test_function.
28315         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
28316         infinity.h, nan.h.
28317         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
28318         MAX_EXP): New macros.
28319         Include test-ldexp.h.
28320         (x, y): Remove variables.
28321         (main): Just call test_function.
28322         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
28323         infinity.h, nan.h.
28324         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
28325         MAX_EXP): New macros.
28326         Include test-ldexp.h.
28327         (x, y): Remove variables.
28328         (main): Just call test_function.
28329         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
28330         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
28331         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
28332         (Depends-on): Add isnand-nolibm, signbit, float.
28333         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
28334         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
28335         (Depends-on): Add isnanf-nolibm, signbit, float.
28337 2011-11-06  Bruno Haible  <bruno@clisp.org>
28339         math tests: Cosmetics.
28340         * tests/test-math-c++.cc: Reorder declarations.
28342 2011-11-05  Bruno Haible  <bruno@clisp.org>
28344         fma*: Simplify test.
28345         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
28346         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
28348         Tests for module 'fmal'.
28349         * modules/fmal-tests: New file.
28350         * tests/test-fmal1.c: New file.
28351         * tests/test-fmal2.c: New file.
28353         New module 'fmal'.
28354         * lib/math.in.h (fmal): New declaration.
28355         * lib/fmal.c: New file.
28356         * m4/fmal.m4: New file.
28357         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
28358         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
28359         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
28360         REPLACE_FMAL.
28361         * modules/fmal: New file.
28362         * doc/posix-functions/fmal.texi: Mention the new module and the various
28363         bugs.
28365         Tests for module 'fmaf'.
28366         * modules/fmaf-tests: New file.
28367         * tests/test-fmaf1.c: New file.
28368         * tests/test-fmaf2.c: New file.
28370         New module 'fmaf'.
28371         * lib/math.in.h (fmaf): New declaration.
28372         * lib/fmaf.c: New file.
28373         * m4/fmaf.m4: New file.
28374         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
28375         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
28376         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
28377         REPLACE_FMAF.
28378         * modules/fmaf: New file.
28379         * doc/posix-functions/fmaf.texi: Mention the new module and the various
28380         bugs.
28382         Tests for module 'fma'.
28383         * modules/fma-tests: New file.
28384         * tests/test-fma1.c: New file.
28385         * tests/test-fma1.h: New file.
28386         * tests/test-fma2.c: New file.
28387         * tests/test-fma2.h: New file.
28389         New module 'fma'.
28390         * lib/math.in.h (fma): New declaration.
28391         * lib/fma.c: New file.
28392         * m4/fma.m4: New file.
28393         * m4/fegetround.m4: New file.
28394         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
28395         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
28396         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
28397         REPLACE_FMA.
28398         * modules/fma: New file.
28399         * doc/posix-functions/fma.texi: Mention the new module and the various
28400         bugs.
28402         Extend gl_MATHFUNC.
28403         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
28404         Support 'void' as argument type.
28405         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
28407 2011-11-05  Jim Meyering  <meyering@redhat.com>
28409         maint.mk: also prohibit inclusion of dirent.h without use
28410         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
28412 2011-11-05  Bruno Haible  <bruno@clisp.org>
28414         ldexpl tests: Avoid test failure on MSVC 9.
28415         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
28416         value. Needed in order to enforce the conversion from a value greater
28417         than LDBL_MAX to Infinity.
28419 2011-11-05  Bruno Haible  <bruno@clisp.org>
28421         New modules 'at-internal', 'openat-h', split off from module 'openat'.
28422         * modules/at-internal: New file, extracted from modules/openat.
28423         * modules/openat-h: New file.
28424         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
28425         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
28426         * modules/openat (Description): Add reference to POSIX function.
28427         (Files): Remove lib/openat.h, lib/openat-proc.c.
28428         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
28429         intprops, unistd.
28430         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
28431         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
28432         gl_FCNTL_MODULE_INDICATOR.
28433         (Include): Remove unistd.h, openat.h.
28434         * modules/areadlinkat (Files): Add lib/at-func.c.
28435         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
28436         openat-die, openat-h, save-cwd.
28437         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
28438         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
28439         openat-die, openat-h, save-cwd, unistd.
28440         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
28441         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
28442         openat-h, save-cwd. Remove fcntl-h, openat.
28443         * modules/fchmodat (Files): Remove lib/openat.h.
28444         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
28445         openat, stdbool, unistd.
28446         * modules/fchownat (Files): Remove lib/openat.h.
28447         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
28448         openat, stdbool, sys_stat.
28449         * modules/fdopendir (Files): Remove lib/openat-priv.h,
28450         lib/openat-proc.c.
28451         (Depends-on): Add at-internal.
28452         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
28453         * modules/fstatat (Files): Remove lib/openat.h.
28454         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
28455         stdbool, unistd.
28456         * modules/fts (Depends-on): Add openat-h.
28457         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
28458         openat.
28459         * modules/mkdirat (Files): Remove lib/openat.h.
28460         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
28461         openat, stdbool, sys_stat.
28462         * modules/mkfifoat (Files): Add lib/at-func.c.
28463         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
28464         openat-h, save-cwd. Remove fcntl-h, openat.
28465         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
28466         * modules/readlinkat (Files): Add lib/at-func.c.
28467         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
28468         openat-h, save-cwd. Remove fcntl-h, openat.
28469         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
28470         openat.
28471         * modules/selinux-at (Files): Add lib/at-func.c.
28472         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
28473         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
28474         * modules/symlinkat (Files): Add lib/at-func.c.
28475         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
28476         openat-h, save-cwd. Remove fcntl-h, openat.
28477         * modules/unlinkat (Files): Remove lib/openat.h.
28478         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
28479         stdbool.
28480         * modules/utimensat (Files): Add lib/at-func.c.
28481         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
28482         openat-die, openat-h, save-cwd.
28483         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
28484         * modules/fdutimensat-tests (Depends-on): Add openat.
28485         * modules/fstatat-tests (Depends-on): Add openat-h.
28486         * modules/readlinkat-tests (Depends-on): Add openat.
28487         * modules/symlinkat-tests (Depends-on): Add openat.
28489 2011-11-05  Bruno Haible  <bruno@clisp.org>
28491         openat: Include <stdbool.h>.
28492         * lib/openat.c: Include <stdbool.h>.
28494 2011-11-04  Bruno Haible  <bruno@clisp.org>
28496         fchownat, renameat, unlinkat: Fix dependencies.
28497         * modules/fchownat (Depends-on): Add fstatat.
28498         * modules/renameat (Depends-on): Likewise.
28499         * modules/unlinkat (Depends-on): Likewise.
28501 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
28503         openat: remove direct dependency on dirent
28504         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
28505         and hasn't been needed ever since fdopendir was split into its own
28506         module on 2009-08-31.
28507         * modules/openat (Depends-on): Remove dirent.
28509 2011-11-04  Bruno Haible  <bruno@clisp.org>
28511         renameat: Optimize code size.
28512         * modules/renameat (configure.ac): Don't compile at-func2.c if
28513         REPLACE_RENAMEAT is 1.
28515 2011-11-04  Bruno Haible  <bruno@clisp.org>
28517         openat tests: Fix file list.
28518         * modules/openat-tests (Files): Add tests/test-open.h.
28520 2011-11-04  Bruno Haible  <bruno@clisp.org>
28522         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
28523         * modules/fchmodat (Depends-on): Add openat-die.
28524         * modules/fchownat (Depends-on): Likewise.
28525         * modules/linkat (Depends-on): Likewise.
28526         * modules/renameat (Depends-on): Likewise.
28527         * modules/openat (Depends-on): Add dirent.
28529 2011-11-04  Jim Meyering  <meyering@redhat.com>
28531         at-func*.c: fix comments
28532         * lib/at-func2.c: Correct/improve first-line comment.
28533         * lib/at-func.c: Correct grammar in first-line comment.
28535 2011-11-04  Bruno Haible  <bruno@clisp.org>
28537         New module 'mkdirat', split off from module 'openat'.
28538         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
28539         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
28540         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
28541         * modules/mkdirat: New file, extracted from modules/openat.
28542         * modules/openat (Files): Remove lib/mkdirat.c.
28543         (Depends-on): Remove mkdir.
28544         (configure.ac): Remove AC_LIBOBJ of mkdirat.
28545         (Include): Remove <sys/stat.h>.
28546         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
28547         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
28548         tests/test-mkdir.h.
28549         (Depends-on): Remove ignore-value.
28550         (Makefile.am): Remove rules for test-mkdirat.
28551         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
28552         of module 'openat'.
28553         * NEWS: Mention the change.
28555 2011-11-04  Bruno Haible  <bruno@clisp.org>
28557         closedir: Avoid warning on mingw.
28558         * lib/closedir.c: Include <unistd.h>.
28560 2011-11-04  Bruno Haible  <bruno@clisp.org>
28562         New module 'fstatat', split off from module 'openat'.
28563         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
28564         defined.
28565         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
28566         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
28567         gl_FUNC_FSTATAT.
28568         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
28569         * modules/fstatat: New file, extracted from modules/openat.
28570         * modules/openat (Files): Remove lib/fstatat.c.
28571         (Depends-on): Remove lstat.
28572         (configure.ac): Remove AC_LIBOBJ of fstatat.
28573         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
28574         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
28575         tests/test-lstat.h, tests/test-stat.h.
28576         (Depends-on): Remove getcwd-lgpl.
28577         (Makefile.am): Remove rules for test-fstatat.
28578         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
28579         of module 'openat'.
28580         * NEWS: Mention the change.
28581         * modules/getcwd (Depends-on): Add fstatat.
28582         * modules/linkat (Depends-on): Likewise.
28583         * modules/mkfifoat-tests (Depends-on): Likewise.
28584         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
28586 2011-11-03  Bruno Haible  <bruno@clisp.org>
28588         New module 'unlinkat', split off from module 'openat'.
28589         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
28590         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
28591         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
28592         * modules/unlinkat: New file, extracted from modules/openat. Correct
28593         the dependency conditions.
28594         * modules/openat (Files): Remove lib/unlinkat.c.
28595         (Depends-on): Remove rmdir, unlink.
28596         (configure.ac): Remove AC_LIBOBJ of unlinkat.
28597         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
28598         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
28599         tests/test-rmdir.h, tests/test-unlink.h.
28600         (Depends-on): Remove unlinkdir.
28601         (Makefile.am): Remove rules for test-unlinkat.
28602         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
28603         of module 'openat'.
28604         * NEWS: Mention the change.
28605         * modules/linkat-tests (Depends-on): Add unlinkat.
28606         * modules/mkfifoat-tests (Depends-on): Likewise.
28607         * modules/readlinkat-tests (Depends-on): Likewise.
28609 2011-11-02  Bruno Haible  <bruno@clisp.org>
28611         New module 'fchmodat', split off from module 'openat'.
28612         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
28613         defined.
28614         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
28615         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
28616         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
28617         * modules/fchmodat: New file, extracted from modules/openat.
28618         * modules/openat (Files): Remove lib/fchmodat.c.
28619         (configure.ac): Remove AC_LIBOBJ of fchmodat.
28620         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
28621         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
28622         (Makefile.am): Remove rules for test-fchmodat.
28623         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
28624         of module 'openat'.
28625         * NEWS: Mention the change.
28627 2011-11-02  Jim Meyering  <meyering@redhat.com>
28629         putenv: indent #definition of "environ" to placate cppi
28630         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
28632         gitlog-to-changelog: provide a ChangeLog-repair mechanism
28633         Git logs are often treated as immutable, because editing them
28634         changes the SHA1 checksums of all descendants.  Thus, errors in
28635         git logs tend to stay there forever.  However, when we generate
28636         a ChangeLog file -- typically for distribution -- from that git log,
28637         we can actually make corrections in the generated file.  The key
28638         lies in recording in machine-readable/applicable form the desired
28639         corrections.  See --help for description and an example.
28640         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
28641         (usage): Describe it; alphabetize option descriptions.
28642         (main): Honor the new option, carefully.
28644 2011-11-01  Jim Meyering  <meyering@redhat.com>
28646         gitlog-to-changelog: avoid an infloop
28647         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
28648         that ends up being empty.
28650 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
28652         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
28653         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
28654         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
28655         contains (possibly-quoted) backslashes.  This should avoid
28656         all-too-common shell bugs if COMPLICATED contains backslashes in
28657         the "wrong" places.  Reported by David Evans in
28658         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00013.html>.
28659         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
28660         because we want ASCII ranges.  Is there some reason we don't use
28661         the C locale everywhere in this script?
28662         (func_module, top level): Avoid unwanted pathname expansion when
28663         $repo_url_prefix or $repo_url_suffix_repl contain shell
28664         metacharacters like '?' and '*'.
28666 2011-11-01  Bruno Haible  <bruno@clisp.org>
28668         fchownat: Improve description.
28669         * modules/fchownat (Description): Add link to function.
28671 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
28673         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
28674         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
28675         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00006.html>.
28676         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
28678 2011-11-01  Bruno Haible  <bruno@clisp.org>
28680         alignof: Avoid collision with stdalign module.
28681         * lib/alignof.h (alignof): Remove macro.
28682         * NEWS: Mention the change.
28683         Reported by Paul Eggert.
28685 2011-11-01  Bruno Haible  <bruno@clisp.org>
28687         New module 'fchownat', split off from module 'openat'.
28688         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
28689         defined.
28690         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
28691         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
28692         invoke gl_FUNC_FCHOWNAT.
28693         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
28694         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
28695         * modules/fchownat: New file, extracted from modules/openat.
28696         * modules/openat (Files): Remove lib/fchownat.c.
28697         (Depends-on): Remove lchown.
28698         (configure.ac): Remove AC_LIBOBJ of fchownat.
28699         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
28700         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
28701         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
28702         (Depends-on): Remove mgetgroups, usleep, stat-time.
28703         (configure.ac): Remove test for getegid.
28704         (Makefile.am): Remove rules for test-fchownat.
28705         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
28706         of module 'openat'.
28707         * NEWS: Mention the change.
28709 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
28711         stdalign: port better to MSVC and to Sun C 5.11
28712         This fixes some of the problems reported by Bruno Haible in
28713         <http://lists.gnu.org/r/bug-gnulib/2011-10/msg00300.html>.
28714         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
28715         shortcomings of MSVC and of Sun C 5.11.
28716         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
28717         around __declspec arg.
28718         * modules/stdalign-tests (Files): Add tests/macros.h.
28719         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
28720         Include macros.h, for ASSERT.
28721         (DECLARE_ALIGNED): Remove.
28722         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
28723         to catch bug), and to 1 if not (simplifies the rest of the code).
28724         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
28725         (CHECK_AUTO): Remove.
28726         (CHECK_ALIGNED): Check only the alignment of the static vars,
28727         since auto var alignment isn't supported by Sun C 5.11.
28728         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
28729         ASSERT failures are easier to diagnose.
28731 2011-10-31  Bruno Haible  <bruno@clisp.org>
28733         doc about some IRIX 5.3 problems.
28734         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
28735         on IRIX 5.3.
28736         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
28737         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
28738         5.3.
28739         * doc/posix-functions/grantpt.texi: Likewise.
28740         * doc/posix-functions/unlockpt.texi: Likewise.
28741         * doc/posix-functions/lgamma.texi: Likewise.
28742         * doc/posix-functions/nextafter.texi: Likewise.
28743         * doc/posix-functions/remainder.texi: Likewise.
28744         * doc/posix-functions/select.texi: Mention misplaced declaration on
28745         IRIX 5.3.
28746         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
28748 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
28750         gitlog-to-changelog: fix git-log invocation.
28751         git-log mishandles date strings before 1970-01-01 UTC, and there is
28752         no use to specify --since=1970-01-01 by default anyway.
28753         * build-aux/gitlog-to-changelog: By default, when no --since option
28754         was given, do not specify explicit --since option to git-log.
28756 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
28758         gitlog-to-changelog: new option --append-dot.
28759         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
28760         first non-blank line of each commit message terminated with a dot.
28762 2011-10-30  Bruno Haible  <bruno@clisp.org>
28764         ffsl, ffsll: Avoid compilation error due to 'restrict'.
28765         * lib/ffsl.h: Include <config.h>.
28766         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
28768 2011-10-30  Jim Meyering  <meyering@redhat.com>
28770         GNUmakefile: reenable "make syntax-check" for most projects
28771         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
28772         build-aux variable", "syntax-check" would do nothing but succeed with
28773         the "No version control files detected..." diagnostic (unless you
28774         happened to override _build-aux via cfg.mk).
28775         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
28776         to precede inclusion of maint.mk.  Otherwise, these variables would
28777         be used undefined in any project that does not override the default.
28779 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
28781         gitlog-to-changelog: treat a message with only blank lines as empty.
28782         * build-aux/gitlog-to-changelog: Move the code that removes leading and
28783         trailing blank lines before the code that issues a warning about an
28784         empty commit message.
28786 2011-10-30  Jim Meyering  <meyering@redhat.com>
28788         test-parse-datetime.c: avoid new DST-related false positive test failure
28789         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
28790         based on the time/date we'll convert, not the current time.
28791         Otherwise, the moment we cross a DST boundary like today's in
28792         Europe, (CEST to CET), that offset ends up being one hour off.
28794 2011-10-27  Bruno Haible  <bruno@clisp.org>
28796         fstat: Tweak documentation.
28797         * modules/fstat (Description): More precise description.
28799 2011-10-27  Bruno Haible  <bruno@clisp.org>
28801         Update documentation regarding 'largefile' module.
28802         * doc/posix-functions/fstat.texi: Tweak wording.
28803         * doc/posix-functions/opendir.texi: Mention that the module fixes the
28804         problems with huge directories and/or small ino_t types.
28805         * doc/posix-functions/readdir.texi: Likewise.
28806         * doc/posix-functions/rewinddir.texi: Likewise.
28808 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
28810         maint.mk: don't maintain a second build-aux variable.
28811         * maint.mk (build_aux): Removed.  The maintainer-makefile module
28812         depends on GNUmakefile, which already maintains a cfg.mk
28813         overridable $(_build-aux) for projects with a non-standard
28814         build-aux directory location, although without the $(srcdir)
28815         prefix.  Use that variable consistently instead of introducing a
28816         second one.  Adjust all call sites.
28818 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
28820         Add stdalign module and use it in other modules.
28821         This is based on a previous proposal by Bruno Haible
28822         <https://lists.gnu.org/r/bug-gnulib/2011-07/msg00226.html>.
28824         stdalign: new module
28825         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
28826         * modules/stdalign: New files.
28827         * MODULES.html.sh (c1x_core_properties): Add stdalign.
28828         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
28830         stdalign-tests: new module
28831         * modules/stdalign-tests, tests/test-stdalign.c: New files.
28833         argp: use stdalign
28834         * lib/argp-parse.c: Include <stdalign.h>.
28835         (alignof): Remove.
28836         * modules/argp (Depends-on): Add stdalign.
28838         crypto libraries: use stdalign
28839         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
28840         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
28841         Do not include <stdlib.h> twice, in md4.c.
28842         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
28843         because we are accessing a pointer's bit-pattern, not a size.
28844         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
28845         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
28846         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
28847         * modules/crypto/sha512: Likewise.
28849         sys_socket: use stdalign, not alignof
28850         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
28851         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
28853 2011-10-27  Bruno Haible  <bruno@clisp.org>
28855         raise test: Avoid a test failure on Linux/MIPS.
28856         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
28857         because 99 is a valid signal on Linux/MIPS.
28859 2011-10-27  Bruno Haible  <bruno@clisp.org>
28861         nonblocking tests: Fix test failure on Linux/MIPS.
28862         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
28863         Set to 270000.
28865 2011-10-27  Bruno Haible  <bruno@clisp.org>
28867         utimensat: Work around problem on Linux/hppa.
28868         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
28869         values.
28870         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
28872 2011-10-25  Jim Meyering  <meyering@redhat.com>
28874         maint.mk: fix a bug in sc_prohibit_stddef_without_use
28875         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
28876         after symbols like NULL, size_t, etc.
28877         Reported by Alfred M. Szmidt.
28879         maint.mk: exempt ENODATA from a syntax-check rule
28880         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
28881         from the sc_prohibit_always-defined_macros syntax-check rule.
28882         Add a comment.  See this for more details:
28883         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
28885 2011-10-23  Jim Meyering  <meyering@redhat.com>
28887         fts: close parent dir FD before returning from post-traversal fts_read
28888         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
28889         unlink A, even though an FD open on A remained.  This is suboptimal
28890         (holding a file descriptor open longer than needed), but otherwise not
28891         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
28892         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
28893         that represents a real problem: it causes the removal of A to fail
28894         with e.g., "rm: cannot remove `A': Device or resource busy"
28896         fts visits each directory twice and keeps a cache (fts_fd_ring) of
28897         directory file descriptors.  After completing the final, FTS_DP,
28898         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
28899         cache, but then proceeded to add a new FD to it via the subsequent
28900         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
28901         final file descriptor would be closed only via fts_close's call to
28902         fd_ring_clear.  Now, it is usually closed earlier, via the final
28903         FTS_DP-returning fts_read call.
28904         * lib/fts.c (restore_initial_cwd): New function, converted from
28905         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
28906         Update callers.
28907         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
28908         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
28910 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
28911             Bruno Haible  <bruno@clisp.org>
28912             Jim Meyering  <jim@meyering.net>
28914         readme-release: improve safety of release prep instructions.
28915         * README-release: Don't git pull all branches when only master
28916         is needed for the release process.
28917         Run make maintainer-clean before changing trees and merging.
28918         Don't try to run ./configure right after git pull in case files
28919         that influence the bootstrap process have changed, move the
28920         ./configure step to after running ./bootstrap.
28921         Don't bootstrap "one last time"... it's the first time!
28923 2011-10-22  Bruno Haible  <bruno@clisp.org>
28925         errno, strerror-override: Support for MSVC 10.
28926         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
28927         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
28928         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
28929         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
28930         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
28931         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
28932         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
28933         Assign values compatible with MSVC 10.
28934         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
28935         New macros.
28936         (GNULIB_defined_EWINSOCK): New macro.
28937         * lib/strerror-override.c (strerror_override): Update accordingly.
28938         * lib/strerror-override.h: Likewise.
28939         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
28940         longer equal to the corresponding errno value.
28941         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
28943 2011-10-22  Bruno Haible  <bruno@clisp.org>
28945         perror: Recognize when test program crashes.
28946         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
28947         strerror, set gl_cv_func_perror_works to no.
28948         Reported by Daniel Richard G. <skunk@iskunk.org>.
28950         perror: Fix indentation.
28951         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
28953 2011-10-22  Bruno Haible  <bruno@clisp.org>
28955         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
28956         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
28957         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
28958         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
28959         functions, not as a macro.
28960         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
28961         macros.
28962         (isfinite, isinf, isnan, signbit): Check overloaded functions and
28963         absence of macro.
28964         Suggested by Eric Blake.
28965         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
28967 2011-10-21  Bruno Haible  <bruno@clisp.org>
28969         relocatable-prog-wrapper: Don't leave object files behind.
28970         * build-aux/install-reloc: Re-synchronize list of .o files to be
28971         removed with list of compilation units.
28973 2011-10-20  Bruno Haible  <bruno@clisp.org>
28975         openpty, posix_openpt: Remove code duplication.
28976         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
28977         * lib/openpty.c: Include <stdlib.h>.
28978         (openpty): Use posix_openpt on all platforms except IRIX.
28979         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
28981 2011-10-20  Bruno Haible  <bruno@clisp.org>
28983         unlockpt: Detect invalid argument.
28984         * lib/unlockpt.c: Include <fcntl.h>.
28985         (unlockpt): Check whether fd is valid, using fcntl().
28986         * modules/unlockpt (Depends-on): Add fcntl-h.
28988 2011-10-20  Bruno Haible  <bruno@clisp.org>
28990         openpty: Avoid compilation error on AIX 6.1.
28991         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
28993 2011-10-20  Bruno Haible  <bruno@clisp.org>
28995         posix_openpt: Support for OpenBSD.
28996         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
28997         (posix_openpt) [OpenBSD]: New code.
28998         * lib/grantpt.c: Include <fcntl.h>.
28999         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
29000         * modules/grantpt (Depends-on): Add fcntl-h.
29002 2011-10-20  Bruno Haible  <bruno@clisp.org>
29004         posix_openpt test: Coding style.
29005         * tests/test-posix_openpt.c: Use GNU coding style.
29007 2011-10-20  Bruno Haible  <bruno@clisp.org>
29009         grantpt: Support --avoid=pt_chown.
29010         * modules/grantpt (Files): Add lib/pty-private.h.
29012 2011-10-20  Bruno Haible  <bruno@clisp.org>
29014         posix_openpt: Fix autoconf macro.
29015         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
29016         unneeded check for _getpty.
29018 2011-10-20  Bruno Haible  <bruno@clisp.org>
29020         openpty: Update comments.
29021         * lib/openpty.c: Add comments about Minix.
29023 2011-10-19  Eric Blake  <eblake@redhat.com>
29025         openpty: relax license
29026         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
29028         pt_chown: use configmake to simplify build
29029         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
29031         ptsname and others: relax license
29032         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
29033         * modules/unlockpt (License): Likewise.
29034         * modules/pt_chown (License): Likewise.
29035         * modules/ptsname (License): Likewise.
29036         * modules/ttyname_r (License): Likewise.
29038 2011-10-19  Jim Meyering  <meyering@redhat.com>
29040         posix_openpt: remove spurious #endif
29041         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
29043 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
29045         maint.mk: Respect $(build_aux) in web-manual rule.
29046         * top/maint.mk (web-manual): Find gen-announce script in user's
29047         $(build_aux) directory instead of hard-coding 'build-aux'.
29049 2011-10-19  Bruno Haible  <bruno@clisp.org>
29051         posix_openpt: Fix compilation error.
29052         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
29053         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
29054         Mention the openpty module as an alternative.
29056 2011-10-19  Bruno Haible  <bruno@clisp.org>
29058         Support for old NeXTstep 3.3 frexp().
29059         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
29060         execution time of the test to 5 seconds.
29061         Reported by Daniel Richard G. <skunk@iskunk.org>.
29063 2011-10-19  Bruno Haible  <bruno@clisp.org>
29065         Support for old NeXTstep 3.3 sed.
29066         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
29067         part, use /.../, not \|...|. Escape periods in the header file name.
29068         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
29069         Reported by Daniel Richard G. <skunk@iskunk.org>.
29071 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
29073         Support for old NeXTstep 3.3 gcc.
29074         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
29075         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
29076         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
29077         * lib/spawn.in.h (_Restrict_arr_): Likewise.
29078         * lib/regex.h (_Restrict_arr_): Likewise.
29079         * lib/regex_internal.h (re_token_t): Likewise.
29080         * lib/regexec.c (check_node_accept_bytes): Likewise.
29081         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
29083 2011-10-18  Eric Blake  <eblake@redhat.com>
29085         posix_openpt: new module
29086         * modules/posix_openpt: New module.
29087         * m4/posix_openpt.m4: New file.
29088         * lib/posix_openpt.c: Likewise.
29089         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
29090         (gl_STDLIB_H_DEFAULTS): Set defaults.
29091         * modules/stdlib (Makefile.am): Substitute macros.
29092         * lib/stdlib.in.h (posix_openpt): Declare.
29093         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
29094         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
29095         * modules/posix_openpt-tests: New test module.
29096         * tests/test-posix_openpt.c: New test.
29098 2011-10-15  Bruno Haible  <bruno@clisp.org>
29100         xstrtoll: Fix compilation failure.
29101         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
29102         from lib/strtol.c.
29103         * doc/posix-headers/limits.texi: Mention missing numerical limits on
29104         some platforms.
29105         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
29107 2011-10-15  Bruno Haible  <bruno@clisp.org>
29109         vasnprintf: Optimize bit search operation.
29110         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
29111         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
29112         gl_DOUBLE_EXPONENT_LOCATION.
29113         * modules/vasnprintf (Files): Add m4/exponentd.m4.
29114         * modules/unistdio/u8-vasnprintf (Files): Likewise.
29115         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
29116         * modules/unistdio/u16-vasnprintf (Files): Likewise.
29117         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
29118         * modules/unistdio/u32-vasnprintf (Files): Likewise.
29119         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
29120         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
29121         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
29123 2011-10-15  Bruno Haible  <bruno@clisp.org>
29125         vasnprintf: Fix comments.
29126         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
29128 2011-10-14  Bruno Haible  <bruno@clisp.org>
29130         Tests for module 'integer_length_ll'.
29131         * modules/integer_length_ll-tests: New file.
29132         * tests/test-integer_length_ll.c: New file.
29134         New module 'integer_length_ll'.
29135         * lib/integer_length_ll.c: New file.
29136         * modules/integer_length_ll: New file.
29138 2011-10-14  Bruno Haible  <bruno@clisp.org>
29140         Tests for module 'integer_length_l'.
29141         * modules/integer_length_l-tests: New file.
29142         * tests/test-integer_length_l.c: New file.
29144         New module 'integer_length_l'.
29145         * lib/integer_length_l.c: New file.
29146         * modules/integer_length_l: New file.
29148 2011-10-14  Bruno Haible  <bruno@clisp.org>
29150         Tests for module 'integer_length'.
29151         * modules/integer_length-tests: New file.
29152         * tests/test-integer_length.c: New file.
29154         New module 'integer_length'.
29155         * lib/integer_length.h: New file.
29156         * lib/integer_length.c: New file.
29157         * modules/integer_length: New file.
29159 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
29161         popen: Fix dependency conditions.
29162         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
29164 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
29166         perror: Fix autoconf test.
29167         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
29168         <stdlib.h> and <string.h>.
29170 2011-10-14  Bruno Haible  <bruno@clisp.org>
29172         ffsl: Optimize on 64-bit platforms.
29173         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
29174         unrolling.
29176 2011-10-13  Bruno Haible  <bruno@clisp.org>
29178         ffsl: Optimize on 32-bit platforms.
29179         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
29180         use ffs() without a loop.
29182         ffsl, ffsll: Optimize for GCC.
29183         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
29184         * lib/ffsl.c (GCC_BUILTIN): New macro.
29185         * lib/ffsll.c (GCC_BUILTIN): Likewise.
29187 2011-10-13  Bruno Haible  <bruno@clisp.org>
29189         ffs, bcopy, memset: Support symbol renaming via config.h.
29190         * lib/ffs.c: Include <config.h>.
29191         * lib/bcopy.c: Likewise.
29192         * lib/memset.c: Likewise.
29194 2011-10-10  Bruno Haible  <bruno@clisp.org>
29196         atanl: Simplify for platforms where 'long double' == 'double'.
29197         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
29198         alternative implementation.
29199         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29200         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29201         * modules/atanl (Depends-on): Add atan. Update conditions.
29203 2011-10-10  Bruno Haible  <bruno@clisp.org>
29205         acosl: Simplify for platforms where 'long double' == 'double'.
29206         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
29207         alternative implementation.
29208         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29209         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29210         * modules/acosl (Depends-on): Add acos. Update conditions.
29212 2011-10-10  Bruno Haible  <bruno@clisp.org>
29214         asinl: Simplify for platforms where 'long double' == 'double'.
29215         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
29216         alternative implementation.
29217         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29218         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29219         * modules/asinl (Depends-on): Add asin. Update conditions.
29221 2011-10-10  Bruno Haible  <bruno@clisp.org>
29223         tanl: Simplify for platforms where 'long double' == 'double'.
29224         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
29225         implementation.
29226         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29227         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29228         * modules/tanl (Depends-on): Add tan. Update conditions.
29229         (configure.ac): Don't compile trigl.c if
29230         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29232 2011-10-10  Bruno Haible  <bruno@clisp.org>
29234         cosl: Simplify for platforms where 'long double' == 'double'.
29235         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
29236         implementation.
29237         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29238         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29239         * modules/cosl (Depends-on): Add cos. Update conditions.
29240         (configure.ac): Don't compile sincosl.c and trigl.c if
29241         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29243 2011-10-10  Bruno Haible  <bruno@clisp.org>
29245         sinl: Simplify for platforms where 'long double' == 'double'.
29246         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
29247         implementation.
29248         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29249         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29250         * modules/sinl (Depends-on): Add sin. Update conditions.
29251         (configure.ac): Don't compile sincosl.c and trigl.c if
29252         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29254 2011-10-10  Bruno Haible  <bruno@clisp.org>
29256         logl: Simplify for platforms where 'long double' == 'double'.
29257         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
29258         implementation.
29259         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29260         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29261         * modules/logl (Depends-on): Add log. Update conditions.
29263 2011-10-10  Bruno Haible  <bruno@clisp.org>
29265         expl: Simplify for platforms where 'long double' == 'double'.
29266         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
29267         implementation.
29268         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29269         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29270         * modules/expl (Depends-on): Add exp. Update conditions.
29272 2011-10-10  Bruno Haible  <bruno@clisp.org>
29274         sqrtl: Simplify for platforms where 'long double' == 'double'.
29275         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
29276         alternative implementation.
29277         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29278         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29279         * modules/sqrtl (Depends-on): Update conditions.
29281 2011-10-10  Bruno Haible  <bruno@clisp.org>
29283         ldexpl: Simplify for platforms where 'long double' == 'double'.
29284         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
29285         alternative implementation.
29286         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29287         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29288         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
29290 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
29292         ffsll: set correct witness
29293         * modules/ffsll (configure.ac): Fix typo.
29295 2011-10-10  Bruno Haible  <bruno@clisp.org>
29297         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
29298         * lib/printf-frexpl.c: Include <config.h>.
29299         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29300         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
29301         second time.
29302         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
29303         gl_LONG_DOUBLE_VS_DOUBLE.
29304         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
29305         conditions.
29307 2011-10-10  Bruno Haible  <bruno@clisp.org>
29309         frexpl: Simplify for platforms where 'long double' == 'double'.
29310         * lib/frexpl.c: Include <config.h>.
29311         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29312         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
29313         time.
29314         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29315         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29316         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
29317         * modules/frexpl (Depends-on): Add frexp. Update conditions.
29318         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
29319         conditions.
29321 2011-10-10  Jim Meyering  <meyering@redhat.com>
29323         test-renameat: don't leave behind a temporary file
29324         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
29325           ERROR: files left in build directory after distclean:
29326           ./gltests/test-renameat.too
29327           make[1]: *** [distcleancheck] Error 1
29328         Reported by Tom G. Christensen.
29330 2011-10-09  Bruno Haible  <bruno@clisp.org>
29332         rint: Determine RINT_LIBM correctly on AIX 7.
29333         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
29334         directly, not only through a function pointer. Also accept an optional
29335         4th argument with extra code.
29336         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
29337         rintf() call by gcc when optimizing.
29339         mathfunc.m4: Refactor.
29340         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
29341         m4 variable.
29343 2011-10-09  Bruno Haible  <bruno@clisp.org>
29345         rintl: Simplify for platforms where 'long double' == 'double'.
29346         * lib/rintl.c: Include <config.h>.
29347         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29348         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
29349         time.
29350         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29351         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29352         * modules/rintl (Depends-on): Add rint. Update conditions.
29354 2011-10-09  Bruno Haible  <bruno@clisp.org>
29356         roundl: Simplify for platforms where 'long double' == 'double'.
29357         * lib/roundl.c: Include <config.h>.
29358         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29359         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
29360         time.
29361         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29362         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29363         * modules/roundl (Depends-on): Add round. Update conditions.
29365 2011-10-09  Bruno Haible  <bruno@clisp.org>
29367         truncl: Simplify for platforms where 'long double' == 'double'.
29368         * lib/truncl.c: Include <config.h>.
29369         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29370         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
29371         time.
29372         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29373         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29374         * modules/truncl (Depends-on): Add trunc. Update conditions.
29376 2011-10-09  Bruno Haible  <bruno@clisp.org>
29378         ceill: Simplify for platforms where 'long double' == 'double'.
29379         * lib/ceill.c: Include <config.h>.
29380         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29381         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
29382         time.
29383         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29384         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29385         * modules/ceill (Depends-on): Add ceil. Update conditions.
29387 2011-10-09  Bruno Haible  <bruno@clisp.org>
29389         floorl: Simplify for platforms where 'long double' == 'double'.
29390         * lib/floorl.c: Include <config.h>.
29391         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29392         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
29393         time.
29394         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29395         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29396         * modules/floorl (Depends-on): Add floor. Update conditions.
29398 2011-10-09  Bruno Haible  <bruno@clisp.org>
29400         rint: Fix ordering constraints.
29401         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
29402         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
29403         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
29405 2011-10-09  Bruno Haible  <bruno@clisp.org>
29407         copysignl: Simplify for platforms where 'long double' == 'double'.
29408         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
29409         alternative.
29410         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29411         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29412         * modules/copysignl (Depends-on): Add copysign. Update conditions.
29414 2011-10-09  Bruno Haible  <bruno@clisp.org>
29416         Tests for module 'rintl'.
29417         * modules/rintl-tests: New file.
29418         * tests/test-rintl.c: New file.
29420         New module 'rintl'.
29421         * lib/math.in.h (rintl): New declaration.
29422         * lib/rintl.c: New file.
29423         * m4/rintl.m4: New file.
29424         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
29425         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
29426         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
29427         * modules/rintl: New file.
29428         * tests/test-math-c++.cc: Check the declaration of rintl.
29429         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
29430         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
29431         * doc/posix-functions/rintl.texi: Mention the new module.
29433 2011-10-09  Bruno Haible  <bruno@clisp.org>
29435         Tests for module 'rintf'.
29436         * modules/rintf-tests: New file.
29437         * tests/test-rintf.c: New file.
29439         New module 'rintf'.
29440         * lib/math.in.h (rintf): New declaration.
29441         * lib/rintf.c: New file.
29442         * m4/rintf.m4: New file.
29443         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
29444         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
29445         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
29446         * modules/rintf: New file.
29447         * tests/test-math-c++.cc: Check the declaration of rintf.
29448         * doc/posix-functions/rintf.texi: Mention the new module.
29450 2011-10-09  Bruno Haible  <bruno@clisp.org>
29452         rint: Support for MSVC.
29453         * lib/math.in.h (rint): New declaration.
29454         * lib/rint.c: New file.
29455         * m4/rint.m4: New file.
29456         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
29457         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
29458         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
29459         * modules/rint (Description): Fix.
29460         (Files): Add lib/rint.c, m4/rint.m4.
29461         (Depends-on): Add math.
29462         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
29463         gl_MATH_MODULE_INDICATOR.
29464         * tests/test-math-c++.cc: Check the declaration of rint.
29465         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
29466         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
29467         * doc/posix-functions/rint.texi: Mention the replacement provided by
29468         the module.
29470         rint tests: More tests.
29471         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
29472         minus-zero.h, infinity.h, nan.h.
29473         (main): Skip the test if the current rounding mode is not standard. Add
29474         tests for negative numbers, minus zero, infinity, NaN.
29475         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
29476         tests/nan.h.
29477         (Depends-on): Add isnand-nolibm.
29479 2011-10-09  Bruno Haible  <bruno@clisp.org>
29481         Tests for module 'copysignl'.
29482         * modules/copysignl-tests: New file.
29483         * tests/test-copysignl.c: New file.
29485         New module 'copysignl'.
29486         * lib/math.in.h (copysignl): New declaration.
29487         * lib/copysignl.c: New file.
29488         * m4/copysignl.m4: New file.
29489         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
29490         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
29491         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
29492         HAVE_COPYSIGNL.
29493         * modules/copysignl: New file.
29494         * tests/test-math-c++.cc: Check the declaration of copysignl.
29495         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
29496         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
29497         * doc/posix-functions/copysignl.texi: Mention the new module.
29499 2011-10-09  Bruno Haible  <bruno@clisp.org>
29501         Tests for module 'copysignf'.
29502         * modules/copysignf-tests: New file.
29503         * tests/test-copysignf.c: New file.
29505         New module 'copysignf'.
29506         * lib/math.in.h (copysignf): New declaration.
29507         * lib/copysignf.c: New file.
29508         * m4/copysignf.m4: New file.
29509         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
29510         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
29511         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
29512         HAVE_COPYSIGNF.
29513         * modules/copysignf: New file.
29514         * tests/test-math-c++.cc: Check the declaration of copysignf.
29515         * doc/posix-functions/copysignf.texi: Mention the new module.
29517 2011-10-09  Bruno Haible  <bruno@clisp.org>
29519         Ensure that HAVE_* variables are set to 1 before they are set to 0.
29520         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
29521         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
29522         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
29523         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
29524         gl_SIGNAL_H_DEFAULTS.
29526 2011-10-09  Bruno Haible  <bruno@clisp.org>
29528         poll: Make macro safer.
29529         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
29530         ac_cv_header_poll_h is not set.
29532 2011-10-09  Bruno Haible  <bruno@clisp.org>
29534         copysign: Provide replacement.
29535         * lib/math.in.h (copysign): New declaration.
29536         * lib/copysign.c: New file.
29537         * m4/copysign.m4: New file.
29538         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
29539         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
29540         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
29541         HAVE_COPYSIGN.
29542         * modules/copysign (Description): Clarify.
29543         (Files): Add lib/copysign.c, m4/copysign.m4.
29544         (Depends-on): Add math, signbit.
29545         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
29546         gl_MATH_MODULE_INDICATOR.
29547         * tests/test-math-c++.cc: Check the declaration of copysign.
29548         * doc/posix-functions/copysign.texi: Mention the effects of the module
29549         on Minix and MSVC.
29551 2011-10-09  Bruno Haible  <bruno@clisp.org>
29553         isinf: Ensure macro on AIX 5.1.
29554         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
29555         macro.
29556         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
29558 2011-10-09  Bruno Haible  <bruno@clisp.org>
29560         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
29561         * modules/snprintf-posix-tests (configure.ac): Require
29562         gl_LONG_DOUBLE_VS_DOUBLE.
29563         * modules/sprintf-posix-tests (configure.ac): Likewise.
29564         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
29565         * modules/vasprintf-posix-tests (configure.ac): Likewise.
29566         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
29567         * modules/vsprintf-posix-tests (configure.ac): Likewise.
29568         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
29569         tests on platforms where 'long double' is the same as 'double'.
29570         * tests/test-sprintf-posix.h (test_function): Likewise.
29571         * tests/test-vasnprintf-posix.c (test_function): Likewise.
29572         * tests/test-vasprintf-posix.c (test_function): Likewise.
29574         *printf: Fix for platforms where 'long double' == 'double'.
29575         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
29576         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
29577         * modules/dprintf-posix (Files): Add m4/math_h.m4.
29578         * modules/fprintf-posix (Files): Likewise.
29579         * modules/obstack-printf-posix (Files): Likewise.
29580         * modules/snprintf-posix (Files): Likewise.
29581         * modules/sprintf-posix (Files): Likewise.
29582         * modules/vasnprintf (Files): Likewise.
29583         * modules/vasnprintf-posix (Files): Likewise.
29584         * modules/vasprintf-posix (Files): Likewise.
29585         * modules/vdprintf-posix (Files): Likewise.
29586         * modules/vfprintf-posix (Files): Likewise.
29587         * modules/vsnprintf-posix (Files): Likewise.
29588         * modules/vsprintf-posix (Files): Likewise.
29589         * modules/unistdio/u8-vasnprintf (Files): Likewise.
29590         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
29591         * modules/unistdio/u16-vasnprintf (Files): Likewise.
29592         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
29593         * modules/unistdio/u32-vasnprintf (Files): Likewise.
29594         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
29595         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
29597         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
29598         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
29599         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29600         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
29601         'long double'.
29602         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
29604         isinf: Fix for platforms where 'long double' == 'double'.
29605         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
29606         Don't blindly assume 80-bit 'long double'.
29608         isfinite: Fix for platforms where 'long double' == 'double'.
29609         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
29610         Don't blindly assume 80-bit 'long double'.
29612         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
29613         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
29614         * modules/isfinite-tests (configure.ac): Require
29615         gl_LONG_DOUBLE_VS_DOUBLE.
29616         * modules/isinf-tests (configure.ac): Likewise.
29617         * modules/isnan-tests (configure.ac): Likewise.
29618         * modules/isnanl-tests (configure.ac): Likewise.
29619         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
29620         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
29621         tests on platforms where 'long double' is the same as 'double'.
29622         * tests/test-isinf.c (test_isinfl): Likewise.
29623         * tests/test-isnan.c (test_long_double): Likewise.
29624         * tests/test-isnanl.h (main): Likewise.
29626 2011-10-08  Bruno Haible  <bruno@clisp.org>
29628         Tests for module 'tanhf'.
29629         * modules/tanhf-tests: New file.
29630         * tests/test-tanhf.c: New file.
29632         New module 'tanhf'.
29633         * lib/math.in.h (tanhf): New declaration.
29634         * lib/tanhf.c: New file.
29635         * m4/tanhf.m4: New file.
29636         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
29637         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
29638         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
29639         * modules/tanhf: New file.
29640         * tests/test-math-c++.cc: Check the declaration of tanhf.
29641         * doc/posix-functions/tanhf.texi: Mention the new module.
29643         tanh: Use a .m4 file.
29644         * m4/tanh.m4: New file.
29645         * modules/tanh (Files): Add it.
29646         (configure.ac): Just invoke gl_FUNC_TANH.
29648 2011-10-08  Bruno Haible  <bruno@clisp.org>
29650         Tests for module 'coshf'.
29651         * modules/coshf-tests: New file.
29652         * tests/test-coshf.c: New file.
29654         New module 'coshf'.
29655         * lib/math.in.h (coshf): New declaration.
29656         * lib/coshf.c: New file.
29657         * m4/coshf.m4: New file.
29658         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
29659         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
29660         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
29661         * modules/coshf: New file.
29662         * tests/test-math-c++.cc: Check the declaration of coshf.
29663         * doc/posix-functions/coshf.texi: Mention the new module.
29665         cosh: Use a .m4 file.
29666         * m4/cosh.m4: New file.
29667         * modules/cosh (Files): Add it.
29668         (configure.ac): Just invoke gl_FUNC_COSH.
29670 2011-10-08  Bruno Haible  <bruno@clisp.org>
29672         Tests for module 'sinhf'.
29673         * modules/sinhf-tests: New file.
29674         * tests/test-sinhf.c: New file.
29676         New module 'sinhf'.
29677         * lib/math.in.h (sinhf): New declaration.
29678         * lib/sinhf.c: New file.
29679         * m4/sinhf.m4: New file.
29680         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
29681         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
29682         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
29683         * modules/sinhf: New file.
29684         * tests/test-math-c++.cc: Check the declaration of sinhf.
29685         * doc/posix-functions/sinhf.texi: Mention the new module.
29687         sinh: Use a .m4 file.
29688         * m4/sinh.m4: New file.
29689         * modules/sinh (Files): Add it.
29690         (configure.ac): Just invoke gl_FUNC_SINH.
29692 2011-10-08  Bruno Haible  <bruno@clisp.org>
29694         Tests for module 'atan2f'.
29695         * modules/atan2f-tests: New file.
29696         * tests/test-atan2f.c: New file.
29698         New module 'atan2f'.
29699         * lib/math.in.h (atan2f): New declaration.
29700         * lib/atan2f.c: New file.
29701         * m4/atan2f.m4: New file.
29702         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
29703         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
29704         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
29705         * modules/atan2f: New file.
29706         * tests/test-math-c++.cc: Check the declaration of atan2f.
29707         * doc/posix-functions/atan2f.texi: Mention the new module.
29709         atan2: Use a .m4 file.
29710         * m4/atan2.m4: New file.
29711         * modules/atan2 (Files): Add it.
29712         (configure.ac): Just invoke gl_FUNC_ATAN2.
29714 2011-10-08  Bruno Haible  <bruno@clisp.org>
29716         Tests for module 'atanf'.
29717         * modules/atanf-tests: New file.
29718         * tests/test-atanf.c: New file.
29720         New module 'atanf'.
29721         * lib/math.in.h (atanf): New declaration.
29722         * lib/atanf.c: New file.
29723         * m4/atanf.m4: New file.
29724         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
29725         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
29726         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
29727         * modules/atanf: New file.
29728         * tests/test-math-c++.cc: Check the declaration of atanf.
29729         * doc/posix-functions/atanf.texi: Mention the new module.
29731         atan: Use a .m4 file.
29732         * m4/atan.m4: New file.
29733         * modules/atan (Files): Add it.
29734         (configure.ac): Just invoke gl_FUNC_ATAN.
29736 2011-10-08  Bruno Haible  <bruno@clisp.org>
29738         Tests for module 'acosf'.
29739         * modules/acosf-tests: New file.
29740         * tests/test-acosf.c: New file.
29742         New module 'acosf'.
29743         * lib/math.in.h (acosf): New declaration.
29744         * lib/acosf.c: New file.
29745         * m4/acosf.m4: New file.
29746         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
29747         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
29748         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
29749         * modules/acosf: New file.
29750         * tests/test-math-c++.cc: Check the declaration of acosf.
29751         * doc/posix-functions/acosf.texi: Mention the new module.
29753         acos: Use a .m4 file.
29754         * m4/acos.m4: New file.
29755         * modules/acos (Files): Add it.
29756         (configure.ac): Just invoke gl_FUNC_ACOS.
29758 2011-10-08  Bruno Haible  <bruno@clisp.org>
29760         Tests for module 'asinf'.
29761         * modules/asinf-tests: New file.
29762         * tests/test-asinf.c: New file.
29764         New module 'asinf'.
29765         * lib/math.in.h (asinf): New declaration.
29766         * lib/asinf.c: New file.
29767         * m4/asinf.m4: New file.
29768         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
29769         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
29770         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
29771         * modules/asinf: New file.
29772         * tests/test-math-c++.cc: Check the declaration of asinf.
29773         * doc/posix-functions/asinf.texi: Mention the new module.
29775         asin: Use a .m4 file.
29776         * m4/asin.m4: New file.
29777         * modules/asin (Files): Add it.
29778         (configure.ac): Just invoke gl_FUNC_ASIN.
29780 2011-10-08  Bruno Haible  <bruno@clisp.org>
29782         Tests for module 'tanf'.
29783         * modules/tanf-tests: New file.
29784         * tests/test-tanf.c: New file.
29786         New module 'tanf'.
29787         * lib/math.in.h (tanf): New declaration.
29788         * lib/tanf.c: New file.
29789         * m4/tanf.m4: New file.
29790         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
29791         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
29792         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
29793         * modules/tanf: New file.
29794         * tests/test-math-c++.cc: Check the declaration of tanf.
29795         * doc/posix-functions/tanf.texi: Mention the new module.
29797         tan: Use a .m4 file.
29798         * m4/tan.m4: New file.
29799         * modules/tan (Files): Add it.
29800         (configure.ac): Just invoke gl_FUNC_TAN.
29802 2011-10-08  Bruno Haible  <bruno@clisp.org>
29804         Tests for module 'cosf'.
29805         * modules/cosf-tests: New file.
29806         * tests/test-cosf.c: New file.
29808         New module 'cosf'.
29809         * lib/math.in.h (cosf): New declaration.
29810         * lib/cosf.c: New file.
29811         * m4/cosf.m4: New file.
29812         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
29813         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
29814         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
29815         * modules/cosf: New file.
29816         * tests/test-math-c++.cc: Check the declaration of cosf.
29817         * doc/posix-functions/cosf.texi: Mention the new module.
29819         cos: Use a .m4 file.
29820         * m4/cos.m4: New file.
29821         * modules/cos (Files): Add it.
29822         (configure.ac): Just invoke gl_FUNC_COS.
29824 2011-10-08  Bruno Haible  <bruno@clisp.org>
29826         Tests for module 'sinf'.
29827         * modules/sinf-tests: New file.
29828         * tests/test-sinf.c: New file.
29830         New module 'sinf'.
29831         * lib/math.in.h (sinf): New declaration.
29832         * lib/sinf.c: New file.
29833         * m4/sinf.m4: New file.
29834         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
29835         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
29836         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
29837         * modules/sinf: New file.
29838         * tests/test-math-c++.cc: Check the declaration of sinf.
29839         * doc/posix-functions/sinf.texi: Mention the new module.
29841         sin: Use a .m4 file.
29842         * m4/sin.m4: New file.
29843         * modules/sin (Files): Add it.
29844         (configure.ac): Just invoke gl_FUNC_SIN.
29846 2011-10-08  Bruno Haible  <bruno@clisp.org>
29848         Tests for module 'powf'.
29849         * modules/powf-tests: New file.
29850         * tests/test-powf.c: New file.
29852         New module 'powf'.
29853         * lib/math.in.h (powf): New declaration.
29854         * lib/powf.c: New file.
29855         * m4/powf.m4: New file.
29856         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
29857         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
29858         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
29859         * modules/powf: New file.
29860         * tests/test-math-c++.cc: Check the declaration of powf.
29861         * doc/posix-functions/powf.texi: Mention the new module.
29863         pow: Use a .m4 file.
29864         * m4/pow.m4: New file.
29865         * modules/pow (Files): Add it.
29866         (configure.ac): Just invoke gl_FUNC_POW.
29868 2011-10-08  Bruno Haible  <bruno@clisp.org>
29870         Tests for module 'log10f'.
29871         * modules/log10f-tests: New file.
29872         * tests/test-log10f.c: New file.
29874         New module 'log10f'.
29875         * lib/math.in.h (log10f): New declaration.
29876         * lib/log10f.c: New file.
29877         * m4/log10f.m4: New file.
29878         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
29879         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
29880         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
29881         * modules/log10f: New file.
29882         * tests/test-math-c++.cc: Check the declaration of log10f.
29883         * doc/posix-functions/log10f.texi: Mention the new module.
29885         log10: Use a .m4 file.
29886         * m4/log10.m4: New file.
29887         * modules/log10 (Files): Add it.
29888         (configure.ac): Just invoke gl_FUNC_LOG10.
29890 2011-10-08  Bruno Haible  <bruno@clisp.org>
29892         Tests for module 'logf'.
29893         * modules/logf-tests: New file.
29894         * tests/test-logf.c: New file.
29896         New module 'logf'.
29897         * lib/math.in.h (logf): New declaration.
29898         * lib/logf.c: New file.
29899         * m4/logf.m4: New file.
29900         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
29901         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
29902         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
29903         * modules/logf: New file.
29904         * tests/test-math-c++.cc: Check the declaration of logf.
29905         * doc/posix-functions/logf.texi: Mention the new module.
29907         log: Use a .m4 file.
29908         * m4/log.m4: New file.
29909         * modules/log (Files): Add it.
29910         (configure.ac): Just invoke gl_FUNC_LOG.
29912 2011-10-08  Bruno Haible  <bruno@clisp.org>
29914         Tests for module 'expf'.
29915         * modules/expf-tests: New file.
29916         * tests/test-expf.c: New file.
29918         New module 'expf'.
29919         * lib/math.in.h (expf): New declaration.
29920         * lib/expf.c: New file.
29921         * m4/expf.m4: New file.
29922         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
29923         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
29924         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
29925         * modules/expf: New file.
29926         * tests/test-math-c++.cc: Check the declaration of expf.
29927         * doc/posix-functions/expf.texi: Mention the new module.
29929         exp: Use a .m4 file.
29930         * m4/exp.m4: New file.
29931         * modules/exp (Files): Add it.
29932         (configure.ac): Just invoke gl_FUNC_EXP.
29934 2011-10-08  Bruno Haible  <bruno@clisp.org>
29936         Tests for module 'sqrtf'.
29937         * modules/sqrtf-tests: New file.
29938         * tests/test-sqrtf.c: New file.
29940         New module 'sqrtf'.
29941         * lib/math.in.h (sqrtf): New declaration.
29942         * lib/sqrtf.c: New file.
29943         * m4/sqrtf.m4: New file.
29944         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
29945         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
29946         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
29947         * modules/sqrtf: New file.
29948         * tests/test-math-c++.cc: Check the declaration of sqrtf.
29949         * doc/posix-functions/sqrtf.texi: Mention the new module.
29951 2011-10-08  Bruno Haible  <bruno@clisp.org>
29953         Tests: Avoid link failures w.r.t. libintl.
29954         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
29955         $(LIBINTL).
29956         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
29957         $(LIBINTL).
29958         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
29959         against $(LIBINTL).
29960         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
29961         $(LIBINTL).
29962         * modules/openat-tests (Makefile.am): Link test-fchmodat against
29963         $(LIBINTL).
29964         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
29966 2011-10-08  Bruno Haible  <bruno@clisp.org>
29968         pow tests: Defeat compiler optimizations.
29969         * tests/test-pow.c (main): Assign arguments to x and y before use.
29971 2011-10-08  Bruno Haible  <bruno@clisp.org>
29973         gnulib-tool: Improve last commit.
29974         * gnulib-tool (func_modules_transitive_closure): Simplify code.
29975         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
29976         ignore dependencies that are not among the modules list.
29978 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
29980         gnulib-tool: don't follow dependencies to avoided modules
29981         This fixes a bug that is related to the previous one.
29982         * gnulib-tool (func_modules_transitive_closure)
29983         (func_emit_autoconf_snippets):
29984         Check whether a dependency is acceptable before using it.
29985         (--extract-dependencies): Report an error if --avoid is also used,
29986         since this combination of options is not yet supported.
29988         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
29989         Problem reported by Peter Dyballa in
29990         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
29991         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
29992         when echoing "$condition".
29994 2011-10-07  Bruno Haible  <bruno@clisp.org>
29996         Fix documentation about math functions on MacOS X.
29997         * doc/posix-functions/exp2.texi: Don't say the function is missing on
29998         MacOS X 10.5.
29999         * doc/posix-functions/fdim.texi: Likewise.
30000         * doc/posix-functions/feclearexcept.texi: Likewise.
30001         * doc/posix-functions/fegetenv.texi: Likewise.
30002         * doc/posix-functions/fegetround.texi: Likewise.
30003         * doc/posix-functions/feholdexcept.texi: Likewise.
30004         * doc/posix-functions/feraiseexcept.texi: Likewise.
30005         * doc/posix-functions/fesetenv.texi: Likewise.
30006         * doc/posix-functions/fesetround.texi: Likewise.
30007         * doc/posix-functions/fetestexcept.texi: Likewise.
30008         * doc/posix-functions/feupdateenv.texi: Likewise.
30009         * doc/posix-functions/fmax.texi: Likewise.
30010         * doc/posix-functions/fmin.texi: Likewise.
30011         * doc/posix-functions/log2.texi: Likewise.
30012         * doc/posix-functions/modff.texi: Likewise.
30013         * doc/posix-functions/nan.texi: Likewise.
30014         * doc/posix-functions/nanf.texi: Likewise.
30015         * doc/posix-functions/nextafterf.texi: Likewise.
30016         * doc/posix-functions/remquo.texi: Likewise.
30018 2011-10-07  Bruno Haible  <bruno@clisp.org>
30020         modff: Drop assumption about library that defines modff.
30021         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
30022         AC_CHECK_FUNCS.
30023         * modules/modff (Files): Add m4/mathfunc.m4.
30025 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
30027         raise tests: Avoid a GCC warning.
30028         * tests/test-raise.c (handler): Use _Noreturn.
30030 2011-10-07  Bruno Haible  <bruno@clisp.org>
30032         Tests for module 'ldexpf'.
30033         * modules/ldexpf-tests: New file.
30034         * tests/test-ldexpf.c: New file.
30036         New module 'ldexpf'.
30037         * lib/math.in.h (ldexpf): New declaration.
30038         * lib/ldexpf.c: New file.
30039         * m4/ldexpf.m4: New file.
30040         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
30041         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
30042         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
30043         * modules/ldexpf: New file.
30044         * tests/test-math-c++.cc: Check the declaration of ldexpf.
30045         * doc/posix-functions/ldexpf.texi: Mention the new module.
30047 2011-10-06  Bruno Haible  <bruno@clisp.org>
30049         frexpf: Work around problems on IRIX and mingw.
30050         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
30051         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
30052         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
30053         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
30054         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
30055         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
30056         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
30058 2011-10-06  Bruno Haible  <bruno@clisp.org>
30060         fabsf: Drop assumption about library that defines fabsf.
30061         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
30062         AC_CHECK_FUNCS.
30063         * modules/fabsf (Files): Add m4/mathfunc.m4.
30065 2011-10-06  Bruno Haible  <bruno@clisp.org>
30067         frexpf: Drop assumption about library that defines frexpf.
30068         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
30069         'int *', 'float *', 'long double *', 'float', 'long double'.
30070         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
30071         AC_CHECK_FUNCS.
30072         * modules/frexpf (Files): Add m4/mathfunc.m4.
30074         Tests for module 'frexpf'.
30075         * modules/frexpf-tests: New file.
30076         * tests/test-frexpf.c: New file.
30078         New module 'frexpf'.
30079         * lib/math.in.h (frexpf): New declaration.
30080         * lib/frexpf.c: New file.
30081         * m4/frexpf.m4: New file.
30082         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
30083         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
30084         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
30085         * modules/frexpf: New file.
30086         * tests/test-math-c++.cc: Check the declaration of frexpf.
30087         * doc/posix-functions/frexpf.texi: Mention the new module.
30089 2011-10-06  Bruno Haible  <bruno@clisp.org>
30091         math: Sort function declarations of math.in.h.
30092         * lib/math.in.h (frexp, logb): Move declarations.
30094 2011-10-05  Bruno Haible  <bruno@clisp.org>
30096         Tests for module 'modff'.
30097         * modules/modff-tests: New file.
30098         * tests/test-modff.c: New file.
30100         New module 'modff'.
30101         * lib/math.in.h (modff): New declaration.
30102         * lib/modff.c: New file.
30103         * m4/modff.m4: New file.
30104         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
30105         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
30106         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
30107         * modules/modff: New file.
30108         * tests/test-math-c++.cc: Check the declaration of modff.
30109         * doc/posix-functions/modff.texi: Mention the new module.
30111         modf tests: Make test sharper.
30112         * tests/test-modf.c (main): Strengthen upper bound.
30114         modf: Use a .m4 file.
30115         * m4/modf.m4: New file.
30116         * modules/modf (Files): Add it.
30117         (configure.ac): Just invoke gl_FUNC_MODF.
30119 2011-10-05  Bruno Haible  <bruno@clisp.org>
30121         Tests for module 'fmodf'.
30122         * modules/fmodf-tests: New file.
30123         * tests/test-fmodf.c: New file.
30125         New module 'fmodf'.
30126         * lib/math.in.h (fmodf): New declaration.
30127         * lib/fmodf.c: New file.
30128         * m4/fmodf.m4: New file.
30129         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
30130         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
30131         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
30132         * modules/fmodf: New file.
30133         * tests/test-math-c++.cc: Check the declaration of fmodf.
30134         * doc/posix-functions/fmodf.texi: Mention the new module.
30136         fmod: Use a .m4 file.
30137         * m4/fmod.m4: New file.
30138         * modules/fmod (Files): Add it.
30139         (configure.ac): Just invoke gl_FUNC_FMOD.
30141 2011-10-05  Bruno Haible  <bruno@clisp.org>
30143         Tests for module 'fabsf'.
30144         * modules/fabsf-tests: New file.
30145         * tests/test-fabsf.c: New file.
30147         New module 'fabsf'.
30148         * lib/math.in.h (fabsf): New declaration.
30149         * lib/fabsf.c: New file.
30150         * m4/fabsf.m4: New file.
30151         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
30152         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
30153         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
30154         * modules/fabsf: New file.
30155         * tests/test-math-c++.cc: Check the declaration of fabsf.
30156         * doc/posix-functions/fabsf.texi: Mention the new module.
30158         fabs: Use a .m4 file.
30159         * m4/fabs.m4: New file.
30160         * modules/fabs (Files): Add it.
30161         (configure.ac): Just invoke gl_FUNC_FABS.
30163 2011-10-05  Jim Meyering  <meyering@redhat.com>
30165         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
30166         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
30167         ls -lL regression introduced in coreutils-8.12, it does so at the
30168         cost of an additional stat call in the common case.  Besides, now
30169         that the kernel change that prompted commit 95f7c57f has been reverted
30170         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
30171         we have no use for commit 95f7c57f, "file-has-acl: use
30172         acl_extended_file_nofollow if available".
30174 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
30176         file-has-acl: revert unintended change in behavior of ls -L
30177         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
30178         derived from...
30179         (file_has_acl): ...code here.  Call it.
30180         This problem was introduced with 2011-07-22 commit 95f7c57f,
30181         "file-has-acl: use acl_extended_file_nofollow if available".
30182         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
30184 2011-10-03  Bruno Haible  <bruno@clisp.org>
30186         poll: Avoid link errors on MSVC.
30187         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
30188         * modules/poll (Depends-on): Add sockets.
30189         (Link): New section.
30190         * NEWS: Mention the change.
30191         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
30192         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
30193         $(LIB_POLL) instead of $(LIBSOCKET).
30195 2011-10-03  Bruno Haible  <bruno@clisp.org>
30197         sys_select tests: Fix link error on MSVC 9.
30198         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
30199         with $(LIB_SELECT) instead of $(LIBSOCKET).
30201 2011-10-03  Bruno Haible  <bruno@clisp.org>
30203         sys_select: Fix compilation error on mingw.
30204         * lib/sys_select.in.h: On native Windows, include <io.h>.
30206 2011-10-03  Bruno Haible  <bruno@clisp.org>
30208         wmemset: Support for MSVC.
30209         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
30210         whether wmemset() exists.
30212 2011-10-03  Bruno Haible  <bruno@clisp.org>
30214         wmemmove: Support for MSVC.
30215         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
30216         whether wmemmove() exists.
30218 2011-10-03  Bruno Haible  <bruno@clisp.org>
30220         wmemcpy: Support for MSVC.
30221         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
30222         whether wmemcpy() exists.
30224 2011-10-03  Bruno Haible  <bruno@clisp.org>
30226         wmemcmp: Support for MSVC.
30227         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
30228         whether wmemcmp() exists.
30230 2011-10-03  Bruno Haible  <bruno@clisp.org>
30232         wmemchr: Support for MSVC.
30233         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
30234         whether wmemchr() exists.
30236 2011-10-03  Bruno Haible  <bruno@clisp.org>
30238         glthread/*, strsignal: Support for MSVC.
30239         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
30240         including <winsock.h> on MSVC 9.
30241         * lib/glthread/lock.h: Likewise.
30242         * lib/glthread/thread.h: Likewise.
30243         * lib/glthread/tls.h: Likewise.
30244         * lib/glthread/yield.h: Likewise.
30245         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
30246         if HAVE_UNISTD_H is false.
30247         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
30249 2011-10-03  Bruno Haible  <bruno@clisp.org>
30251         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
30252         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
30253         Set to 100000.
30255 2011-10-03  Bruno Haible  <bruno@clisp.org>
30257         acl: Fix specification.
30258         * lib/file-has-acl.c (file_has_acl): Fix specification.
30260 2011-10-03  Bruno Haible  <bruno@clisp.org>
30262         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
30263         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
30264         (compute_curr_prefix, shared_library_fullname,
30265         find_shared_library_fullname, get_shared_library_fullname, relocate):
30266         Use it together with PIC && INSTALLDIR.
30267         Reported by <jojelino@gmail.com>
30268         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
30270 2011-10-01  Jim Meyering  <meyering@redhat.com>
30272         maint.mk: adjust a release-related rule not to require use of gzip
30273         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
30274         Instead, check each file in $(DIST_ARCHIVES).  This is better for
30275         projects that build only .tar.xz files.  Also fix an erroneous test.
30277         test-linkat: don't leave behind a temporary file
30278         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
30279         Otherwise, coreutils' "make distcheck" would fail with this:
30280           Only in /c/cu/tests/torture/coreutils/test/\
30281             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
30282           make[2]: *** [my-distcheck] Error 1
30284         float, math: add omitted file
30285         * lib/itold.c: Add file, required for yesterday's float change.
30287 2011-10-01  Bruno Haible  <bruno@clisp.org>
30289         isinf: Fix for OpenBSD/x86.
30290         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
30291         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
30292         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
30294 2011-10-01  Bruno Haible  <bruno@clisp.org>
30296         isfinite: Fix syntax error in configure test.
30297         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
30299         isfinite: Fix typo.
30300         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
30301         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
30303 2011-10-01  Bruno Haible  <bruno@clisp.org>
30305         nonblocking tests: Fix test failure on Linux/IA-64.
30306         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
30307         Set to 270000.
30309 2011-10-01  Bruno Haible  <bruno@clisp.org>
30311         mkfifoat tests: Fix a test failure on mingw.
30312         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
30313         with error ENOSYS.
30315 2011-09-30  Bruno Haible  <bruno@clisp.org>
30317         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
30318         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
30319         'long double'. Set REPLACE_ITOLD.
30320         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
30321         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
30322         * lib/itold.c: New file.
30323         * modules/float (Files): Add lib/itold.c.
30324         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
30325         (Makefile.am): Substitute REPLACE_ITOLD.
30326         * modules/math (Depends-on): Add float.
30327         (Makefile.am): Substitute REPLACE_ITOLD.
30328         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
30329         * doc/posix-headers/math.texi: Likewise.
30330         * doc/posix-functions/logl.texi: Likewise.
30332 2011-09-30  Bruno Haible  <bruno@clisp.org>
30334         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
30335         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
30336         Set to 140000.
30338 2011-09-30  Bruno Haible  <bruno@clisp.org>
30340         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
30341         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
30342         invocation, say "right after AC_PROG_CC_STDC", not "right after
30343         AC_PROG_CC".
30344         Reported by Gary V. Vaughan <gary@gnu.org>.
30346 2011-09-30  Bruno Haible  <bruno@clisp.org>
30348         Centralize C99 requirement.
30349         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
30350         * modules/stdarg (configure.ac-early): Invoke it instead of
30351         AC_PROG_CC_STDC.
30352         Reported by Gary V. Vaughan and Paul Eggert.
30354 2011-09-29  Bruno Haible  <bruno@clisp.org>
30356         float: Fix LDBL_MAX value on Linux/PowerPC.
30357         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
30358         on Linux/PowerPC.
30359         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
30360         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
30361         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
30362         platform.
30363         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
30365 2011-09-29  Bruno Haible  <bruno@clisp.org>
30367         doc: Improve doc about gl_EARLY.
30368         * doc/gnulib-tool.texi (Initial import): Mention where to place an
30369         AC_PROG_CC_STDC invocation.
30370         Reported by Gary V. Vaughan <gary@gnu.org>.
30372 2011-09-28  Bruno Haible  <bruno@clisp.org>
30374         fgetc, fputc, fread, fwrite tests: Fix link error.
30375         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
30376         on non-MSVC platforms.
30377         * tests/test-fputc.c (main): Likewise.
30378         * tests/test-fread.c (main): Likewise.
30379         * tests/test-fwrite.c (main): Likewise.
30380         Reported by Jim Meyering.
30382 2011-09-27  Bruno Haible  <bruno@clisp.org>
30384         fputc, fwrite tests: Avoid test failure on MSVC.
30385         * tests/test-fgetc.c: Include msvc-inval.h.
30386         (main): Invoke gl_msvc_inval_ensure_handler.
30387         * tests/test-fputc.c: Include msvc-inval.h.
30388         (main): Invoke gl_msvc_inval_ensure_handler.
30389         * tests/test-fread.c: Include msvc-inval.h.
30390         (main): Invoke gl_msvc_inval_ensure_handler.
30391         * tests/test-fwrite.c: Include msvc-inval.h.
30392         (main): Invoke gl_msvc_inval_ensure_handler.
30393         * modules/fgetc-tests (Depends-on): Add msvc-inval.
30394         * modules/fputc-tests (Depends-on): Likewise.
30395         * modules/fread-tests (Depends-on): Likewise.
30396         * modules/fwrite-tests (Depends-on): Likewise.
30398 2011-09-27  Bruno Haible  <bruno@clisp.org>
30400         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
30401         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
30402         (raise): Remove older, duplicated declaration.
30403         (_gl_raise_SIGPIPE): New declaration.
30404         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
30405         (rpl_raise): Remove function.
30406         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
30407         a gnulib-defined SIGPIPE here.
30408         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
30409         'sigprocmask' has detected missing signal-blocking and the module
30410         'sigpipe' is enabled.
30411         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
30413 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
30415         base64-tests: avoid memory leak
30416         * tests/test-base64.c (main): Plug memory leak.
30418         base32: new module
30419         * modules/base32: New module.
30420         * lib/base32.c: New file.
30421         * lib/base32.h: Likewise.
30422         * m4/base32.m4: Likewise.
30423         * modules/base32-tests: New test.
30424         * tests/test-base32.c: Likewise.
30425         * MODULES.html.sh (Misc): Mention it.
30427 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
30429         gnulib: use more-standard license notice wording
30430         * gnulib-tool (func_emit_copyright_notice): When emitting a
30431         license notice into a file, use the standard wording as suggested
30432         by the current information for GNU maintainers, except say "file"
30433         rather than "program".  The new wording gives a license version
30434         number, which addresses an issue raised by Glenn Morris in
30435         <http://lists.gnu.org/r/bug-gnulib/2011-09/msg00397.html>.
30436         * m4/onceonly.m4: Use that same wording here, too.
30438         dup2: minor simplification
30439         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
30440         as lib/dup2.c no longer uses 'inline'.
30442 2011-09-25  Bruno Haible  <bruno@clisp.org>
30444         strings: Fix compilation error on MSVC.
30445         * lib/strings.in.h: Include <stddef.h> for size_t.
30447 2011-09-25  Bruno Haible  <bruno@clisp.org>
30449         fflush et al.: Document limitation on MSVC.
30450         * doc/posix-functions/fflush.texi: Document possible crash in handling
30451         mode other than DEFAULT_HANDLING.
30452         * doc/posix-functions/fgetc.texi: Likewise.
30453         * doc/posix-functions/fputc.texi: Likewise.
30454         * doc/posix-functions/fread.texi: Likewise.
30455         * doc/posix-functions/fwrite.texi: Likewise.
30457 2011-09-25  Bruno Haible  <bruno@clisp.org>
30459         msvc-inval: Allow three invalid parameter handling modes.
30460         * lib/msvc-inval.h: Don't include <stdlib.h> here.
30461         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
30462         macros.
30463         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
30464         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
30465         SANE_LIBRARY_HANDLING as a no-op.
30466         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
30467         <stdlib.h>.
30468         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
30470 2011-09-25  Bruno Haible  <bruno@clisp.org>
30472         msvc-inval: Make handler multithread-safe.
30473         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
30474         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
30475         declarations.
30476         (gl_msvc_inval_current): New declaration.
30477         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
30478         Operate on the structure returned by gl_msvc_inval_current().
30479         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
30480         Remove varaiables.
30481         (tls_index, tls_initialized): New variables.
30482         (not_per_thread): New variable.
30483         (gl_msvc_inval_current): New function.
30484         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
30485         returned by gl_msvc_inval_current().
30487 2011-09-25  Bruno Haible  <bruno@clisp.org>
30489         msvc-inval: Install handler globally.
30490         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
30491         !_MSC_VER.
30492         (gl_msvc_invalid_parameter_handler): Remove declaration.
30493         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
30494         declarations.
30495         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
30496         Install the handler globally, don't uninstall it.
30497         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
30498         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
30499         currently valid, call RaiseException instead.
30500         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
30501         for !_MSC_VER.
30503 2011-09-25  Bruno Haible  <bruno@clisp.org>
30505         strerror_r-posix: Fix for MSVC 9.
30506         * lib/strerror_r.c (local_snprintf): New function.
30507         (snprintf): Define to local_snprintf, not to _snprintf.
30509 2011-09-25  Bruno Haible  <bruno@clisp.org>
30511         ftruncate: Support for MSVC 9.
30512         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
30513         (chsize_nothrow): New function.
30514         (chsize): Redefine as a macro.
30515         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
30516         * modules/ftruncate (Depends-on): Add msvc-inval.
30518 2011-09-25  Bruno Haible  <bruno@clisp.org>
30520         New module 'fstat'.
30521         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
30522         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
30523         * lib/fchdir.c (rpl_fstat): Remove function.
30524         * m4/fstat.m4: New file.
30525         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
30526         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
30527         declared.
30528         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
30529         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
30530         * modules/fstat: New file.
30531         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
30532         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
30533         is set.
30534         * doc/posix-functions/fstat.texi: Mention the new module and the
30535         problem on MSVC.
30536         * NEWS: Mention the change.
30537         * modules/acl (Depends-on): Add fstat.
30538         * modules/chdir-safer (Depends-on): Likewise.
30539         * modules/chown (Depends-on): Likewise.
30540         * modules/copy-file (Depends-on): Likewise.
30541         * modules/fchdir (Depends-on): Likewise.
30542         * modules/fdopendir (Depends-on): Likewise.
30543         * modules/fopen (Depends-on): Likewise.
30544         * modules/fts (Depends-on): Likewise.
30545         * modules/getcwd (Depends-on): Likewise.
30546         * modules/isapipe (Depends-on): Likewise.
30547         * modules/linkat (Depends-on): Likewise.
30548         * modules/lseek (Depends-on): Likewise.
30549         * modules/mkdir-p (Depends-on): Likewise.
30550         * modules/open (Depends-on): Likewise.
30551         * modules/openat (Depends-on): Likewise.
30552         * modules/read-file (Depends-on): Likewise.
30553         * modules/renameat (Depends-on): Likewise.
30554         * modules/utimens (Depends-on): Likewise.
30556 2011-09-25  Bruno Haible  <bruno@clisp.org>
30558         linkat: Fix compilation on MSVC 9.
30559         * lib/linkat.c: Don't include <stdint.h>.
30561 2011-09-25  Bruno Haible  <bruno@clisp.org>
30563         fclose: Support for MSVC 9.
30564         * lib/fclose.c: Include msvc-inval.h.
30565         (fclose_nothrow): New function.
30566         (rpl_fclose): Use it.
30567         * modules/fclose (Depends-on): Add msvc-inval.
30568         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
30570 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
30572         dup2: minor simplifications
30573         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
30574         that it's a performance win.
30575         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
30576         ! defined __CYGWIN__)" to "ifdef F_GETFL".
30578 2011-09-24  Jim Meyering  <meyering@redhat.com>
30580         test-futimens: avoid a warning from gcc -Wshadow
30581         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
30582         to avoid a shadowing warning.
30584 2011-09-24  Bruno Haible  <bruno@clisp.org>
30586         fdopen: Support for MSVC 9.
30587         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
30588         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
30589         * lib/fdopen.c: Include msvc-inval.h.
30590         (fdopen_nothrow): New function.
30591         (rpl_fdopen): Use it.
30592         * modules/fdopen (Depends-on): Add msvc-inval.
30593         * modules/fclose-tests (Depends-on): Add fdopen.
30594         * modules/fflush-tests (Depends-on): Likewise.
30595         * modules/fgetc-tests (Depends-on): Likewise.
30596         * modules/fputc-tests (Depends-on): Likewise.
30597         * modules/fread-tests (Depends-on): Likewise.
30598         * modules/freopen-tests (Depends-on): Likewise.
30599         * modules/fseeko-tests (Depends-on): Likewise.
30600         * modules/ftello-tests (Depends-on): Likewise.
30601         * modules/fwrite-tests  (Depends-on): Likewise.
30602         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
30604 2011-09-24  Bruno Haible  <bruno@clisp.org>
30606         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
30607         * modules/fgetc-tests (Depends-on): Add unistd.
30608         * modules/fputc-tests (Depends-on): Likewise.
30609         * modules/fread-tests (Depends-on): Likewise.
30610         * modules/fwrite-tests (Depends-on): Likewise.
30612 2011-09-24  Bruno Haible  <bruno@clisp.org>
30614         dup: Simplify autoconf test.
30615         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
30616         on gl_MSVC_INVAL's result.
30618 2011-09-24  Bruno Haible  <bruno@clisp.org>
30620         Tests for function fwrite().
30621         * modules/fwrite-tests: New file.
30622         * tests/test-fwrite.c: New file.
30623         * modules/stdio-tests (Depends-on): Add fwrite-tests.
30625         Tests for function fread().
30626         * modules/fread-tests: New file.
30627         * tests/test-fread.c: New file.
30628         * modules/stdio-tests (Depends-on): Add fread-tests.
30630         Activate fputc tests.
30631         * modules/stdio-tests (Depends-on): Add fputc-tests.
30633         Enhance fgetc, fputc tests.
30634         * tests/test-fgetc.c (main): Also test the stream's error indicator.
30635         * tests/test-fputc.c (main): Likewise.
30637 2011-09-24  Bruno Haible  <bruno@clisp.org>
30639         write: Support for MSVC 9.
30640         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
30641         is not 1.
30642         * lib/write.c (write_nothrow): New function.
30643         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
30644         not 1. Use write_nothrow.
30645         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
30646         invalid parameter handler.
30647         (gl_PREREQ_WRITE): New macro.
30648         * modules/write (Depends-on): Add msvc-inval.
30649         (configure.ac): Invoke gl_PREREQ_WRITE.
30650         * doc/posix-functions/write.texi: Mention the problem on MSVC.
30652 2011-09-24  Bruno Haible  <bruno@clisp.org>
30654         read: Fix last commit.
30655         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
30657 2011-09-24  Bruno Haible  <bruno@clisp.org>
30659         dup2: Fix last commit.
30660         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
30661         (rpl_dup2): Disable fcntl workaround on native Windows.
30663         sigprocmask: Make code safer.
30664         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
30665         section that changes macro definitions for this compilation unit.
30667 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
30669         dup2: clarify by coalescing Windows-specific material
30670         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
30671         "msvc-nothrow.h"' to the Windows-specific section, so that the
30672         Emacs source need not contain these include files.
30673         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
30674         Windows-specific fixes into this function rather than just the
30675         nothrow fix, as this shortens and clarifies the code.  Always
30676         define as a function, as that's a bit cleaner than having it be
30677         sometimes a function and sometimes a macro.
30678         (rpl_dup2): Move the Windows-specific stuff out of here and into
30679         ms_windows_dup2.  Don't protect the Haiku-related fix with
30680         "#if !defined __linux__", as the same code also works around
30681         a Linux kernel bug, and it doesn't add any system calls on any
30682         platform.  Add comment about FreeBSD 6.1.
30684         sigprocmask: move #include directive
30685         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
30686         Windows-specific section, so that the Emacs source need not
30687         contain msvc-inval.h.
30689 2011-09-23  Bruno Haible  <bruno@clisp.org>
30691         read: Support for MSVC 9.
30692         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
30693         is not 1.
30694         * lib/read.c (read_nothrow): New function.
30695         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
30696         read_nothrow.
30697         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
30698         invalid parameter handler.
30699         (gl_PREREQ_READ): New macro.
30700         * modules/read (Depends-on): Add msvc-inval.
30701         (configure.ac): Invoke gl_PREREQ_READ.
30702         * doc/posix-functions/read.texi: Mention the problem on MSVC.
30704 2011-09-23  Bruno Haible  <bruno@clisp.org>
30706         close: Support for MSVC 9.
30707         * lib/close.c: Include <errno.h>, msvc-inval.h.
30708         (close_nothrow): New function.
30709         (rpl_close): Use it.
30710         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
30711         invalid parameter handler.
30712         * modules/close (Depends-on): Add msvc-inval.
30713         * modules/dup2-tests (Depends-on): Add close.
30714         * modules/dup3-tests (Depends-on): Likewise.
30715         * modules/fcntl-tests (Depends-on): Likewise.
30716         * modules/spawn-pipe-tests (Depends-on): Likewise.
30717         * modules/unistd-safer-tests (Depends-on): Likewise.
30718         * doc/posix-functions/close.texi: Mention the problem on MSVC.
30720 2011-09-23  Bruno Haible  <bruno@clisp.org>
30722         New module 'dup'.
30723         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
30724         Allow replacement.
30725         * lib/dup.c: New file.
30726         * lib/fchdir.c (rpl_dup): Remove function.
30727         * m4/dup.m4: New file.
30728         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
30729         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
30730         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
30731         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
30732         * modules/dup: New file.
30733         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
30734         'dup' module is in use.
30735         * modules/fdopendir (Depends-on): Add dup.
30736         * modules/fdutimensat-tests (Depends-on): Likewise.
30737         * modules/fts (Depends-on): Likewise.
30738         * modules/futimens-tests (Depends-on): Likewise.
30739         * modules/posix_spawnp-tests (Depends-on): Likewise.
30740         * modules/unistd-safer-tests (Depends-on): Likewise.
30741         * modules/utimens-tests (Depends-on): Likewise.
30742         * doc/posix-functions/dup.texi: Mention the new module and the problem
30743         on MSVC.
30745 2011-09-23  Bruno Haible  <bruno@clisp.org>
30747         getdtablesize: Support for MSVC 9.
30748         * lib/getdtablesize.c: Include msvc-inval.h.
30749         (_setmaxstdio_nothrow): New function.
30750         (_setmaxstdio): Redefine it.
30751         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
30752         * modules/getdtablesize (Depends-on): Add msvc-inval.
30753         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
30755 2011-09-23  Bruno Haible  <bruno@clisp.org>
30757         signal-h: Rename from signal.
30758         * modules/signal-h: Renamed from modules/signal.
30759         * modules/pthread_sigmask (Depends-on): Update.
30760         * modules/raise (Depends-on): Likewise.
30761         * modules/sigaction (Depends-on): Likewise.
30762         * modules/sigpipe (Depends-on): Likewise.
30763         * modules/sigprocmask (Depends-on): Likewise.
30764         * modules/sys_select (Depends-on): Likewise.
30765         * modules/signal-h-tests: Renamed from modules/signal-tests.
30766         (Files, Depends-on, Makefile.am): Update.
30767         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
30768         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
30769         (Files, Makefile.am): Update.
30770         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
30771         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
30772         * modules/signal: New placeholder file.
30773         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
30774         * doc/posix-headers/signal.texi: Update.
30775         * NEWS: Mention the change.
30777 2011-09-23  Bruno Haible  <bruno@clisp.org>
30779         sigprocmask: Avoid crashes through signal() on MSVC 9.
30780         * lib/sigprocmask.c: Include msvc-inval.h.
30781         (signal_nothrow): New function.
30782         (signal): Redefine it.
30783         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
30784         * modules/sigprocmask (Depends-on): Add msvc-inval.
30785         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
30787 2011-09-23  Bruno Haible  <bruno@clisp.org>
30789         Tests for module 'raise'.
30790         * modules/raise-tests: New file.
30791         * tests/test-raise.c: New file.
30793         raise: Support for MSVC.
30794         * lib/signal.in.h (raise): New declaration.
30795         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
30796         for native Windows platforms.
30797         * m4/raise.m4: New file.
30798         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
30799         HAVE_RAISE, REPLACE_RAISE.
30800         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
30801         REPLACE_RAISE.
30802         * modules/raise (Status, Notice): Remove fields.
30803         (Files): Add m4/raise.m4.
30804         (Depends-on): Add signal, msvc-inval.
30805         (configure.ac): Use the common idioms.
30806         (Maintainer): Add me.
30807         * tests/test-signal-c++.cc: Check the signature of raise.
30808         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
30810 2011-09-23  Bruno Haible  <bruno@clisp.org>
30812         pipe2: Fix compilation on pre-C99 compilers.
30813         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
30815 2011-09-23  Bruno Haible  <bruno@clisp.org>
30817         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
30818         * lib/msvc-nothrow.h: New file.
30819         * lib/msvc-nothrow.c: New file.
30820         * m4/msvc-nothrow.m4: New file.
30821         * modules/msvc-nothrow: New file.
30822         * lib/dup2.c: Include msvc-nothrow.h.
30823         (rpl_dup2): No need to protect _get_osfhandle call here.
30824         * lib/accept4.c: Include msvc-nothrow.h.
30825         * lib/error.c: Likewise.
30826         * lib/fcntl.c: Likewise.
30827         * lib/lseek.c: Likewise.
30828         * lib/nonblocking.c: Likewise.
30829         * lib/poll.c: Likewise.
30830         * lib/read.c: Likewise.
30831         * lib/select.c: Likewise.
30832         * lib/sockets.h: Likewise.
30833         * lib/sockets.c: Likewise.
30834         * lib/stdio-read.c: Likewise.
30835         * lib/stdio-write.c: Likewise.
30836         * lib/write.c: Likewise.
30837         * lib/w32sock.h: Likewise.
30838         * lib/w32spawn.h: Likewise.
30839         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
30840         * lib/fsync.c: Likewise.
30841         * lib/isapipe.c: Likewise.
30842         * modules/dup2 (Depends-on): Add msvc-nothrow.
30843         * modules/accept4 (Depends-on): Likewise.
30844         * modules/error (Depends-on): Likewise.
30845         * modules/fcntl (Depends-on): Likewise.
30846         * modules/lseek (Depends-on): Likewise.
30847         * modules/nonblocking (Depends-on): Likewise.
30848         * modules/poll (Depends-on): Likewise.
30849         * modules/read (Depends-on): Likewise.
30850         * modules/select (Depends-on): Likewise.
30851         * modules/sockets (Depends-on): Likewise.
30852         * modules/sigpipe (Depends-on): Likewise.
30853         * modules/write (Depends-on): Likewise.
30854         * modules/accept (Depends-on): Likewise.
30855         * modules/bind (Depends-on): Likewise.
30856         * modules/connect (Depends-on): Likewise.
30857         * modules/gethostname (Depends-on): Likewise.
30858         * modules/getpeername (Depends-on): Likewise.
30859         * modules/getsockname (Depends-on): Likewise.
30860         * modules/getsockopt (Depends-on): Likewise.
30861         * modules/ioctl (Depends-on): Likewise.
30862         * modules/listen (Depends-on): Likewise.
30863         * modules/recv (Depends-on): Likewise.
30864         * modules/recvfrom (Depends-on): Likewise.
30865         * modules/send (Depends-on): Likewise.
30866         * modules/sendto (Depends-on): Likewise.
30867         * modules/setsockopt (Depends-on): Likewise.
30868         * modules/shutdown (Depends-on): Likewise.
30869         * modules/socket (Depends-on): Likewise.
30870         * modules/execute (Depends-on): Likewise.
30871         * modules/spawn-pipe (Depends-on): Likewise.
30872         * modules/flock (Depends-on): Likewise.
30873         * modules/fsync (Depends-on): Likewise.
30874         * modules/isapipe (Depends-on): Likewise.
30875         * tests/test-cloexec.c: Include msvc-nothrow.h.
30876         * tests/test-dup-safer.c: Likewise.
30877         * tests/test-dup2.c: Likewise.
30878         * tests/test-dup3.c: Likewise.
30879         * tests/test-fcntl.c: Likewise.
30880         * tests/test-pipe.c: Likewise.
30881         * tests/test-pipe2.c: Likewise.
30882         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
30883         * modules/unistd-safer-tests (Depends-on): Likewise.
30884         * modules/dup2-tests (Depends-on): Likewise.
30885         * modules/dup3-tests (Depends-on): Likewise.
30886         * modules/fcntl-tests (Depends-on): Likewise.
30887         * modules/pipe-posix-tests (Depends-on): Likewise.
30888         * modules/pipe2-tests (Depends-on): Likewise.
30890 2011-09-23  Bruno Haible  <bruno@clisp.org>
30892         dup2: Make code more maintainable.
30893         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
30894         (rpl_dup2): Use it.
30895         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
30896         * modules/dup2 (configure.ac): Invoke it.
30897         Reported by Paul Eggert.
30899 2011-09-23  Bruno Haible  <bruno@clisp.org>
30901         msvc-inval: Fix compilation error.
30902         * lib/msvc-inval.h: Include <excpt.h>.
30904 2011-09-23  Bruno Haible  <bruno@clisp.org>
30906         mkdir: Tweak for MSVC 9.
30907         * lib/sys_stat.in.h: Update comments.
30908         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
30910         Tests for module 'chdir'.
30911         * modules/chdir-tests: New file.
30912         * tests/test-chdir.c: New file.
30914         New module 'chdir'.
30915         * modules/chdir: New file.
30916         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
30917         (chdir): New declaration.
30918         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
30919         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
30920         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
30921         * tests/test-unistd-c++.cc: Check signature of chdir.
30922         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
30923         * modules/chdir-long (Depends-on): Add chdir.
30924         * modules/fchdir (Depends-on): Likewise.
30925         * modules/rename (Depends-on): Likewise.
30926         * modules/savewd (Depends-on): Likewise.
30928         rmdir: Support for mingw, MSVC 9.
30929         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
30930         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
30932         getcwd: Tweak for MSVC 9.
30933         * lib/unistd.in.h: Update comments.
30934         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
30936 2011-09-22  Bruno Haible  <bruno@clisp.org>
30938         strerror_r-posix: Avoid a link error on MSVC.
30939         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
30940         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
30942 2011-09-22  Bruno Haible  <bruno@clisp.org>
30944         select: Avoid link errors on MSVC.
30945         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
30946         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
30947         * modules/pselect (Link): Likewise.
30948         * NEWS: Mention the change.
30949         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
30950         test-select-stdin against $(LIB_SELECT).
30951         * modules/pselect-tests (Makefile.am): Link test-pselect against
30952         $(LIB_SELECT).
30954 2011-09-22  Bruno Haible  <bruno@clisp.org>
30956         select: Avoid compilation error on MSVC.
30957         * lib/select.c: Don't include <stdbool.h>.
30959 2011-09-21  Bruno Haible  <bruno@clisp.org>
30961         Consolidate all uses of PATH_MAX in *.m4 files.
30962         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
30963         macros.
30964         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
30965         and gl_PATHMAX_SNIPPET.
30966         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
30967         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
30968         * modules/chdir-long (Files): Add m4/pathmax.m4.
30969         * modules/getcwd (Files): Likewise.
30971 2011-09-21  Bruno Haible  <bruno@clisp.org>
30973         ftruncate: Un-deprecate, concentrate on Win32 support.
30974         * modules/ftruncate (Status, Notice): Remove sections.
30975         (Depends-on): Add largefile.
30976         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
30977         non-mingw platforms.
30978         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
30979         include <io.h>.
30980         * modules/perror-tests (Depends-on): Add ftruncate.
30981         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
30982         'ftruncate' module.
30984 2011-09-21  Bruno Haible  <bruno@clisp.org>
30986         Add dependencies to new dirent related modules.
30987         * modules/opendir (Depends-on): Add closedir.
30988         * modules/getcwd (Depends-on): Add opendir, closedir.
30989         * modules/dirent-safer-tests (Depends-on): Likewise.
30990         * modules/fdopendir-tests (Depends-on): Likewise.
30991         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
30992         * modules/renameat-tests (Depends-on): Likewise.
30994 2011-09-21  Bruno Haible  <bruno@clisp.org>
30996         opendir: Avoid compilation error on mingw.
30997         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
30998         * modules/opendir (Depends-on): Add unistd.
31000 2011-09-21  Bruno Haible  <bruno@clisp.org>
31002         ftruncate tests: Avoid a test failure on mingw.
31003         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
31005 2011-09-21  Bruno Haible  <bruno@clisp.org>
31007         select tests: Avoid test failures on OSF/1 5.1 and mingw.
31008         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
31009         native Windows.
31011 2011-09-21  Bruno Haible  <bruno@clisp.org>
31013         New module 'fdopen'.
31014         * lib/stdio.in.h (fdopen): New declaration.
31015         * lib/fdopen.c: New file.
31016         * m4/fdopen.m4: New file.
31017         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
31018         REPLACE_FDOPEN.
31019         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
31020         REPLACE_FDOPEN.
31021         * modules/fdopen: New file.
31022         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
31023         * tests/test-stdio-c++.cc: Check signature of fdopen.
31024         * doc/posix-functions/fdopen.texi: Mention the new module.
31026 2011-09-21  Bruno Haible  <bruno@clisp.org>
31028         unlockpt tests: Avoid test failure on NetBSD 5.1.
31029         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
31030         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
31032 2011-09-21  Bruno Haible  <bruno@clisp.org>
31034         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
31035         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
31036         * tests/test-getlogin_r.c (main): Likewise.
31038 2011-09-20  Bruno Haible  <bruno@clisp.org>
31040         time tests: Don't require pid_t.
31041         * doc/posix-headers/time.texi: Revert last change.
31042         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
31043         * tests/test-time.c: Comment out the check for pid_t.
31045 2011-09-20  Bruno Haible  <bruno@clisp.org>
31047         fsync tests: Avoid a test failure on mingw.
31048         * tests/test-fsync.c (main): Allow a failure with EIO.
31050 2011-09-20  Bruno Haible  <bruno@clisp.org>
31052         euidaccess: Update comments.
31053         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
31055 2011-09-20  Bruno Haible  <bruno@clisp.org>
31057         Ensure EBADF returns for socket functions on mingw.
31058         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
31059         descriptor is invalid.
31060         * lib/bind.c (rpl_bind): Likewise.
31061         * lib/connect.c (rpl_connect): Likewise.
31062         * lib/getpeername.c (rpl_getpeername): Likewise.
31063         * lib/getsockname.c (rpl_getsockname): Likewise.
31064         * lib/getsockopt.c (rpl_getsockopt): Likewise.
31065         * lib/listen.c (rpl_listen): Likewise.
31066         * lib/recv.c (rpl_recv): Likewise.
31067         * lib/recvfrom.c (rpl_recvfrom): Likewise.
31068         * lib/send.c (rpl_send): Likewise.
31069         * lib/sendto.c (rpl_sendto): Likewise.
31070         * lib/setsockopt.c (rpl_setsockopt): Likewise.
31071         * lib/shutdown.c (rpl_shutdown): Likewise.
31073 2011-09-20  Bruno Haible  <bruno@clisp.org>
31075         select tests: EBADF tests.
31076         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
31077         test_bad_fd): New functions.
31078         (test_function): Invoke also test_bad_fd.
31080 2011-09-20  Bruno Haible  <bruno@clisp.org>
31082         Tests for module 'posix_spawn_file_actions_addopen.
31083         * modules/posix_spawn_file_actions_addopen-tests: New file.
31084         * tests/test-posix_spawn_file_actions_addopen.c: New file.
31086         Tests for module 'posix_spawn_file_actions_adddup2'.
31087         * modules/posix_spawn_file_actions_adddup2-tests: New file.
31088         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
31090         Tests for module 'posix_spawn_file_actions_addclose'.
31091         * modules/posix_spawn_file_actions_addclose-tests: New file.
31092         * tests/test-posix_spawn_file_actions_addclose.c: New file.
31094 2011-09-20  Bruno Haible  <bruno@clisp.org>
31096         Tests for module 'unlockpt'.
31097         * modules/unlockpt-tests: New file.
31098         * tests/test-unlockpt.c: New file.
31099         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
31101         Tests for module 'grantpt'.
31102         * modules/grantpt-tests: New file.
31103         * tests/test-grantpt.c: New file.
31104         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
31106 2011-09-20  Bruno Haible  <bruno@clisp.org>
31108         freopen tests: EBADF tests.
31109         * tests/test-freopen.c: Include errno.h, unistd.h.
31110         (main): Add tests for EBADF, commented out for the moment.
31112         fclose tests: EBADF tests.
31113         * tests/test-fclose.c (main): Add tests for EBADF.
31115         fflush tests: EBADF tests.
31116         * tests/test-fflush.c: Include errno.h, macros.h.
31117         (main): Add tests for EBADF.
31119         ftello tests: EBADF tests.
31120         * tests/test-ftello4.sh: New file.
31121         * tests/test-ftello4.c: New file.
31122         * modules/ftello-tests (Files): Add them.
31123         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
31125         fseeko tests: EBADF tests.
31126         * tests/test-fseeko4.sh: New file.
31127         * tests/test-fseeko4.c: New file.
31128         * modules/fseeko-tests (Files): Add them.
31129         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
31131         Tests for function fputc().
31132         * modules/fputc-tests: New file.
31133         * tests/test-fputc.c: New file.
31134         * modules/stdio-tests (Depends-on): Add fputc-tests.
31136         Tests for function fgetc().
31137         * modules/fgetc-tests: New file.
31138         * tests/test-fgetc.c: New file.
31139         * modules/stdio-tests (Depends-on): Add fgetc-tests.
31141         Tests for function fdopen().
31142         * modules/fdopen-tests: New file.
31143         * tests/test-fdopen.c: New file.
31144         * modules/stdio-tests (Depends-on): Add fdopen-tests.
31146         Tests for module 'vdprintf'.
31147         * modules/vdprintf-tests: New file.
31148         * tests/test-vdprintf.c: New file.
31150         Tests for module 'dprintf'.
31151         * modules/dprintf-tests: New file.
31152         * tests/test-dprintf.c: New file.
31154 2011-09-20  Bruno Haible  <bruno@clisp.org>
31156         Tests for module 'ioctl'.
31157         * modules/ioctl-tests: New file.
31158         * tests/test-ioctl.c: New file.
31160 2011-09-20  Bruno Haible  <bruno@clisp.org>
31162         fcntl tests: EBADF tests.
31163         * tests/test-fcntl.c (main): Add more tests for EBADF.
31165 2011-09-20  Bruno Haible  <bruno@clisp.org>
31167         utimensat tests: EBADF tests.
31168         * tests/test-utimensat.c (main): Add tests for EBADF.
31170         renameat tests: EBADF tests.
31171         * tests/test-renameat.c (main): Add tests for EBADF.
31173         mkfifoat tests: EBADF tests.
31174         * tests/test-mkfifoat.c (main): Add tests for EBADF.
31176         readlinkat tests: EBADF tests.
31177         * tests/test-readlinkat.c (main): Add tests for EBADF.
31179         symlinkat tests: EBADF tests.
31180         * tests/test-symlinkat.c (main): Add tests for EBADF.
31182         linkat tests: EBADF tests.
31183         * tests/test-linkat.c (main): Add tests for EBADF.
31185         Tests for module 'faccessat'.
31186         * modules/faccessat-tests: New file.
31187         * tests/test-faccessat.c: New file.
31189         fdopendir tests: EBADF tests.
31190         * tests/test-fdopendir.c (main): Add more tests for EBADF.
31192         openat tests: EBADF tests.
31193         * tests/test-fchownat.c (main): Add tests for EBADF.
31194         * tests/test-fstatat.c (main): Likewise.
31195         * tests/test-mkdirat.c (main): Likewise.
31196         * tests/test-openat.c (main): Likewise.
31197         * tests/test-unlinkat.c (main): Likewise.
31198         * tests/test-fchmodat.c: New file.
31199         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
31200         (Makefile.am): Also run 'test-fchmodat'.
31202 2011-09-20  Bruno Haible  <bruno@clisp.org>
31204         utimens, futimens, fdutimensat tests: EBADF tests.
31205         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
31207         Tests for function fstat().
31208         * modules/fstat-tests: New file.
31209         * tests/test-fstat.c: New file.
31210         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
31212 2011-09-20  Bruno Haible  <bruno@clisp.org>
31214         test-ttyname_r tests: EBADF tests.
31215         * tests/test-ttyname_r.c (main): Add tests for EBADF.
31217         Tests for module 'isatty'.
31218         * modules/isatty-tests: New file.
31219         * tests/test-isatty.c: New file.
31221         Tests for module 'write'.
31222         * modules/write-tests: New file.
31223         * tests/test-write.c: New file.
31225         Tests for module 'read'.
31226         * modules/read-tests: New file.
31227         * tests/test-read.c: New file.
31229         pwrite tests: EBADF tests.
31230         * tests/test-pwrite.c (main): Add tests for EBADF.
31232         pread tests: EBADF tests.
31233         * tests/test-pread.c (main): Add tests for EBADF.
31235         lseek tests: EBADF tests.
31236         * tests/test-lseek.c (main): Add more tests for EBADF.
31238         Tests for module 'ftruncate'.
31239         * modules/ftruncate-tests: New file.
31240         * tests/test-ftruncate.sh: New file.
31241         * tests/test-ftruncate.c: New file.
31243         fsync tests: EBADF tests.
31244         * tests/test-fsync.c (main): Add more tests for EBADF.
31246         fdatasync tests: EBADF tests.
31247         * tests/test-fdatasync.c (main): Add more tests for EBADF.
31249         Tests for module 'fchown'.
31250         * modules/fchown-tests: New file.
31251         * tests/test-fchown.c: New file.
31253         Tests for module 'fchmod'.
31254         * modules/fchmod-tests: New file.
31255         * tests/test-fchmod.c: New file.
31257         fchdir tests: EBADF tests.
31258         * tests/test-fchdir.c (main): Add more tests for EBADF.
31260         dup2 tests: EBADF tests.
31261         * tests/test-dup2.c (main): Add more tests for EBADF.
31263         Tests for module 'dup'.
31264         * modules/dup-tests: New file.
31265         * tests/test-dup.c: New file.
31267         Tests for module 'close'.
31268         * modules/close-tests: New file.
31269         * tests/test-close.c: New file.
31271 2011-09-20  Bruno Haible  <bruno@clisp.org>
31273         Tests for module 'shutdown'.
31274         * modules/shutdown-tests: New file.
31275         * tests/test-shutdown.c: New file.
31277         Tests for module 'setsockopt'.
31278         * modules/setsockopt-tests: New file.
31279         * tests/test-setsockopt.c: New file.
31281         Tests for module 'sendto'.
31282         * modules/sendto-tests: New file.
31283         * tests/test-sendto.c: New file.
31285         Tests for module 'send'.
31286         * modules/send-tests: New file.
31287         * tests/test-send.c: New file.
31289         Tests for module 'recvfrom'.
31290         * modules/recvfrom-tests: New file.
31291         * tests/test-recvfrom.c: New file.
31293         Tests for module 'recv'.
31294         * modules/recv-tests: New file.
31295         * tests/test-recv.c: New file.
31297         Tests for module 'listen'.
31298         * modules/listen-tests: New file.
31299         * tests/test-listen.c: New file.
31301         Tests for module 'getsockopt'.
31302         * modules/getsockopt-tests: New file.
31303         * tests/test-getsockopt.c: New file.
31305         Tests for module 'getsockname'.
31306         * modules/getsockname-tests: New file.
31307         * tests/test-getsockname.c: New file.
31309         Tests for module 'getpeername'.
31310         * modules/getpeername-tests: New file.
31311         * tests/test-getpeername.c: New file.
31313         Tests for module 'connect'.
31314         * modules/connect-tests: New file.
31315         * tests/test-connect.c: New file.
31317         Tests for module 'bind'.
31318         * modules/bind-tests: New file.
31319         * tests/test-bind.c: New file.
31321         accept4 tests: Fix for native Windows.
31322         * tests/test-accept4.c: Include sockets.h.
31323         (main): Invoke gl_sockets_startup.
31324         * modules/accept4-tests (Depends-on): Add sockets.
31326         accept tests: Fix for native Windows.
31327         * tests/test-accept.c: Include sockets.h.
31328         (main): Invoke gl_sockets_startup.
31329         * modules/accept-tests (Depends-on): Add sockets.
31331 2011-09-19  Bruno Haible  <bruno@clisp.org>
31333         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
31334         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
31335         do...while(0).
31336         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
31337         Suggested by Paul Eggert.
31339 2011-09-19  Bruno Haible  <bruno@clisp.org>
31341         sched: Ensure pid_t is defined.
31342         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
31343         not define pid_t.
31344         * lib/sched.in.h: Include <sys/types.h>.
31345         * doc/posix-headers/sched.texi: Mention the pid_t problem.
31346         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
31348 2011-09-19  Bruno Haible  <bruno@clisp.org>
31350         msvc-inval: Ensure the entire expansion is a single statement.
31351         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
31352         of braces.
31354 2011-09-19  Jim Meyering  <meyering@redhat.com>
31356         tests: use printf, not echo in init.sh's warn_ function
31357         * tests/init.sh (warn_): Use printf, not echo.  The latter would
31358         misbehave when given strings containing a backslash or starting
31359         with e.g., -n.  James Youngman suggested setting IFS.
31361 2011-09-19  Eric Blake  <eblake@redhat.com>
31363         futimens: enhance test
31364         * tests/test-futimens.h (test_futimens): Also check for EBADF on
31365         closed non-negative fd.
31367         date: accept 'hence' as opposite of 'ago'
31368         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
31369         * tests/test-parse-datetime.c (main): Enhance test.
31370         Suggested by Jesse Wilson.
31372 2011-09-19  Jim Meyering  <meyering@redhat.com>
31374         getcwd: don't fail in a deep directory on a system without openat
31375         Before this change, getcwd would fail when called from a directory
31376         of depth PATH_MAX / 3 or greater.  That was due to the fact that
31377         the non-openat implementation used "..", "../..", "../../..", etc.
31378         to access ancestor directories.  With too many, that string would
31379         be longer than PATH_MAX.
31380         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
31381         using gnulib's openat replacement.
31382         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
31383         we're using the replacement function.
31385 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
31387         maint.mk: avoid warnings from perl about missing files
31388         * top/maint.mk (def_sym_regex): Ignore files listed in
31389         $(gl_other_headers_) that do not exist, say because a project
31390         does not use a corresponding module.
31392 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
31394         stat: use pathmax.h only if needed
31395         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
31396         This is better for Emacs, which does not have a mingw port and
31397         therefore can avoid the pathmax module.
31399         utimens: remove dependency on dup2
31400         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
31401         to work around the Linux kernel bug.
31402         * modules/utimens (Depends-on): Remove dup2.
31404 2011-09-18  Bruno Haible  <bruno@clisp.org>
31406         inet_ntop, inet_pton: Look for it also in libresolv.
31407         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
31408         libnsl, search for it in libresolv.
31409         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
31410         Needed on Solaris 7.
31412 2011-09-18  Bruno Haible  <bruno@clisp.org>
31414         accept, accept4 tests: Avoid link error on Solaris.
31415         * modules/accept-tests (Makefile.am): Link test-accept against
31416         $(LIBSOCKET).
31417         * modules/accept4-tests (Makefile.am): Link test-accept4 against
31418         $(LIBSOCKET).
31420         accept4: Avoid link error on Solaris.
31421         * modules/accept4 (Link): New section.
31423         socket functions: Avoid link errors on Solaris.
31424         * modules/accept (Depends-on): Add socketlib.
31425         (Link): New section.
31426         * modules/bind (Depends-on): Add socketlib.
31427         (Link): New section.
31428         * modules/connect (Depends-on): Add socketlib.
31429         (Link): New section.
31430         * modules/getpeername (Depends-on): Add socketlib.
31431         (Link): New section.
31432         * modules/getsockname (Depends-on): Add socketlib.
31433         (Link): New section.
31434         * modules/getsockopt (Depends-on): Add socketlib.
31435         (Link): New section.
31436         * modules/listen (Depends-on): Add socketlib.
31437         (Link): New section.
31438         * modules/recv (Depends-on): Add socketlib.
31439         (Link): New section.
31440         * modules/recvfrom (Depends-on): Add socketlib.
31441         (Link): New section.
31442         * modules/send (Depends-on): Add socketlib.
31443         (Link): New section.
31444         * modules/sendto (Depends-on): Add socketlib.
31445         (Link): New section.
31446         * modules/setsockopt (Depends-on): Add socketlib.
31447         (Link): New section.
31448         * modules/shutdown (Depends-on): Add socketlib.
31449         (Link): New section.
31450         * modules/socket (Depends-on): Add socketlib.
31451         (Link): New section.
31453 2011-09-18  Bruno Haible  <bruno@clisp.org>
31455         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
31456         * tests/test-ptsname.c (main): Terminate the test if it takes longer
31457         than 5 seconds.
31458         * modules/ptsname-tests (configure.ac): Test for alarm.
31460 2011-09-18  Bruno Haible  <bruno@clisp.org>
31462         posix_spawn_file_actions_add*: Fix module dependencies.
31463         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
31464         posix_spawn_file_actions_init.
31465         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
31466         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
31468 2011-09-18  Bruno Haible  <bruno@clisp.org>
31470         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
31471         * tests/test-rename.h (test_rename): Allow error code EEXIST.
31472         * tests/test-renameat.c (main): Likewise.
31474 2011-09-18  Bruno Haible  <bruno@clisp.org>
31476         Tests for module 'accept4'.
31477         * modules/accept4-tests: New file.
31478         * tests/test-accept4.c: New file.
31480 2011-09-18  Bruno Haible  <bruno@clisp.org>
31482         Tests for module 'accept'.
31483         * modules/accept-tests: New file.
31484         * tests/test-accept.c: New file.
31486 2011-09-18  Bruno Haible  <bruno@clisp.org>
31488         dup2: Support for MSVC.
31489         * lib/dup2.c: Include msvc-inval.h.
31490         (rpl_dup2): Handle invalid parameter notifications during dup2 and
31491         _get_osfhandle calls.
31492         * modules/dup2 (Depends-on): Add msvc-inval.
31493         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
31495         New module 'msvc-inval'.
31496         * lib/msvc-inval.h: New file.
31497         * lib/msvc-inval.c: New file.
31498         * m4/msvc-inval.m4: New file.
31499         * modules/msvc-inval: New file.
31501 2011-09-17  Bruno Haible  <bruno@clisp.org>
31503         Tests for module 'pclose'.
31504         * modules/pclose-tests: New file.
31506         New module 'pclose'.
31507         * lib/stdio.in.h (pclose): New declaration.
31508         * lib/pclose.c: New file.
31509         * m4/pclose.m4: New file.
31510         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
31511         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
31512         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
31513         * modules/pclose: New file.
31514         * modules/popen-tests (Depends-on): Add pclose.
31515         * modules/popen-safer-tests (Depends-on): Likewise.
31516         * doc/posix-functions/pclose.texi: Mention the new module.
31518 2011-09-17  Bruno Haible  <bruno@clisp.org>
31520         popen: Support for MSVC.
31521         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
31522         * lib/popen.c (popen): Provide alternate definition for native Windows.
31523         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
31524         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
31525         * modules/popen (Depends-on, configure.ac): Update condition.
31526         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
31527         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
31528         fixed.
31530 2011-09-17  Bruno Haible  <bruno@clisp.org>
31532         isnanl, isnand, isnanf: Work around MSVC bug.
31533         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
31535 2011-09-17  Bruno Haible  <bruno@clisp.org>
31537         sys_socket tests: Fix recent mistake.
31538         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
31540 2011-09-17  Bruno Haible  <bruno@clisp.org>
31542         putenv: Support for MSVC.
31543         * modules/putenv (Depends-on): Add environ.
31544         * lib/putenv.c (environ): Disable declaration.
31545         * lib/unistd.in.h: Update comment.
31547 2011-09-17  Bruno Haible  <bruno@clisp.org>
31549         math: Avoid macro redefinition warnings on MSVC.
31550         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
31551         Undefine before redefining.
31553 2011-09-17  Bruno Haible  <bruno@clisp.org>
31555         doc: Mention functions which are declared as macros.
31556         * doc/posix-functions/*[fl].texi: Mention that some functions are
31557         defined as macros with arguments only.
31559 2011-09-17  Bruno Haible  <bruno@clisp.org>
31561         Add dependencies to new dirent related modules.
31562         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
31563         * modules/fts (Depends-on): Likewise.
31564         * modules/glob (Depends-on): Likewise.
31565         * modules/savedir (Depends-on): Likewise.
31566         * modules/scandir (Depends-on): Likewise.
31567         * modules/dirent-safer (Depends-on): Add opendir, closedir.
31568         * modules/fdopendir (Depends-on): Add opendir.
31570 2011-09-17  Bruno Haible  <bruno@clisp.org>
31572         inet_pton: Support for MSVC on Windows Vista or newer.
31573         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
31574         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
31575         HAVE_DECL_INET_PTON is defined.
31576         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
31577         On platforms with <winsock2.h>, test whether inet_pton is declared in
31578         <ws2tcpip.h>. If so, arrange to replace it.
31579         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
31580         REPLACE_INET_PTON.
31581         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
31582         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
31583         (Depends-on, configure.ac): Update condition.
31584         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
31586 2011-09-17  Bruno Haible  <bruno@clisp.org>
31588         inet_ntop: Support for MSVC on Windows Vista or newer.
31589         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
31590         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
31591         HAVE_DECL_INET_NTOP is defined.
31592         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
31593         On platforms with <winsock2.h>, test whether inet_ntop is declared in
31594         <ws2tcpip.h>. If so, arrange to replace it.
31595         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
31596         REPLACE_INET_NTOP.
31597         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
31598         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
31599         (Depends-on, configure.ac): Update condition.
31600         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
31602 2011-09-16  Eric Blake  <eblake@redhat.com>
31604         test-fsync: yet another enhancement
31605         * tests/test-fsync.c (main): Also test behavior on read-only text
31606         file.
31608 2011-09-16  Bruno Haible  <bruno@clisp.org>
31610         Enhance fsync, fdatasync tests.
31611         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
31612         * tests/test-fdatasync.c (main): Likewise.
31614 2011-09-16  Bruno Haible  <bruno@clisp.org>
31616         Support for MSVC compiler: Ensure mode_t gets defined.
31617         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
31618         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
31619         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
31620         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
31621         * tests/test-fcntl-h.c: Check that mode_t is defined.
31622         * tests/test-sys_stat.c: Likewise.
31623         * tests/test-sys_types.c: Likewise.
31624         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
31625         * doc/posix-headers/sys_stat.texi: Likewise.
31626         * doc/posix-headers/sys_types.texi: Likewise.
31628 2011-09-16  Bruno Haible  <bruno@clisp.org>
31630         sys_stat: Support for MSVC.
31631         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
31632         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
31633         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
31634         MSVC.
31636 2011-09-16  Bruno Haible  <bruno@clisp.org>
31638         Support for MSVC compiler: Ensure off_t gets defined.
31639         * lib/unistd.in.h: Include <sys/types.h>.
31640         * tests/test-fcntl-h.c: Check that off_t is defined.
31641         * tests/test-sys_stat.c: Likewise.
31642         * tests/test-sys_types.c: Likewise.
31644 2011-09-16  Eric Blake  <eblake@redhat.com>
31646         fdatasync: port to Solaris
31647         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
31648         * modules/fdatasync (Link): Document it.
31649         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
31651         fdatasync: port to MacOS X 10.7
31652         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
31653         declared.
31654         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
31655         * modules/unistd (Makefile.am): Substitute it.
31656         * lib/unistd.in.h (fdatasync): Declare on MacOS.
31657         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
31659         fdatasync: minor improvements
31660         * modules/fdatasync (Depends-on): Add condition for fsync.
31661         * lib/fdatasync.c (fdatasync): Add comment.
31662         * tests/test-unistd-c++.cc: Test fdatasync.
31664         unistd: update refs to newer POSIX
31665         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
31666         Suggested by Bruno Haible.
31668         fdatasync: new module
31669         * modules/fsync (Description): Document difference to fdatasync.
31670         * modules/fdatasync: New module.
31671         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
31672         * lib/fdatasync.c (fdatasync): Likewise.
31673         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
31674         defaults.
31675         * modules/unistd (Makefile.am): Set witnesses.
31676         * lib/unistd.in.h (fdatasync): Declare.
31677         * MODULES.html.sh: Document it.
31678         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
31679         * modules/fdatasync-tests: New test.
31680         * tests/test-fdatasync.c: Likewise.
31682 2011-09-16  Eric Blake  <eblake@redhat.com>
31684         test-fsync: enhance tests
31685         * modules/fsync-tests (Depends-on): Add errno, for mingw.
31686         * tests/test-fsync.c (main): Enhance test.
31688 2011-09-15  Bruno Haible  <bruno@clisp.org>
31690         Support for MSVC compiler: Ensure ssize_t gets defined.
31691         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
31692         * doc/posix-headers/stdio.texi: Likewise.
31693         * modules/stdio (Depends-on): Add ssize_t.
31694         * modules/sys_socket (Depends-on): Likewise.
31695         * modules/sys_types (Depends-on): Likewise.
31696         * modules/sys_uio (Depends-on): Likewise.
31697         * modules/unistd (Depends-on): Likewise.
31698         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
31699         * tests/test-sys_types.c: Check that ssize_t is defined.
31701 2011-09-14  Bruno Haible  <bruno@clisp.org>
31703         Avoid using #, the m4 comment starter character, near brackets.
31704         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
31705         delimiter character in sed expressions.
31706         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
31707         Suggested by Eric Blake.
31709         Properly quote AC_CHECK_DECLS' 4th argument.
31710         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
31711         argument.
31712         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
31713         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
31714         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
31715         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
31716         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
31717         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
31718         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
31719         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
31720         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
31721         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
31722         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
31723         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
31724         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
31725         * m4/isinf.m4 (gl_ISINF): Likewise.
31726         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
31727         * m4/readutmp.m4 (gl_READUTMP): Likewise.
31728         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
31729         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
31730         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
31731         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
31732         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
31733         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
31734         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
31735         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
31736         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
31737         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
31738         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
31739         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
31740         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
31741         Reported by Eric Blake.
31743         Properly quote AC_CHECK_DECL's 4th argument.
31744         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
31745         argument.
31746         * m4/argp.m4 (gl_ARGP): Likewise.
31747         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
31748         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
31749         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
31750         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
31751         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
31752         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
31753         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
31754         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
31755         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
31756         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
31757         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
31758         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
31759         Reported by Eric Blake.
31761 2011-09-14  Eric Blake  <eblake@redhat.com>
31763         opendir: avoid compile warning
31764         * lib/opendir.c (includes): Always include errno.h.
31765         Reported by Tatsuro MATSUOKA.
31767 2011-09-14  Jim Meyering  <meyering@redhat.com>
31769         maint.mk: sc_tight_scope: propagate failure from sub-make
31770         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
31771         Reported by Martin von Gagern.
31773 2011-09-13  Bruno Haible  <bruno@clisp.org>
31775         tempname: Support for MSVC.
31776         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
31777         MSVC.
31778         * modules/tempname (Depends-on): Add fcntl-h.
31780 2011-09-13  Bruno Haible  <bruno@clisp.org>
31782         sys_time: Support for MSVC.
31783         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
31784         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
31785         include <winsock2.h>.
31786         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
31787         function declarations that collide with POSIX.
31788         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
31789         (Makefile.am): Substitute HAVE_WINSOCK2_H.
31791 2011-09-13  Bruno Haible  <bruno@clisp.org>
31793         stat: Support for MSVC.
31794         * lib/stat.c: Include pathmax.h.
31795         * modules/stat (Depends-on): Add pathmax.
31797         pathmax: Support for native Windows.
31798         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
31800 2011-09-12  Bruno Haible  <bruno@clisp.org>
31802         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
31803         * lib/dirent.in.h (struct dirent): New type.
31804         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
31805         DT_WHT): New macros.
31806         (DIR): New type.
31807         (opendir, closedir): Declare only if the module 'opendir' is enabled.
31808         (readdir, rewinddir): New declarations.
31809         * lib/dirent-private.h: New file.
31810         * lib/opendir.c: New file.
31811         * lib/readdir.c: New file.
31812         * lib/rewinddir.c: New file.
31813         * lib/closedir.c: New file.
31814         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
31815         * m4/opendir.m4: New file.
31816         * m4/readdir.m4: New file.
31817         * m4/rewinddir.m4: New file.
31818         * m4/closedir.m4: New file.
31819         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
31820         REPLACE_CLOSEDIR here.
31821         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
31822         readdir, rewinddir are declared.
31823         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
31824         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
31825         HAVE_REWINDDIR, HAVE_CLOSEDIR.
31826         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
31827         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
31828         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
31829         * modules/opendir: New file.
31830         * modules/readdir: New file.
31831         * modules/rewinddir: New file.
31832         * modules/closedir: New file.
31833         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
31834         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
31835         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
31836         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
31837         * NEWS: Mention the 'fchdir' change.
31839 2011-09-11  Bruno Haible  <bruno@clisp.org>
31841         asm-underscore.m4: Support for MSVC.
31842         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
31843         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
31845 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
31847         Doc about crypt functions.
31848         * doc/posix-functions/crypt.texi: Expand range of glibc versions
31849         needing for _GNU_SOURCE to get crypt.
31850         * doc/posix-functions/encrypt.texi: Likewise.
31851         * doc/posix-functions/setkey.texi: Likewise.
31853 2011-09-11  Bruno Haible  <bruno@clisp.org>
31855         doc: Update regarding MSVC 9.
31856         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
31857         tested".
31858         * doc/posix-functions/*.texi: Update with info about MSVC 9.
31859         * doc/posix-headers/*.texi: Likewise.
31860         * doc/pastposix-functions/*.texi: Likewise.
31861         * doc/glibc-functions/*.texi: Likewise.
31862         * doc/glibc-headers/*.texi: Likewise.
31864 2011-09-11  Bruno Haible  <bruno@clisp.org>
31866         unistd et al.: Don't assume <unistd.h> exists.
31867         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
31868         does not exist.
31869         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
31870         exist. But include <stdlib.h>.
31871         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
31872         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
31873         symlink() does not exist.
31874         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
31875         include <io.h> instead.
31876         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
31877         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
31878         include <direct.h> instead.
31879         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
31880         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
31881         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
31882         <io.h> instead.
31883         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
31884         correctly if the system does not have hard links.
31885         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
31886         <direct.h> instead.
31887         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
31888         it when looking for function declarations.
31889         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
31890         <direct.h> and <io.h> instead.
31891         * doc/posix-headers/unistd.texi: More details about MSVC problem.
31893 2011-09-11  Bruno Haible  <bruno@clisp.org>
31895         strcase: Support for MSVC.
31896         * modules/strcase (Status, Notice): Remove obsoletion mark.
31897         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
31898         * doc/posix-functions/strncasecmp.texi: Likewise.
31900         strings: Don't assume <strings.h> exists.
31901         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
31902         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
31903         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
31904         * doc/posix-headers/strings.texi: Mention the MSVC problem.
31906 2011-09-11  Bruno Haible  <bruno@clisp.org>
31908         dirent: Don't assume <dirent.h> exists.
31909         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
31910         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
31911         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
31912         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
31914 2011-09-11  Bruno Haible  <bruno@clisp.org>
31916         Fix wint_t on MSVC.
31917         * lib/wchar.in.h (wint_t): On MSVC, override it.
31918         * lib/wctype.in.h (wint_t): Likewise.
31919         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
31920         MSVC.
31921         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
31922         * doc/posix-headers/wctype.texi: Likewise.
31924 2011-09-11  Bruno Haible  <bruno@clisp.org>
31926         sys_types: Fix typo.
31927         * lib/sys_types.in.h: Fix typo in comment.
31928         Reported by Paul Eggert.
31930         Support for MSVC compiler: Ensure size_t gets defined.
31931         * modules/strings (Depends-on): Add 'sys_types'.
31932         * modules/sys_uio (Depends-on): Likewise.
31933         * lib/sys_uio.in.h: Update comment.
31935         C++ tests for module 'sys_types'.
31936         * modules/sys_types-c++-tests: New file.
31937         * tests/test-sys_types-c++.cc: New file.
31939         Tests for module 'sys_types'.
31940         * modules/sys_types-tests: New file.
31941         * tests/test-sys_types.c: New file.
31943         New module 'sys_types'.
31944         * lib/sys_types.in.h: New file.
31945         * m4/sys_types_h.m4: New file.
31946         * modules/sys_types: New file.
31947         * doc/posix-headers/sys_types.texi: Mention the new module and the
31948         size_t problem on MSVC 9.
31950 2011-09-11  Bruno Haible  <bruno@clisp.org>
31952         Support for MSVC compiler: Avoid division by a literal 0.
31953         * lib/math.in.h (NAN): Define through a function call also on MSVC.
31954         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
31955         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
31956         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
31957         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
31958         * tests/infinity.h: New file.
31959         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
31960         on MSVC.
31961         * tests/test-ceilf1.c: Include infinity.h.
31962         (main): Use Infinityf.
31963         * tests/test-ceil1.c: Include infinity.h.
31964         (main): Use Infinityd.
31965         * tests/test-ceill.c: Include infinity.h.
31966         (main): Use Infinityl.
31967         * tests/test-dprintf-posix.c: Include infinity.h.
31968         (test_function): Use Infinityd.
31969         * tests/test-floorf1.c: Include infinity.h.
31970         (main): Use Infinityf.
31971         * tests/test-floor1.c: Include infinity.h.
31972         (main): Use Infinityd.
31973         * tests/test-floorl.c: Include infinity.h.
31974         (main): Use Infinityl.
31975         * tests/test-fprintf-posix.c: Include infinity.h.
31976         (test_function): Use Infinityd.
31977         * tests/test-frexp.c: Include infinity.h.
31978         (main): Use Infinityd.
31979         * tests/test-frexpl.c: Include infinity.h.
31980         (main): Use Infinityl.
31981         * tests/test-isfinite.c: Include infinity.h.
31982         (test_isfinitef): Use Infinityf.
31983         (test_isfinited): Use Infinityd.
31984         (test_isfinitel): Use Infinityl.
31985         * tests/test-isinf.c: Include infinity.h.
31986         (test_isinff): Use Infinityf.
31987         (test_isinfd): Use Infinityd.
31988         (test_isinfl): Use Infinityl.
31989         * tests/test-isnan.c: Include infinity.h.
31990         (test_float): Use Infinityf.
31991         (test_double): Use Infinityd.
31992         (test_long_double): Use Infinityl.
31993         * tests/test-isnanf.h: Include infinity.h.
31994         (main): Use Infinityf.
31995         * tests/test-isnand.h: Include infinity.h.
31996         (main): Use Infinityd.
31997         * tests/test-isnanl.h: Include infinity.h.
31998         (main): Use Infinityl.
31999         * tests/test-ldexpl.c: Include infinity.h.
32000         (main): Use Infinityl.
32001         * tests/test-printf-posix.h: Include infinity.h.
32002         (test_function): Use Infinityd.
32003         * tests/test-roundf1.c: Include infinity.h.
32004         (main): Use Infinityf.
32005         * tests/test-round1.c: Include infinity.h.
32006         (main): Use Infinityd.
32007         * tests/test-roundl.c: Include infinity.h.
32008         (main): Use Infinityl.
32009         * tests/test-signbit.c: Include infinity.h.
32010         (test_signbitf): Use Infinityf.
32011         (test_signbitd): Use Infinityd.
32012         (test_signbitl): Use Infinityl.
32013         * tests/test-snprintf-posix.h: Include infinity.h.
32014         (test_function): Use Infinityd, Infinityl.
32015         * tests/test-sprintf-posix.h: Include infinity.h.
32016         (test_function): Use Infinityd, Infinityl.
32017         * tests/test-truncf1.c: Include infinity.h.
32018         (main): Use Infinityf.
32019         * tests/test-trunc1.c: Include infinity.h.
32020         (main): Use Infinityd.
32021         * tests/test-truncl.c: Include infinity.h.
32022         (main): Use Infinityl.
32023         * tests/test-vasnprintf-posix.c: Include infinity.h.
32024         (test_function): Use Infinityd, Infinityl.
32025         * tests/test-vasprintf-posix.c: Include infinity.h.
32026         (test_function): Use Infinityd, Infinityl.
32027         * modules/ceilf-tests (Files): Add tests/infinity.h.
32028         * modules/ceil-tests (Files): Likewise.
32029         * modules/ceill-tests (Files): Likewise.
32030         * modules/dprintf-posix-tests (Files): Likewise.
32031         * modules/floorf-tests (Files): Likewise.
32032         * modules/floor-tests (Files): Likewise.
32033         * modules/floorl-tests (Files): Likewise.
32034         * modules/fprintf-posix-tests (Files): Likewise.
32035         * modules/frexp-tests (Files): Likewise.
32036         * modules/frexp-nolibm-tests (Files): Likewise.
32037         * modules/frexpl-tests (Files): Likewise.
32038         * modules/frexpl-nolibm-tests (Files): Likewise.
32039         * modules/isfinite-tests (Files): Likewise.
32040         * modules/isinf-tests (Files): Likewise.
32041         * modules/isnan-tests (Files): Likewise.
32042         * modules/isnanf-tests (Files): Likewise.
32043         * modules/isnanf-nolibm-tests (Files): Likewise.
32044         * modules/isnand-tests (Files): Likewise.
32045         * modules/isnand-nolibm-tests (Files): Likewise.
32046         * modules/isnanl-tests (Files): Likewise.
32047         * modules/isnanl-nolibm-tests (Files): Likewise.
32048         * modules/ldexpl-tests (Files): Likewise.
32049         * modules/printf-posix-tests (Files): Likewise.
32050         * modules/roundf-tests (Files): Likewise.
32051         * modules/round-tests (Files): Likewise.
32052         * modules/roundl-tests (Files): Likewise.
32053         * modules/signbit-tests (Files): Likewise.
32054         * modules/snprintf-posix-tests (Files): Likewise.
32055         * modules/sprintf-posix-tests (Files): Likewise.
32056         * modules/truncf-tests (Files): Likewise.
32057         * modules/trunc-tests (Files): Likewise.
32058         * modules/truncl-tests (Files): Likewise.
32059         * modules/vasnprintf-posix-tests (Files): Likewise.
32060         * modules/vasprintf-posix-tests (Files): Likewise.
32061         * modules/vdprintf-posix-tests (Files): Likewise.
32062         * modules/vfprintf-posix-tests (Files): Likewise.
32063         * modules/vprintf-posix-tests (Files): Likewise.
32064         * modules/vsnprintf-posix-tests (Files): Likewise.
32065         * modules/vsprintf-posix-tests (Files): Likewise.
32066         * modules/xprintf-posix-tests (Files): Likewise.
32068 2011-09-11  Bruno Haible  <bruno@clisp.org>
32070         Ensure pid_t gets defined.
32071         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
32072         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
32073         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
32074         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
32075         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
32076         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
32077         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
32078         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
32079         * tests/test-fcntl-h.c: Check that pid_t is defined.
32080         * tests/test-sched.c: Likewise.
32081         * tests/test-termios.c: Likewise.
32082         * tests/test-time.c: Likewise.
32083         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
32084         * doc/posix-headers/signal.texi: Likewise.
32085         * doc/posix-headers/sys_types.texi: Likewise.
32086         * doc/posix-headers/time.texi: Likewise.
32088 2011-09-11  Bruno Haible  <bruno@clisp.org>
32090         acl: Fix compilation on Solaris 10 (older version).
32091         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
32092         of ACE_EVERYONE.
32093         * lib/set-mode-acl.c (qset_acl): Likewise.
32094         Reported by Christian Jullien <eligis@orange.fr>.
32096 2011-09-10  Bruno Haible  <bruno@clisp.org>
32098         iconv, unsetenv: Add support for MSVC compiler.
32099         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
32100         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
32102 2011-09-10  Bruno Haible  <bruno@clisp.org>
32104         *printf: Add support for MSVC compiler.
32105         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
32106         handles the exception caused by the %n directive. When cross-compiling,
32107         guess no on native Windows.
32108         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
32109         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
32110         emulate it through vsnprintf.
32111         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
32112         * doc/posix-functions/dprintf.texi: Update documentation regarding
32113         MSVC 9.
32114         * doc/posix-functions/fprintf.texi: Likewise.
32115         * doc/posix-functions/printf.texi: Likewise.
32116         * doc/posix-functions/snprintf.texi: Likewise.
32117         * doc/posix-functions/sprintf.texi: Likewise.
32118         * doc/posix-functions/swprintf.texi: Likewise.
32119         * doc/posix-functions/vdprintf.texi: Likewise.
32120         * doc/posix-functions/vfprintf.texi: Likewise.
32121         * doc/posix-functions/vprintf.texi: Likewise.
32122         * doc/posix-functions/vsnprintf.texi: Likewise.
32123         * doc/posix-functions/vsprintf.texi: Likewise.
32124         * doc/glibc-functions/asprintf.texi: Likewise.
32125         * doc/glibc-functions/obstack_printf.texi: Likewise.
32126         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
32127         * doc/glibc-functions/vasprintf.texi: Likewise.
32129 2011-09-10  Bruno Haible  <bruno@clisp.org>
32131         nocrash: Add support for native Windows.
32132         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
32134 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
32135             Bruno Haible  <bruno@clisp.org>
32137         absolute-header, include-next: Add support for MSVC compiler.
32138         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
32139         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
32140         directory separator in #line directives.
32141         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
32142         recognize also backslash as directory separator in #line directives.
32144 2011-09-08  Jim Meyering  <meyering@redhat.com>
32146         maint.mk: mark the post-release commit log with "maint: " prefix
32147         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
32148         one-line commit-log summary.
32150 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
32151             Bruno Haible  <bruno@clisp.org>
32153         Doc about crypt functions.
32154         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
32155         systems.
32156         * doc/posix-functions/encrypt.texi: Likewise.
32157         * doc/posix-functions/setkey.texi: Likewise.
32159 2011-09-08  Simon Josefsson  <simon@josefsson.org>
32161         * lib/gc.h: Fix copyright header.
32163 2011-09-07  Bruno Haible  <bruno@clisp.org>
32165         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
32166         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
32167         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
32169 2011-09-07  Bruno Haible  <bruno@clisp.org>
32171         openat: Work around compilation error with OSF/1 5.1 DTK cc.
32172         * lib/fopen.c: Use different syntax for include of <stdio.h>.
32173         * lib/freopen.c: Likewise.
32174         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
32175         * lib/lstat.c: Likewise.
32176         * lib/stat.c: Likewise.
32177         * lib/open.c: Use different syntax for include of <fcntl.h>.
32178         * lib/openat.c: Include fcntl.h again, explicitly.
32180 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
32182         parse-datetime: document the newly accepted format
32183         * doc/parse-datetime.texi (Combined date and time of day items):
32184         New section.
32186 2011-09-06  Bruno Haible  <bruno@clisp.org>
32188         acl: Fix a test failure on newer Solaris 10 with ZFS.
32189         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
32190         ENOSYS as no ACL.
32191         Reported by Jim Meyering.
32193 2011-09-06  Bruno Haible  <bruno@clisp.org>
32195         acl: Update for AIX >= 5.3 with NFS.
32196         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
32197         ENOSYS as no ACL.
32199         acl: Fix a test failure on AIX >= 5.3 with NFS.
32200         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
32201         as no ACL.
32203 2011-09-06  Bruno Haible  <bruno@clisp.org>
32205         acl: Fix a test failure on IRIX 6.5 with NFS.
32206         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
32207         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
32208         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
32209         * lib/copy-acl.c (qcopy_acl): Likewise.
32211 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
32213         openat: port to AIX 7.1 with large files
32214         AIX 7.1 does a "#define openat open64at" if large files are in use,
32215         so we can't simply #undef openat.  Use the orig_openat trick (similar
32216         to orig_open in lib/open.c) to work around the problem.  Problem
32217         reported by Kevin Brott for GNU tar, in the thread containing
32218         <http://lists.gnu.org/r/bug-tar/2011-09/msg00032.html>.
32219         * lib/openat.c (__need_system_fcntl_h): Define first.
32220         Include <fcntl.h> and <sys/types.h> before undefining.
32221         (orig_openat) [HAVE_OPENAT]: New inline function.
32222         (openat) [HAVE_OPENAT]: Do not undef.
32223         (rpl_openat): Use orig_openat, not openat.
32225 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
32226             Bruno Haible  <bruno@clisp.org>
32228         acl: Avoid errors on NonStop Kernel.
32229         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
32230         ENOTSUP errors.
32232 2011-09-05  Bruno Haible  <bruno@clisp.org>
32234         acl: Clean up Solaris code.
32235         * lib/acl-internal.h: Remove no-op #if.
32236         * lib/file-has-acl.c: Likewise.
32237         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
32238         * lib/copy-acl.c (qcopy_acl): Likewise.
32240 2011-09-05  Bruno Haible  <bruno@clisp.org>
32242         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
32243         binaries built on the original Solaris 10.
32244         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
32245         trivial.
32247 2011-09-05  Bruno Haible  <bruno@clisp.org>
32249         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
32250         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
32251         10.
32252         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
32253         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
32254         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
32255         instead of acl_get, facl_get, acl_set, facl_set.
32257 2011-09-05  Bruno Haible  <bruno@clisp.org>
32259         copy-file: Try unit tests on more file systems.
32260         * tests/test-copy-file-1.sh: New file.
32261         * tests/test-copy-file-2.sh: New file.
32262         * modules/copy-file-tests (Files): Add them.
32263         (Makefile.am): Add them to TESTS.
32265         acl: Try unit tests on more file systems.
32266         * tests/test-file-has-acl-1.sh: New file.
32267         * tests/test-file-has-acl-2.sh: New file.
32268         * tests/test-set-mode-acl-1.sh: New file.
32269         * tests/test-set-mode-acl-2.sh: New file.
32270         * tests/test-copy-acl-1.sh: New file.
32271         * tests/test-copy-acl-2.sh: New file.
32272         * modules/acl-tests (Files): Add them.
32273         (Makefile.am): Add them to TESTS.
32275 2011-09-04  Bruno Haible  <bruno@clisp.org>
32277         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
32278         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
32279         10.
32280         (OLD_ALLOW, OLD_DENY): New macros.
32281         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
32282         ACE_ACCESS_ALLOWED_ACE_TYPE.
32283         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
32284         ACE_ACCESS_DENIED_ACE_TYPE.
32285         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
32286         (NEW_ACE_EXECUTE): Fix value.
32287         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
32288         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
32289         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
32290         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
32291         NEW_ACE_SYNCHRONIZE): New macros.
32292         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
32293         instead of acl_fromtext, acl_set, facl_set.
32294         Fixes a coreutils/tests/cp/perm failure.
32296 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
32298         openat: test for fstatat (..., 0) bug
32299         Further testing with tar suggests that fstatat (..., 0)
32300         does not work in general, on AIX 7.1; see
32301         <http://lists.gnu.org/r/bug-tar/2011-09/msg00023.html>.
32302         So, give up entirely on AIX 7.1's fstatat, and fall back on our
32303         replacement fstatat (which is what older AIX releases were using
32304         anyway).
32305         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
32306         use is now changed to orig_fstatat.  This was probably the right
32307         thing to do anyway.
32308         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
32309         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
32310         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
32311         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
32312         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
32313         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
32314         if the bug is found.
32316         openat: test for fstatat (AT_FDCWD, ..., 0) bug
32317         This tests for another fstatat bug on AIX 7.1:
32318         fstatat (AT_FDCWD, ..., 0) does not work.  See
32319         <http://lists.gnu.org/r/bug-tar/2011-09/msg00015.html>.
32320         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
32321         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
32322         (rpl_fstatat): Adjust so that it works around either (or both)
32323         bugs if present.
32324         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
32326 2011-09-03  Karl Berry  <karl@gnu.org>
32328         * doc/regex.texi (Character Class Operators): Avoid literal ":"
32329         in index entries.
32331 2011-09-02  Bruno Haible  <bruno@clisp.org>
32333         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
32334         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
32335         values of AR, ARFLAGS, RANLIB.
32336         Reported by John W. Eaton <jwe@gnu.org> for Octave.
32338 2011-09-02  Bruno Haible  <bruno@clisp.org>
32340         Find 'ar' program that fits with --host argument.
32341         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
32343 2011-09-02  Bruno Haible  <bruno@clisp.org>
32345         tests: init.sh: Support any non-GNU diff.
32346         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
32347         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
32348         Solaris 8.
32350 2011-09-02  Bruno Haible  <bruno@clisp.org>
32352         tests: init.sh: work also with any non-GNU diff that supports -u
32353         * tests/init.sh: Relax check for diff -u support.
32354         Rather than checking for GNU diff via --version, simply check
32355         for support for -u itself.  Useful at least on OpenBSD 4.9,
32356         AIX 7.1, IRIX 6.5, and Solaris 10.
32358 2011-09-01  Bruno Haible  <bruno@clisp.org>
32360         strtoimax, strtoumax: Document problem on HP-UX 11.
32361         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
32362         * doc/posix-functions/strtoumax.texi: Likewise.
32364 2011-09-01  Bruno Haible  <bruno@clisp.org>
32366         strtoumax: Avoid link error on OSF/1 with DTK cc.
32367         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
32368         defined as a function.
32369         * modules/strtoumax (Depends-on, configure.ac): Test only whether
32370         strtoumax is defined, not whether it is declared.
32372 2011-09-01  Bruno Haible  <bruno@clisp.org>
32374         strtoimax: Avoid link error on OSF/1 with DTK cc.
32375         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
32376         defined as a function.
32377         * modules/strtoimax (Depends-on, configure.ac): Test only whether
32378         strtoimax is defined, not whether it is declared.
32380 2011-09-01  Bruno Haible  <bruno@clisp.org>
32382         imaxdiv: Avoid link error on OSF/1 with DTK cc.
32383         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
32384         as a function.
32385         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
32386         whether it is declared.
32388 2011-09-01  Bruno Haible  <bruno@clisp.org>
32390         imaxabs: Avoid link error on OSF/1 with DTK cc.
32391         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
32392         as a function.
32393         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
32394         whether it is declared.
32396 2011-09-01  Bruno Haible  <bruno@clisp.org>
32398         Tests for module 'strtoumax'.
32399         * modules/strtoumax-tests: New file.
32400         * tests/test-strtoumax.c: New file.
32402         Tests for module 'strtoimax'.
32403         * modules/strtoimax-tests: New file.
32404         * tests/test-strtoimax.c: New file.
32406         Tests for module 'imaxdiv'.
32407         * modules/imaxdiv-tests: New file.
32408         * tests/test-imaxdiv.c: New file.
32410         Tests for module 'imaxabs'.
32411         * modules/imaxabs-tests: New file.
32412         * tests/test-imaxabs.c: New file.
32414 2011-09-01  Bruno Haible  <bruno@clisp.org>
32416         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
32417         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
32418         pthread_create.
32420 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
32422         openat: work around AIX 7.1 fstatat issue
32423         This should fix the problem that was not properly fixed
32424         in the previous change, dated 2011-08-30.
32425         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
32426         __need_system_stat_h defined.
32427         (orig_fstatat) [HAVE_FSTATAT]: New function.
32428         (rpl_fstatat): Go back to the old way of doing things,
32429         except call orig_fstatat instead of fstatat.
32430         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
32431         Remove unnecessary check whether fstatat fills in st_size etc.
32433 2011-09-01  Bruno Haible  <bruno@clisp.org>
32435         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
32436         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
32437         just include the system's header.
32439 2011-08-31  Jim Meyering  <meyering@redhat.com>
32441         tests: avoid spurious assertion failure in test-float.c on ppc64
32442         * tests/test-float.c (test_long_double): Comment out an assertion,
32443         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
32444         with gcc-4.4.4.
32446         maint: indent with spaces, not TABs
32447         I need to get in the habit of running gnulib's "make check".
32448         Both of these would have been caught.
32449         * m4/largefile.m4: Indent with spaces, not TABs.
32450         * lib/parse-datetime.y (iso_8601_time): Likewise.
32451         Spotted by Pádraig Brady.
32453         test-parse-datetime.c: accommodate a relatively strict gcc warning
32454         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
32455         to avoid a warning from gcc's -Werror=missing-declarations.
32456         Insert a few spaces-before-funcall-parenthesis.
32458 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
32460         parse-datetime: accept ISO 8601 date and time rep with "T" separator
32461         The parser now accepts ISO 8601 date-time strings with "T" as the
32462         separator.  It has long parsed dates like "2004-02-29 16:21:42"
32463         with a space between the date and time strings.  Now it also parses
32464         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
32465         variants like "2004-02-29T16:21:42.333-07:00"
32466         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
32467         of day representation using the 'T' separator character.
32468         * doc/parse-datetime.texi (General date syntax): replace use of
32469         deprecated --iso-8601 option with --rfc-3339 in example of date
32470         command output formats that can be parsed.
32471         * tests/test-parse-datetime.c (tm_diff): New function, taken from
32472         lib/parse-datetime.y.
32473         (gmt_offset): New function.
32474         (main): Add additional test cases to validate ISO8601 extended
32475         date and time of day parsing.
32477 2011-08-31  Bruno Haible  <bruno@clisp.org>
32479         freopen: Documentation.
32480         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
32481         name.
32482         Reported by Claudio Bley <claudio.bley@gmail.com>.
32484 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
32486         freopen: Don't crash if the filename argument is NULL.
32487         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
32488         NULL.
32490 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
32492         openat: work around AIX 7.1 fstatat bug
32493         Problem reported by Kevin Brott for GNU tar, in the thread containing
32494         <http://lists.gnu.org/r/bug-tar/2011-08/msg00015.html>.
32495         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
32496         FSTATAT_ST_SIZE_ETC_BROKEN.
32497         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
32498         rpl_fstatat.
32499         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
32500         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
32501         AC_CHECK_FUNCS_ONCE for fstatat.
32502         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
32503         fchmodat, mkdirat, openat and unlinkat.
32505 2011-08-30  Bruno Haible  <bruno@clisp.org>
32507         Avoid endless recursions if config.h includes some header files.
32508         * lib/fopen.c (__need_FILE): Define already before including config.h.
32509         * lib/freopen.c (__need_FILE): Likewise.
32510         * lib/open.c (__need_system_fcntl_h): Likewise.
32511         * lib/stat.c (__need_system_sys_stat_h): Likewise.
32512         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
32513         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
32515 2011-08-25  Karl Berry  <karl@gnu.org>
32517         * config/srclist.txt (ylwrap): new try.
32518         * build-aux/ylwrap: new file.
32520 2011-08-23  Bruno Haible  <bruno@clisp.org>
32522         tmpdir: Use a good default directory on native Windows.
32523         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
32524         (P_tmpdir): Default to _P_tmpdir on native Windows.
32525         (path_search): On native Windows, try the value returned by GetTempPath
32526         before trying P_tmpdir.
32527         * modules/tmpdir (Depends-on): Add pathmax.
32528         Suggested by John Darrington <john@darrington.wattle.id.au>.
32530 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
32532         doc: fix typo in README-release
32533         * top/README-release: Capitalize first word of a sentence.
32535 2011-08-19  Jim Meyering  <meyering@redhat.com>
32537         fts: do not exhaust memory when processing million-entry directories
32538         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
32539         directory would require about 256*N bytes of memory.  Thus, it was
32540         easy to construct a directory too large to be processed by any of
32541         those tools.  With this change, fts' maximum memory utilization is
32542         now limited to around 30MB.
32543         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
32544         (fts_read): When we've processed the final entry (i.e., when
32545         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
32546         using the parent entry to read any remaining entries.  Dispatch
32547         depending on what fts_build returns:
32548         - NULL+stop, aka failure: stop
32549         - NULL otherwise: move up in the dir hierarchy
32550         - non-NULL: handle this new entry
32551         (fts_build): Declare and use new local, continue_readdir.
32552         Prepare to be called from fts_read, when the entries
32553         from a partially-read directory have just been exhausted.
32554         In that case, we'll skip the opendir and instead use the parent's
32555         fts_dirp and derive dir_fd from that.
32556         Finally, in the readdir loop, if we read max_entries entries,
32557         exit the loop ensuring *not* to call closedir.  This is required
32558         so that fts_dirp can be reused on a subsequent call.
32559         Prompted by Ben England's report of memory exhaustion in find
32560         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
32562         maint: fts: move decl of `dp' down into while loop; split a long line
32563         * lib/fts.c (fts_build): No semantic change.
32565         fts: add/use new struct member, fts_dirp
32566         We are about to use this to manage any directory with
32567         too many entries to read all of them into memory at once.
32568         To do that, we'll need to save the DIR* pointer in each
32569         affected FTSENT struct.
32570         * lib/fts_.h: Include <dirent.h>.
32571         (struct FTSENT) [fts_dirp]: New member.
32572         * lib/fts.c (closedir_and_clear): Define.
32573         Use it in place of closedir so that we are sure to
32574         clear the new fts_dirp member when done with it.
32575         (fts_alloc): Initialize the new member.
32576         (fts_lfree): Free, if needed.
32578         maint: fts: give __opendir2 a new parameter and rename
32579         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
32580         than surreptitiously using sole caller's "dir_fd".
32581         (fts_opendir): Rename from __opendir2.
32583         maint: fts.c: remove __opendir2's now-unused parameter, oflag
32584         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
32586         maint: fts.c: correct off-by-one indentation
32587         * lib/fts.c (fts_build): Correct indentation, change style
32588         of a couple of block comments, and bracing style.
32590         maint: fts.c: move __opendir2 #define "up" out of function body
32591         * lib/fts.c (__opendir2): Move "up".  No semantic change.
32593         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
32594         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
32595         out for a long time and besides was useful only on BSD systems.
32597 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
32599         regex: port to Stratus OpenVOS
32600         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
32601         define to empty, rather than attempting nonportable optimizations.
32602         Problem reported by Paul Green in:
32603         http://lists.gnu.org/r/bug-diffutils/2011-08/msg00047.html
32604         and fix suggested by Eric Blake in:
32605         http://lists.gnu.org/r/bug-gnulib/2011-08/msg00143.html
32607 2011-08-17  Eric Blake  <eblake@redhat.com>
32609         getcwd: fix test failures on mingw
32610         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
32611         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
32612         test if long directory cannot be created, and allow mingw errno.
32614         getcwd-lgpl: fix m4 to match relaxed test for BSD
32615         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
32616         (gl_FUNC_GETCWD_SIGNATURE): New macro.
32617         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
32618         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
32619         signature problem.
32621         getcwd: fix compilation on mingw64
32622         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
32623         getcwd.
32624         Reported by Marc-André Lureau.
32626         pipe2: silence compiler warning
32627         * lib/pipe2.c (pipe2): Hide label if it is not used.
32629 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
32631         relocatable-prog: fix link error
32632         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
32633         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
32634         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
32635         into modules/relocatable-lib without noticing that
32636         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
32637         also needs to build relocatable.c.
32639 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
32641         getaddrinfo: fix sh typo in gai_strerrorA decl checking
32642         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
32643         shell code: it contained a 'break' that was not in a loop.
32644         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
32645         via a shell-language loop; this may have been true in old Autoconf
32646         versions, but it's not true in Autoconf 2.68.  I found this bug
32647         when testing coreutils git on Solaris 8, whose shell complains
32648         about the syntax error.
32650 2011-08-12  Simon Josefsson  <simon@josefsson.org>
32652         * lib/base64.c: Fix comment to reference RFC 4648.
32653         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
32654         <gvtulder@gmail.com>.
32656 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
32658         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
32660         po/Makefile.in.in: fix make -q problem
32661         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
32662         rule, since there's no file named 'check-macro-version' and its
32663         use as a file breaks make -q.
32664         (all): Don't depend on check-macro-version.
32665         (CHECK_MACRO_VERSION): New macro.
32666         (stamp-po): Use it.
32668         configmake: fix make -q problem
32669         * modules/configmake (configmake.h): Update configmake.h's time stamp
32670         even if the file does not change.  Otherwise, 'make -q' fails.
32671         Problem reported by Simon Josefsson in
32672         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00088.html>.
32674 2011-08-11  Jim Meyering  <meyering@redhat.com>
32676         git-version-gen: correct the advice in a comment
32677         * build-aux/git-version-gen: Correct comment.
32678         Don't recommend to list .tarball-version in .gitignore.
32680 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
32682         base64: fix off-by-one buffer size bug
32683         Problem and (trivial) fix reported by Gijs van Tulder in
32684         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00083.html>.
32685         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
32686         * tests/test-base64.c (main): Catch the bug.
32688 2011-08-10  Eric Blake  <eblake@redhat.com>
32690         closein: correct comments
32691         * lib/closein.c (close_stdin): Improve comments.
32693 2011-08-09  Bruno Haible  <bruno@clisp.org>
32695         More tests for 'fseeko'.
32696         * tests/test-fseeko3.c: New file, from Eric Blake.
32697         * tests/test-fseeko3.sh: New file.
32698         * modules/fseeko-tests (Files): Add them.
32699         (TESTS): Add test-fseeko3.sh.
32700         (check_PROGRAMS): Add test-fseeko3.
32702 2011-08-09  Eric Blake  <eblake@redhat.com>
32704         fseeko: remove unneeded hack
32705         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
32707         fseeko: fix bug on glibc
32708         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
32709         Reported by John W. Eaton.
32711 2011-08-08  Bruno Haible  <bruno@clisp.org>
32713         unictype/base: Fix interoperability with preinstalled libunistring.
32714         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
32715         Reported by Simon Josefsson.
32717 2011-08-08  Bruno Haible  <bruno@clisp.org>
32719         iswblank: Detect declaration correctly.
32720         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
32721         AC_CHECK_DECLS invocation.
32723 2011-08-08  Bruno Haible  <bruno@clisp.org>
32725         tcgetsid: Detect declaration correctly.
32726         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
32727         AC_CHECK_DECLS invocation.
32728         Reported by Simon Josefsson.
32730 2011-08-08  Eric Blake  <eblake@redhat.com>
32732         largefile: fix typo that regressed large file support
32733         * modules/largefile (configure.ac-early): Fix section name.
32735 2011-08-06  Karl Berry  <karl@gnu.org>
32737         * MODULES.html.sh (func_all_files): _Noreturn is no longer
32738         a separate module.
32740 2011-08-05  Simon Josefsson  <simon@josefsson.org>
32742         openat: Fix warnings and commens when building unlinkat.c on Hurd.
32743         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
32744         get prototype for free.
32746 2011-08-04  Bruno Haible  <bruno@clisp.org>
32748         Tests for module 'pathmax'.
32749         * modules/pathmax-tests: New file.
32750         * tests/test-pathmax.c: New file.
32752         canonicalize-lgpl: Support larger filenames on the Hurd.
32753         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
32754         Reported by Paul Eggert.
32756         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
32757         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
32758         * lib/chdir-long.h: Include pathmax.h.
32759         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
32760         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
32761         (PATH_MAX): Remove code that is done by pathmax.h.
32762         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
32763         * lib/tmpfile.c: Add a comment.
32764         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
32765         * modules/chdir-long (Depends-on): Add pathmax.
32766         * modules/getcwd (Depends-on): Add pathmax.
32767         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
32768         is not defined.
32769         * doc/posix-headers/limits.texi: Mention the pathmax module.
32770         * NEWS: Mention the change.
32772 2011-08-02  Bruno Haible  <bruno@clisp.org>
32774         pthread_sigmask: Actually use results of gl_THREADLIB.
32775         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
32776         gl_THREADLIB, not gl_[]THREADLIB.
32777         Reported by Eric Blake.
32779 2011-08-02  Jim Meyering  <meyering@redhat.com>
32781         maint.mk: relax the default _gl_TS_function_match regexp
32782         * top/maint.mk (_gl_TS_function_match): Don't require at least one
32783         space between function name and "(" in an "extern" declaration.
32784         That would fail to match a decl with no space there: extern void foo();
32786 2011-07-31  Iain Nicol  <iain@thenicols.net>
32788         git-version-gen: document that EXTRA_DIST must include .version
32789         * build-aux/git-version-gen: In the how-to-use comment, document
32790         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
32791         will fail when run from an unpacked distribution tarball.
32793 2011-08-01  Bruno Haible  <bruno@clisp.org>
32795         wctype-h: Fix last change.
32796         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
32797         REPLACE_TOWLOWER to 0.
32798         Reported by Sam Steingold <sds@gnu.org>.
32800 2011-07-31  Bruno Haible  <bruno@clisp.org>
32802         frexpl: Update autoconf test.
32803         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
32804         according to changes of 2011-06-20.
32806 2011-07-31  Bruno Haible  <bruno@clisp.org>
32808         sys_utsname: Add support for Minix.
32809         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
32810         <sys/utsname.h>.
32811         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
32812         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
32814 2011-07-31  Bruno Haible  <bruno@clisp.org>
32816         strings: Add support for Minix.
32817         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
32818         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
32819         * doc/posix-headers/strings.texi: Document the Minix problem.
32821 2011-07-31  Bruno Haible  <bruno@clisp.org>
32823         wctype-h: Add support for Minix.
32824         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
32825         REPLACE_TOWLOWER.
32826         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
32827         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
32828         REPLACE_ISWCNTRL.
32830 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
32832         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
32833         This is a performance improvement for 64-bit hosts: it causes the
32834         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
32836 2011-07-31  Bruno Haible  <bruno@clisp.org>
32838         stdioext: Add support for Minix.
32839         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
32840         * lib/fpurge.c (fpurge): Likewise.
32841         * lib/freadahead.c (freadahead): Likewise.
32842         * lib/freadable.c (freadable): Likewise.
32843         * lib/freading.c (freading): Likewise.
32844         * lib/freadptr.c (freadptr): Likewise.
32845         * lib/freadseek.c (freadptrinc): Likewise.
32846         * lib/fseeko.c (rpl_fseeko): Likewise.
32847         * lib/fseterr.c (fseterr): Likewise.
32848         * lib/fwritable.c (fwritable): Likewise.
32849         * lib/fwriting.c (fwriting): Likewise.
32850         * lib/fflush.c (clear_ungetc_buffer): Update comment.
32851         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
32853 2011-07-31  Bruno Haible  <bruno@clisp.org>
32855         errno: Port to Minix.
32856         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
32857         ECONNABORTED are defined.
32858         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
32859         GNULIB_defined_ECONNABORTED): New macros.
32860         * lib/strerror-override.h (strerror_override): Test also
32861         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
32862         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
32863         ECONNABORTED.
32864         * doc/posix-headers/errno.texi: Mention the Minix problem.
32866 2011-07-31  Bruno Haible  <bruno@clisp.org>
32868         Work around declaration collisions on Minix.
32869         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
32870         defined, set REPLACE_MBSINIT.
32871         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
32872         defined, set REPLACE_MBRTOWC.
32873         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
32874         set REPLACE_MBRLEN.
32875         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
32876         defined, set REPLACE_MBSRTOWCS.
32877         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
32878         defined, set REPLACE_WCRTOMB.
32879         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
32880         defined, set REPLACE_WCSRTOMBS.
32882 2011-07-31  Bruno Haible  <bruno@clisp.org>
32884         Add support for Minix with ACK compiler.
32885         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
32886         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
32887         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
32889 2011-07-31  Bruno Haible  <bruno@clisp.org>
32891         Documentation about Minix.
32892         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
32893         * doc/glibc-headers/*.texi: Likewise.
32894         * doc/posix-functions/*.texi: Likewise.
32895         * doc/glibc-functions/*.texi: Likewise.
32897 2011-07-31  Bruno Haible  <bruno@clisp.org>
32899         snippet/warn-on-use: Fix indentation.
32900         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
32902 2011-07-25  Jim Meyering  <meyering@redhat.com>
32904         tests: test-update-copyright.sh: remove unnecessary "rm" commands
32905         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
32906         commands.
32908 2011-07-27  Jim Meyering  <meyering@redhat.com>
32910         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
32911         * top/maint.mk (gl_extract_significant_defines_): Now that
32912         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
32913         gnulib/lib/signal.in.h, and now that we recommend to
32914         define-if-undefined those two symbols in application code,
32915         we must filter them out of the "significant" list.
32916         This avoids a "make syntax-check" failure in coreutils.
32918 2011-07-26  Eric Blake  <eblake@redhat.com>
32920         warnings: add comments about previous patch
32921         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
32922         * m4/include_next.m4: Likewise.
32923         * m4/warn-on-use.m4: Likewise.
32924         * m4/warnings.m4: Likewise, and simplify use.
32925         Suggested by Stefano Lattarini.
32927         include-next, warnings: support older autoconf
32928         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
32929         AS_VAR_PUSHDEF in a way that works with older autoconf.
32930         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
32931         Reported by Daniel P. Berrange.
32933 2011-07-25  Bruno Haible  <bruno@clisp.org>
32935         fseek, ftell: Fix doc.
32936         * doc/posix-functions/fseek.texi: Reword statement about
32937         AC_SYS_LARGEFILE.
32938         * doc/posix-functions/ftell.texi: Likewise.
32940 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
32941             Bruno Haible  <bruno@clisp.org>
32943         Add dependencies to the 'largefile' module.
32944         * modules/fopen (Depends-on): Add 'largefile'.
32945         * modules/freopen (Depends-on): Likewise.
32946         * modules/fseeko (Depends-on): Likewise.
32947         * modules/ftello (Depends-on): Likewise.
32948         * modules/glob (Depends-on): Likewise.
32949         * modules/lseek (Depends-on): Likewise.
32950         * modules/lstat (Depends-on): Likewise.
32951         * modules/mkostemp (Depends-on): Likewise.
32952         * modules/mkostemps (Depends-on): Likewise.
32953         * modules/mkstemp (Depends-on): Likewise.
32954         * modules/mkstemps (Depends-on): Likewise.
32955         * modules/open (Depends-on): Likewise.
32956         * modules/openat (Depends-on): Likewise.
32957         * modules/pread (Depends-on): Likewise.
32958         * modules/pwrite (Depends-on): Likewise.
32959         * modules/scandir (Depends-on): Likewise.
32960         * modules/stat (Depends-on): Likewise.
32961         * modules/tmpfile (Depends-on): Likewise.
32962         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
32963         since the containing module now depends on the largefile module.
32964         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
32965         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
32966         off_t is fixed by gnulib.
32967         * doc/posix-functions/freopen.texi: Likewise.
32968         * doc/posix-functions/fseeko.texi: Likewise.
32969         * doc/posix-functions/fstatat.texi: Likewise.
32970         * doc/posix-functions/ftello.texi: Likewise.
32971         * doc/posix-functions/glob.texi: Likewise.
32972         * doc/posix-functions/lseek.texi: Likewise.
32973         * doc/posix-functions/lstat.texi: Likewise.
32974         * doc/posix-functions/mkstemp.texi: Likewise.
32975         * doc/posix-functions/open.texi: Likewise.
32976         * doc/posix-functions/openat.texi: Likewise.
32977         * doc/posix-functions/pread.texi: Likewise.
32978         * doc/posix-functions/pwrite.texi: Likewise.
32979         * doc/posix-functions/scandir.texi: Likewise.
32980         * doc/posix-functions/stat.texi: Likewise.
32981         * doc/posix-functions/tmpfile.texi: Likewise.
32982         * doc/glibc-functions/mkostemp.texi: Likewise.
32983         * doc/glibc-functions/mkostemps.texi: Likewise.
32984         * doc/glibc-functions/mkstemps.texi: Likewise.
32986 2011-07-25  Bruno Haible  <bruno@clisp.org>
32988         fcntl: Move AC_LIBOBJ invocation to module description.
32989         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
32990         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
32992         fcntl: Remove call-in from fchdir.m4.
32993         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
32994         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
32996         dup3: Remove potential call-in from fchdir.m4.
32997         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
32998         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
33000         dup2: Move AC_LIBOBJ invocation to module description.
33001         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
33002         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
33003         Don't invoke AC_LIBOBJ.
33004         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
33006         dup2: Remove call-in from fchdir.m4.
33007         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
33008         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
33010         fclose: Move AC_LIBOBJ invocation to module description.
33011         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
33012         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
33013         to 1.
33014         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
33016         fclose: Remove call-in from close.m4.
33017         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
33018         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
33020         close: Move AC_LIBOBJ invocation to module description.
33021         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
33022         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
33023         1.
33024         * modules/close (configure.ac): Invoke AC_LIBOBJ.
33026         close: Remove call-in from fchdir.m4.
33027         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
33028         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
33030         open: Move AC_LIBOBJ invocation to module description.
33031         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
33032         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
33033         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
33035         open: Remove call-in from fchdir.m4.
33036         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
33037         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
33039         fchdir: Start to remove gl_REPLACE_* idiom.
33040         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
33041         (gl_FUNC_FCHDIR): Invoke it.
33043 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
33045         * lib/ftell.c (ftell): Comment out cast.
33047         close: use gl_REPLACE_FCLOSE only if defined
33048         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
33049         is defined.  The close module doesn't depend on the fclose module
33050         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
33051         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00392.html>.
33052         I reproduced the problem with "./gnulib-tool --test close sys_socket".
33054 2011-07-24  Jim Meyering  <meyering@redhat.com>
33056         test-select.h: avoid warning when using gcc's -Wmissing-declarations
33057         * tests/test-select.h (test_function): Declare as "static".
33059 2011-07-24  Bruno Haible  <bruno@clisp.org>
33061         doc: Mention the effects of AC_SYS_LARGEFILE.
33062         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
33063         on this function.
33064         * doc/posix-functions/aio_error.texi: Likewise.
33065         * doc/posix-functions/aio_fsync.texi: Likewise.
33066         * doc/posix-functions/aio_read.texi: Likewise.
33067         * doc/posix-functions/aio_return.texi: Likewise.
33068         * doc/posix-functions/aio_suspend.texi: Likewise.
33069         * doc/posix-functions/aio_write.texi: Likewise.
33070         * doc/posix-functions/fgetpos.texi: Likewise.
33071         * doc/posix-functions/fopen.texi: Likewise.
33072         * doc/posix-functions/freopen.texi: Likewise.
33073         * doc/posix-functions/fsetpos.texi: Likewise.
33074         * doc/posix-functions/fstatvfs.texi: Likewise.
33075         * doc/posix-functions/ftruncate.texi: Likewise.
33076         * doc/posix-functions/ftw.texi: Likewise.
33077         * doc/posix-functions/getrlimit.texi: Likewise.
33078         * doc/posix-functions/glob.texi: Likewise.
33079         * doc/posix-functions/lio_listio.texi: Likewise.
33080         * doc/posix-functions/lockf.texi: Likewise.
33081         * doc/posix-functions/mkstemp.texi: Likewise.
33082         * doc/posix-functions/mmap.texi: Likewise.
33083         * doc/posix-functions/nftw.texi: Likewise.
33084         * doc/posix-functions/openat.texi: Likewise.
33085         * doc/posix-functions/opendir.texi: Likewise.
33086         * doc/posix-functions/posix_fadvise.texi: Likewise.
33087         * doc/posix-functions/posix_fallocate.texi: Likewise.
33088         * doc/posix-functions/pread.texi: Likewise.
33089         * doc/posix-functions/pwrite.texi: Likewise.
33090         * doc/posix-functions/readdir.texi: Likewise.
33091         * doc/posix-functions/readdir_r.texi: Likewise.
33092         * doc/posix-functions/rewinddir.texi: Likewise.
33093         * doc/posix-functions/scandir.texi: Likewise.
33094         * doc/posix-functions/seekdir.texi: Likewise.
33095         * doc/posix-functions/setrlimit.texi: Likewise.
33096         * doc/posix-functions/statvfs.texi: Likewise.
33097         * doc/posix-functions/telldir.texi: Likewise.
33098         * doc/posix-functions/tmpfile.texi: Likewise.
33099         * doc/posix-functions/truncate.texi: Likewise.
33100         * doc/glibc-functions/fallocate.texi: Likewise.
33101         * doc/glibc-functions/fstatfs.texi: Likewise.
33102         * doc/glibc-functions/fts_children.texi: Likewise.
33103         * doc/glibc-functions/fts_read.texi: Likewise.
33104         * doc/glibc-functions/getdirentries.texi: Likewise.
33105         * doc/glibc-functions/mkostemp.texi: Likewise.
33106         * doc/glibc-functions/mkostemps.texi: Likewise.
33107         * doc/glibc-functions/mkstemps.texi: Likewise.
33108         * doc/glibc-functions/preadv.texi: Likewise.
33109         * doc/glibc-functions/pwritev.texi: Likewise.
33110         * doc/glibc-functions/sendfile.texi: Likewise.
33111         * doc/glibc-functions/statfs.texi: Likewise.
33113 2011-07-24  Bruno Haible  <bruno@clisp.org>
33115         doc: Fix typo.
33116         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
33118 2011-07-24  Bruno Haible  <bruno@clisp.org>
33120         doc: Mention fsusage.
33121         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
33123 2011-07-24  Bruno Haible  <bruno@clisp.org>
33125         doc: Mention new glibc headers and functions.
33126         * doc/glibc-headers/gshadow.texi: New file.
33127         * doc/glibc-functions/endsgent.texi: New file.
33128         * doc/glibc-functions/fgetsgent.texi: New file.
33129         * doc/glibc-functions/fgetsgent_r.texi: New file.
33130         * doc/glibc-functions/getsgent.texi: New file.
33131         * doc/glibc-functions/getsgent_r.texi: New file.
33132         * doc/glibc-functions/getsgnam.texi: New file.
33133         * doc/glibc-functions/getsgnam_r.texi: New file.
33134         * doc/glibc-functions/putsgent.texi: New file.
33135         * doc/glibc-functions/setsgent.texi: New file.
33136         * doc/glibc-functions/sgetsgent.texi: New file.
33137         * doc/glibc-functions/sgetsgent_r.texi: New file.
33138         * doc/glibc-functions/malloc_info.texi: New file.
33139         * doc/glibc-functions/preadv.texi: New file.
33140         * doc/glibc-functions/pwritev.texi: New file.
33141         * doc/glibc-functions/register_printf_modifier.texi: New file.
33142         * doc/glibc-functions/register_printf_specifier.texi: New file.
33143         * doc/glibc-functions/register_printf_type.texi: New file.
33144         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
33145         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
33146         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
33147         * doc/glibc-functions/pthread_getname_np.texi: New file.
33148         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
33149         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
33150         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
33151         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
33152         * doc/glibc-functions/pthread_setname_np.texi: New file.
33153         * doc/glibc-functions/pthread_sigqueue.texi: New file.
33154         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
33155         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
33156         * doc/glibc-functions/qsort_r.texi: New file.
33157         * doc/glibc-functions/quick_exit.texi: New file.
33158         * doc/glibc-functions/syncfs.texi: New file.
33159         * doc/gnulib.texi: Include them.
33160         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
33161         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
33162         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
33163         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
33164         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
33165         * doc/glibc-functions/execvpe.texi: Likewise.
33167 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
33169         ftell: don't include <unistd.h>
33170         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
33171         guaranteed to define off_t, and the ftell module depends on the
33172         stdio module.
33174         ftell: do not assume wraparound signed arithmetic
33175         * lib/ftell.c: Include <limits.h>.
33176         (ftell): Don't assume wraparound signed arithmetic.
33178 2011-07-24  Bruno Haible  <bruno@clisp.org>
33180         close: No longer depend on module 'fclose'.
33181         * modules/close (Depends-on): Remove fclose.
33182         * NEWS: Mention the change.
33183         Suggested by Sam Steingold <sds@gnu.org>.
33185 2011-07-24  Bruno Haible  <bruno@clisp.org>
33187         fsusage: Enable large volume support on AIX >= 5.2.
33188         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
33189         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
33190         instead of STAT_STATVFS.
33191         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
33193         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
33194         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
33195         f_blocks field only on MacOS X.
33197         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
33198         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
33199         * modules/fsusage (Depends-on): Add largefile.
33201 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
33203         * README: Modernize discussion of signed integers.
33204         Assuming overflow wraparound is no longer safe.
33205         Mention ones' complement and signed magnitude.
33207 2011-07-22  Bruno Haible  <bruno@clisp.org>
33209         select tests, pselect tests: Refactor.
33210         * tests/test-select.h: New file, extracted from tests/test-select.c.
33211         (select_fn): New type.
33212         (test, do_select, do_select_nowait, do_select_wait, test_tty,
33213         test_connect_first, test_accept_first, test_pair, test_socket_pair,
33214         test_pipe): Add my_select argument.
33215         (test_function): Renamed from main. Add my_select argument.
33216         * tests/test-select.c: Move most code to tests/test-select.h. Include
33217         test-select.h.
33218         * modules/select-tests (Files): Add tests/test-select.h.
33219         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
33220         (my_select, main): New functions.
33221         * modules/pselect-tests (Files): Add tests/test-select.h,
33222         tests/macros.h, tests/signature.h.
33223         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
33224         (configure.ac): Check for <sys/wait.h>.
33226 2011-07-22  Bruno Haible  <bruno@clisp.org>
33228         sys_select tests: Check the signature of FD_*.
33229         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
33230         signature tests from here...
33231         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
33232         here.
33233         * modules/sys_select-tests (Files): Add tests/signature.h.
33235 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
33237         largefile: new module, replacing large-inode
33238         Pádraig Brady suggested this in <http://debbugs.gnu.org/9140#20>.
33239         * MODULES.html.sh: Add largefile, remove large-inode.
33240         * modules/largefile, m4/largefile.m4: New files.
33241         * modules/large-inode, m4/large-inode.m4: Remove.
33243         fsusage: port to MacOS X 10.7 with 4 TiB file systems
33244         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
33245         implementations that use only 32 bits to count blocks.
33246         On typical hosts with 1024-byte blocks, this fails with file
33247         systems as small as 4 TiB.  Problem reported by Herb Wartens
33248         <http://debbugs.gnu.org/9140> and this should also fix a similar
33249         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
33251         large-inode: New module
33252         * MODULES.html.sh: Add it.
33253         * modules/large-inode, m4/large-inode.m4: New files.
33255         extensions: Enable extensions on MacOS X 10.5 and later.
33256         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
33258 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
33260         file-has-acl: use acl_extended_file_nofollow if available
33261         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
33262         (acl_extended_file): New macro.
33263         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
33264         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
33266 2011-07-21  Bruno Haible  <bruno@clisp.org>
33268         Declare system functions in a way that works with C++.
33269         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
33270         declare fdopendir as extern "C".
33271         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
33272         declare frexpl as extern "C".
33273         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
33274         declare gai_strerror as extern "C".
33275         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
33276         programs, declare gai_strerror as extern "C".
33277         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
33278         declare getlogin_r as extern "C".
33279         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
33280         as extern "C".
33281         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
33282         declare ldexpl as extern "C".
33283         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
33284         as extern "C".
33285         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
33286         program, declare getmntinfo as extern "C".
33287         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
33288         stpncpy as extern "C".
33289         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
33290         program, declare __xpg_strerror_r as extern "C".
33291         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
33292         strndup as extern "C".
33293         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
33294         declare memset and bzero as extern "C".
33295         Reported by Sam Steingold <sds@gnu.org>.
33297 2011-07-12  Jim Meyering  <meyering@redhat.com>
33299         maint.mk: prohibit inclusion of "verify.h" without use
33300         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
33302 2011-07-19  Pádraig Brady  <P@draigBrady.com>
33304         timer-time: A new module to check for timer_settime()
33305         * m4/timer_time.m4: Check for the posix function.
33306         * modules/timer-time: Add the new module.
33307         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
33308         Mention it.
33310 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
33311             Bruno Haible  <bruno@clisp.org>
33313         pthread_sigmask: assume POSIX threads if --avoid=threadlib
33314         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
33315         not defined, assume POSIX threads and look for pthread_sigmask in
33316         $LIBS, without changing $CPPFLAGS.
33318 2011-07-19  Bruno Haible  <bruno@clisp.org>
33320         strstr: Update cross-compilation guess.
33321         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
33322         CPUs, guess no, in view of glibc
33323         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
33324         Suggested by Eric Blake. Reported by Reuben Thomas.
33326 2011-07-19  Pádraig Brady  <P@draigBrady.com>
33328         getopt-gnu: suppress core dumps from detection code
33329         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
33330         to suppress core dumps that may well occur on glibc systems.
33331         * modules/getopt-gnu: Depend on nocrash.
33333 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
33335         pthread_sigmask: ensure usleep is declared
33336         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
33337         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
33339 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
33341         doc: Document NonStop portability issues.
33342         * doc/posix-functions/sigaction.texi (sigaction):
33343         * doc/posix-headers/signal.texi (signal.h):
33344         Document NonStop.  See Joachim Schmitz in
33345         http://lists.gnu.org/r/bug-coreutils/2011-07/msg00062.html
33347 2011-07-15  Bruno Haible  <bruno@clisp.org>
33349         ffsl, ffsll: Avoid unportable behaviour.
33350         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
33352 2011-07-15  Bruno Haible  <bruno@clisp.org>
33354         ffs: More tests.
33355         * tests/test-ffs.c (NBITS): New macro.
33356         (main): Add more tests.
33357         * tests/test-ffsl.c (NBITS): New macro.
33358         (main): Add more tests.
33359         * tests/test-ffsll.c (NBITS): New macro.
33360         (main): Add more tests.
33362 2011-07-15  Eric Blake  <eblake@redhat.com>
33364         ffsl, ffsll: new modules
33365         * modules/ffsl: New file.
33366         * modules/ffsll: Likewise.
33367         * m4/ffsl.m4: Likewise.
33368         * m4/ffsll.m4: Likewise.
33369         * lib/ffsl.c: Likewise.
33370         * lib/ffsl.h: Likewise.
33371         * lib/ffsll.c: Likewise.
33372         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
33373         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
33374         * modules/string (Makefile.am): Substitute witnesses.
33375         * lib/strings.in.h (ffsl, ffsll): Declare.
33376         * modules/ffsl-tests: New test file.
33377         * modules/ffsll-tests: Likewise.
33378         * tests/test-ffsl.c: Likewise.
33379         * tests/test-ffsll.c: Likewise.
33380         * MODULES.html.sh (Integer arithmetic functions): Mention it.
33381         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
33382         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
33384         ffs: fix m4 prerequisite
33385         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
33387         ffs: avoid undefined behavior
33388         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
33389         * tests/test-ffs.c (naive, main): Avoid signed shifts.
33390         Reported by Bruno Haible.
33392 2011-07-12  Bruno Haible  <bruno@clisp.org>
33394         pthread_sigmask: Rely on module 'threadlib'.
33395         * modules/pthread_sigmask (Depends-on): Add threadlib.
33396         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
33397         is defined.
33399 2011-07-12  Bruno Haible  <bruno@clisp.org>
33401         regex: Depend on module 'strcase'.
33402         * modules/regex (Depends-on): Add strcase, for strcasecmp().
33404 2011-07-12  Jim Meyering  <meyering@redhat.com>
33406         warn-on-use: fix typo in file name
33407         * modules/snippet/warn-on-use (Files): Correct file name:
33408         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
33410 2011-07-12  Bruno Haible  <bruno@clisp.org>
33412         strings: Document module.
33413         * doc/posix-headers/strings.texi: Mention module 'strings'.
33415 2011-07-12  Bruno Haible  <bruno@clisp.org>
33417         Rename module '_Noreturn' to 'snippet/_Noreturn'.
33418         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
33419         (Files, Makefile.am): Update.
33420         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
33421         * modules/stdlib (Depends-on): Update.
33423 2011-07-12  Bruno Haible  <bruno@clisp.org>
33425         * NEWS: Mention the changes.
33427         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
33428         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
33429         (Files, Makefile.am): Update.
33430         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
33431         * modules/arpa_inet (Depends-on): Update.
33432         * modules/ctype (Depends-on): Update.
33433         * modules/dirent (Depends-on): Update.
33434         * modules/fcntl-h (Depends-on): Update.
33435         * modules/glob (Depends-on): Update.
33436         * modules/iconv-h (Depends-on): Update.
33437         * modules/inttypes-incomplete (Depends-on): Update.
33438         * modules/langinfo (Depends-on): Update.
33439         * modules/locale (Depends-on): Update.
33440         * modules/math (Depends-on): Update.
33441         * modules/netdb (Depends-on): Update.
33442         * modules/poll-h (Depends-on): Update.
33443         * modules/pty (Depends-on): Update.
33444         * modules/search (Depends-on): Update.
33445         * modules/signal (Depends-on): Update.
33446         * modules/spawn (Depends-on): Update.
33447         * modules/stdio (Depends-on): Update.
33448         * modules/stdlib (Depends-on): Update.
33449         * modules/string (Depends-on): Update.
33450         * modules/strings (Depends-on): Update.
33451         * modules/sys_file (Depends-on): Update.
33452         * modules/sys_ioctl (Depends-on): Update.
33453         * modules/sys_select (Depends-on): Update.
33454         * modules/sys_socket (Depends-on): Update.
33455         * modules/sys_stat (Depends-on): Update.
33456         * modules/sys_time (Depends-on): Update.
33457         * modules/sys_times (Depends-on): Update.
33458         * modules/sys_utsname (Depends-on): Update.
33459         * modules/sys_wait (Depends-on): Update.
33460         * modules/termios (Depends-on): Update.
33461         * modules/time (Depends-on): Update.
33462         * modules/unistd (Depends-on): Update.
33463         * modules/wchar (Depends-on): Update.
33464         * modules/wctype-h (Depends-on): Update.
33465         * MODULES.html.sh (Support for building libraries and executables):
33466         Update.
33468         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
33469         * modules/snippet/unused-parameter: Renamed from
33470         modules/unused-parameter.
33471         (Files, Makefile.am): Update.
33472         * build-aux/snippet/unused-parameter.h: Renamed from
33473         build-aux/unused-parameter.h.
33474         * modules/selinux-h (Depends-on): Update.
33475         * modules/unistr/base (Depends-on): Update.
33476         * MODULES.html.sh (Core language properties): Update.
33478         Rename module 'link-warning' to 'snippet/link-warning'.
33479         * modules/snippet/link-warning: Renamed from modules/link-warning.
33480         (Files, Makefile.am): Update.
33481         * build-aux/snippet/link-warning.h: Renamed from
33482         build-aux/link-warning.h.
33483         * MODULES.html.sh (Support for building libraries and executables):
33484         Update.
33486         Rename module 'c++defs' to 'snippet/c++defs'.
33487         * modules/snippet/c++defs: Renamed from modules/c++defs.
33488         (Files, Makefile.am): Update.
33489         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
33490         * modules/arpa_inet (Depends-on): Update.
33491         * modules/ctype (Depends-on): Update.
33492         * modules/dirent (Depends-on): Update.
33493         * modules/fcntl-h (Depends-on): Update.
33494         * modules/glob (Depends-on): Update.
33495         * modules/iconv-h (Depends-on): Update.
33496         * modules/langinfo (Depends-on): Update.
33497         * modules/locale (Depends-on): Update.
33498         * modules/math (Depends-on): Update.
33499         * modules/netdb (Depends-on): Update.
33500         * modules/poll-h (Depends-on): Update.
33501         * modules/pty (Depends-on): Update.
33502         * modules/search (Depends-on): Update.
33503         * modules/signal (Depends-on): Update.
33504         * modules/spawn (Depends-on): Update.
33505         * modules/stdio (Depends-on): Update.
33506         * modules/stdlib (Depends-on): Update.
33507         * modules/string (Depends-on): Update.
33508         * modules/strings (Depends-on): Update.
33509         * modules/sys_ioctl (Depends-on): Update.
33510         * modules/sys_select (Depends-on): Update.
33511         * modules/sys_socket (Depends-on): Update.
33512         * modules/sys_stat (Depends-on): Update.
33513         * modules/sys_time (Depends-on): Update.
33514         * modules/sys_wait (Depends-on): Update.
33515         * modules/termios (Depends-on): Update.
33516         * modules/time (Depends-on): Update.
33517         * modules/unistd (Depends-on): Update.
33518         * modules/wchar (Depends-on): Update.
33519         * modules/wctype-h (Depends-on): Update.
33521         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
33522         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
33523         (Files, Makefile.am): Update.
33524         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
33525         * modules/argv-iter (Depends-on): Update.
33526         * modules/arpa_inet (Depends-on): Update.
33527         * modules/dirent (Depends-on): Update.
33528         * modules/fcntl-h (Depends-on): Update.
33529         * modules/fnmatch (Depends-on): Update.
33530         * modules/getopt-posix (Depends-on): Update.
33531         * modules/glob (Depends-on): Update.
33532         * modules/iconv-h (Depends-on): Update.
33533         * modules/inttypes-incomplete (Depends-on): Update.
33534         * modules/locale (Depends-on): Update.
33535         * modules/math (Depends-on): Update.
33536         * modules/netdb (Depends-on): Update.
33537         * modules/search (Depends-on): Update.
33538         * modules/signal (Depends-on): Update.
33539         * modules/spawn (Depends-on): Update.
33540         * modules/stdio (Depends-on): Update.
33541         * modules/stdlib (Depends-on): Update.
33542         * modules/string (Depends-on): Update.
33543         * modules/strings (Depends-on): Update.
33544         * modules/sys_socket (Depends-on): Update.
33545         * modules/sys_stat (Depends-on): Update.
33546         * modules/sys_time (Depends-on): Update.
33547         * modules/sys_times (Depends-on): Update.
33548         * modules/sys_utsname (Depends-on): Update.
33549         * modules/time (Depends-on): Update.
33550         * modules/unistd (Depends-on): Update.
33551         * modules/wchar (Depends-on): Update.
33552         * MODULES.html.sh (Support for building libraries and executables):
33553         Update.
33555 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
33557         Improvements on _Noreturn and related modules.
33559         modules/_Exit-tests: test _Noreturn too
33560         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
33561         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
33562         (main): Use them.
33564         stdnoreturn, stdnoreturn-tests: remove modules
33565         They're not needed here and a bit premature for use elsewhere.  See
33566         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00209.html>.
33567         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
33568         * tests/test-stdnoreturn.c: Remove files.
33569         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
33570         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
33571         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
33572         and using noreturn.
33573         * modules/openat, modules/sigpipe-die, modules/xalloc:
33574         * modules/xmemdup0, modules/xstrtol:
33575         Remove dependency on stdnoreturn.
33577         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
33578         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
33579         Reparenthesize to avoid GCC warning.
33580         Support Microsoft's syntax.
33581         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
33583         _Noreturn-tests: remove module
33584         * modules/_Noreturn-tests: Remove.
33585         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
33586         * tests/test-_Noreturn.c: Remove.
33587         * tests/test-stdnoreturn.c: Merge from the old
33588         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
33590 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
33592         _Noreturn, stdnoreturn, and related modules.
33594         * top/maint.mk: Adjust to new noreturn support.
33595         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
33596         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
33598         xalloc: use stdnoreturn.h
33599         * lib/xalloc.h: Include <stdnoreturn.h>.
33600         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
33601         * modules/xalloc (Depends-on): Add stdnoreturn.
33603         xstrtol: use stdnoreturn.h
33604         * lib/xstrtol.h: Include <stdnoreturn.h>.
33605         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
33606         * modules/xstrtol (Depends-on): Add stdnoreturn.
33608         xmemdup0: use stdnoreturn.h
33609         * lib/xmemdup0.h: Include <stdnoreturn.h>.
33610         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
33611         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
33613         sigpipe-die: use stdnoreturn.h
33614         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
33615         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
33616         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
33618         openat: use stdnoreturn.h
33619         * lib/openat.h: Include <stdnoreturn.h>.
33620         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
33621         * modules/openat (Depends-on): Add stdnoreturn.
33623         * lib/openat-die.c (openat_save_fail): Modernize comment.
33625         * lib/xalloc-die.c (xalloc_die): Modernize comment.
33627         * lib/glthread/thread.h: Modernize comment.
33629         obstack: use _Noreturn
33630         * lib/obstack.c (__attribute__): Remove macro.
33631         (print_and_abort): Use _Noreturn.
33633         c-stack: use _Noreturn
33634         * lib/c-stack.c (die, overflow_handler, segv_handler):
33635         Use _Noreturn rather than __attribute__((noreturn)).
33637         argmatch-tests, exclude_tests: use _Noreturn
33638         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
33639         Remove.
33640         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
33642         stdlib: use _Noreturn
33643         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
33644         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
33645         * modules/stdlib (Depends-on): Add _Noreturn.
33646         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
33648         stdnoreturn-tests: new module
33649         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
33651         stdnoreturn: new module
33652         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
33653         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
33655         _Noreturn-tests: new module
33656         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
33658         _Noreturn: new module
33659         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
33660         New section, mentioning it.
33661         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
33663         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
33665 2011-07-11  Eric Blake  <eblake@redhat.com>
33667         ffs: new module
33668         * modules/ffs: New file.
33669         * m4/ffs.m4: Likewise.
33670         * lib/ffs.c: Likewise.
33671         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
33672         * modules/strings (Makefile.am): Substitute witness.
33673         (Depends-on): Add c++defs.
33674         * lib/strings.in.h (ffs): Declare.
33675         * modules/ffs-tests: New test file.
33676         * tests/test-ffs.c: Test new module.
33677         * MODULES.html.sh (Integer arithmetic functions): Mention it.
33678         * doc/posix-functions/ffs.texi (ffs): Likewise.
33680         regex: avoid compiler warning
33681         * lib/regex.c (includes): Include <strings.h>, for use of
33682         strcasecmp in regcomp.c.
33683         Reported by Joachim Schmitz.
33685 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
33687         stdint: respect system's intmax_t if INTMAX_MAX
33688         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
33689         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
33690         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
33691         long but int64_t is long long, and where we will clash with the
33692         system intmax_t if we override it.  See
33693         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00160.html>.
33694         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
33695         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
33696         similarly for UINTMAX_C.
33698 2011-07-08  Bruno Haible  <bruno@clisp.org>
33700         pthread_sigmask tests: Avoid a compiler warning.
33701         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
33702         non-zero.
33704         sigprocmask tests: A better way to avoid a compiler warning.
33705         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
33706         (main): Complain if system() returns non-zero.
33707         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
33709 2011-07-08  Bruno Haible  <bruno@clisp.org>
33711         pthread_sigmask: Work around IRIX bug.
33712         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
33713         bug.
33714         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
33715         there may be unblocked pending signals.
33716         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
33718 2011-07-08  Bruno Haible  <bruno@clisp.org>
33720         pthread_sigmask: Work around Cygwin bug.
33721         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
33722         bug.
33723         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
33724         the system's pthread_sigmask function.
33725         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
33727 2011-07-08  Bruno Haible  <bruno@clisp.org>
33729         pthread_sigmask: Work around bug in single-threaded implementation.
33730         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
33731         FreeBSD, HP-UX, Solaris bug.
33732         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
33733         * lib/pthread_sigmask.c: Include <stddef.h>.
33734         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
33735         the system's pthread_sigmask function.
33736         * modules/pthread_sigmask (configure.ac): Invoke
33737         gl_PREREQ_PTHREAD_SIGMASK.
33738         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
33739         HP-UX, Solaris.
33741 2011-07-08  Eric Blake  <eblake@redhat.com>
33743         test-sigprocmask: avoid compiler warning
33744         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
33745         * tests/test-sigprocmask.c (main): Use it to silence warning.
33746         Reported by Jim Meyering.
33748         test-snprintf: avoid compiler warning
33749         * tests/test-snprintf.c (main): Avoid shadowed declaration.
33750         * tests/test-vsnprintf.c (main): Likewise.
33751         Reported by Jim Meyering.
33753 2011-07-08  Bruno Haible  <bruno@clisp.org>
33755         Tests for module 'pthread_sigmask'.
33756         * modules/pthread_sigmask-tests: New file.
33757         * tests/test-pthread_sigmask1.c: New file, based on
33758         tests/test-sigprocmask.c.
33759         * tests/test-pthread_sigmask2.c: New file.
33761 2011-07-08  Jim Meyering  <meyering@redhat.com>
33763         test-getopt.h: avoid warning about an unused variable
33764         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
33766 2011-07-07  Jim Meyering  <meyering@redhat.com>
33768         maint: reduce list of files exempt from sc_prohibit_leading_TABs
33769         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
33770         now that it no longer contains leading TABs.
33771         Remove unused "url=FIXME" statement.
33773 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
33775         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
33776         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
33777         When gl_THREADLIB is not in use, assume that the POSIX sematics
33778         are desired.  This is better for Emacs, which uses POSIX semantics
33779         on GNUish and/or POSIXish platforms, and does not use threads at
33780         all otherwise.
33782         pthread_sigmask: fix typo when testing for libraries
33783         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
33784         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
33786 2011-07-08  Eric Blake  <eblake@redhat.com>
33788         fts: introduce FTS_NOATIME
33789         * lib/fts_.h (FTS_NOATIME): New bit flag.
33790         (FTS_OPTIONMASK): Adjust.
33791         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
33792         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
33794 2011-07-08  Bruno Haible  <bruno@clisp.org>
33796         Tests for module 'thread'.
33797         * modules/thread-tests: New file.
33798         * tests/test-thread_self.c: New file.
33799         * tests/test-thread_create.cc: New file.
33801 2011-07-08  Bruno Haible  <bruno@clisp.org>
33803         thread: Avoid gcc warnings when using gl_thread_self().
33804         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
33805         'void *'.
33806         (gl_thread_self_pointer): Update.
33808 2011-07-07  Bruno Haible  <bruno@clisp.org>
33810         signal-c++-tests: Check declaration of pthread_sigmask.
33811         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
33812         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
33813         $(LIB_PTHREAD_SIGMASK).
33815 2011-07-07  Bruno Haible  <bruno@clisp.org>
33817         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
33818         * lib/signal.in.h (pthread_sigmask): Override if
33819         REPLACE_PTHREAD_SIGMASK is 1.
33820         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
33821         REPLACE_PTHREAD_SIGMASK.
33822         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
33823         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
33824         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
33825         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
33826         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
33828 2011-07-07  Bruno Haible  <bruno@clisp.org>
33830         pthread_sigmask: Ensure declaration in <signal.h>.
33831         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
33832         include <pthread.h>.
33833         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
33834         problem.
33836 2011-07-07  Bruno Haible  <bruno@clisp.org>
33838         pthread_sigmask: Document the module.
33839         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
33841 2011-07-07  Bruno Haible  <bruno@clisp.org>
33843         pthread_sigmask: Follow gnulib conventions.
33844         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
33845         gl_PTHREAD_SIGMASK.
33846         * modules/pthread_sigmask (configure.ac): Update.
33848 2011-07-07  Bruno Haible  <bruno@clisp.org>
33850         pthread_sigmask: Make declaration C++ safe.
33851         * lib/signal.in.h: In two special conditions, just do an #include_next.
33852         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
33853         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
33854         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
33855         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
33856         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
33857         not REPLACE_PTHREAD_MASK.
33858         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
33859         not REPLACE_PTHREAD_MASK.
33860         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
33862 2011-07-07  Bruno Haible  <bruno@clisp.org>
33864         pthread_sigmask: Fix return value.
33865         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
33866         * lib/pthread_sigmask.c: New file.
33867         * modules/pthread_sigmask (Files): Add it.
33868         (configure.ac): Invoke AC_LIBOBJ.
33870 2011-07-07  Eric Blake  <eblake@redhat.com>
33872         getopt: more portable argv creation
33873         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
33874         const, use char arrays rather than strings.
33875         Suggested by Paul Eggert.
33877 2011-07-07  Bruno Haible  <bruno@clisp.org>
33879         Tests for module 'sigprocmask'.
33880         * modules/sigprocmask-tests: New file.
33881         * tests/test-sigprocmask.c: New file.
33883 2011-07-07  Bruno Haible  <bruno@clisp.org>
33885         float tests: Tweak.
33886         * tests/test-float.c (main): Tweak skip message.
33888 2011-07-07  Eric Blake  <eblake@redhat.com>
33890         getopt: avoid compiler warning during configure
33891         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
33892         assigning string literals to non-const pointer.
33894         getopt-gnu: avoid crash in glibc getopt
33895         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
33896         * tests/test-getopt.h (test_getopt): Enhance test.
33897         * tests/test-getopt_long.h (test_getopt_long): Likewise.
33898         * doc/posix-functions/getopt.texi (getopt): Document it.
33899         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
33900         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
33901         Likewise.
33903 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
33905         getopt: handle W; without long options in getopt [BZ #12922]
33906         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
33907         but no long options are defined, just return 'W'.
33909 2011-07-07  Bruno Haible  <bruno@clisp.org>
33911         Avoid literal tabs.
33912         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
33913         variable containing a tab instead of a literal tab.
33914         Reported by Jim Meyering.
33916 2011-07-07  Bruno Haible  <bruno@clisp.org>
33918         Comments.
33919         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
33921 2011-07-06  Bruno Haible  <bruno@clisp.org>
33923         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
33924         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
33925         <winsock2.h>.
33926         (rpl_fd_isset, FD_ISSET): New definitions, copied from
33927         lib/sys_socket.in.h.
33928         (close, gethostname): Hide declarations from <winsock2.h>.
33929         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
33930         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
33931         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
33932         (select): Don't override if gnulib's <sys/select.h> was already
33933         included.
33934         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
33935         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
33936         setsockopt, shutdown, select): Tweak indentation.
33938 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
33940         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
33941         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
33942         in an application that does not use the sys_select module.
33944 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
33946         poll: do not return 0 on timeout=-1
33947         * lib/poll.c: Loop with yield if no events occurred.
33949 2011-07-06  Eric Blake  <eblake@redhat.com>
33951         pthread_sigmask: always replace when not using pthread
33952         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
33953         replacement when using some threading other than pthread.  Fix
33954         logic bug.
33956 2011-07-06  Bruno Haible  <bruno@clisp.org>
33958         Comments.
33959         * m4/printf.m4: Update comments about mingw.
33961 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
33963         sys_select: define sigset_t more portably
33964         * lib/sys_select.in.h: Always include <sys/types.h>, since
33965         we now need sigset_t and mingw defines it there.
33966         Include <signal.h> before split inclusion guard, to avoid
33967         mishaps on Solaris, whose <signal.h> eventually includes us.
33968         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
33969         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
33970         which come from ...
33971         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
33972         gl_CHECK_TYPE_SIGSET_T.
33973         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
33974         does the real work.
33975         * modules/sys_select (Depends-on): Add 'signal'.
33977         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
33978         Suggested by Bruno Haible.
33980         pselect: Use pthread_sigmask, not sigprocmask.
33981         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
33982         multithreaded apps better than sigprocmask does.
33983         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
33984         sigprocmask directly.
33986 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
33988         * lib/pselect.c (pselect): Use plain name, without "rpl_".
33989         Don't #undef,  since we don't need any underlying pselect.
33990         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
33991         (Depends-on): Add select.
33992         (Link): Add $(LIBSOCKET).
33993         These changes suggested by Bruno Haible.
33995         pselect: document better
33996         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
33997         * doc/posix-functions/pselect.texi (pselect): Document new module.
33999         pthread_sigmask: new module
34000         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
34001         * doc/posix-functions/pthread_sigmask.texi: Document new module.
34002         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
34003         This is done only as a macro; I don't know how well that'll
34004         work for C++.  Move <sys/types.h> include before the include_next,
34005         to avoid mishap on Solaris.
34006         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
34007         * modules/signal (Makefile.am): Substitute the check's results.
34008         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
34010         test-pselect: new module
34011         * modules/pselect-tests, tests/test-pselect.c: New files.
34012         * tests/test-select.c, tests/test-sys_select-c++.cc:
34013         If TEST_PSELECT is defined, test pselect instead of testing select.
34015         * tests/test-sys_select.c (sigset_t): Test for it, too.
34016         Suggested by Bruno Haible.
34018 2011-07-05  Eric Blake  <eblake@redhat.com>
34020         snprintf: guarantee %1$d, for libintl
34021         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
34022         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
34023         * doc/posix-functions/snprintf.texi (snprintf): Update.
34024         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
34025         * tests/test-snprintf.c (main): Enhance test.
34026         * tests/test-vsnprintf.c (main): Likewise.
34028 2011-07-05  Jim Meyering  <meyering@redhat.com>
34030         maint: exempt stdio-read.c and stdio-write.c from the cppi check
34031         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
34032         per Bruno's request, to accommodate this idiom (no space after "#")
34033         even when the function is inside an #if block:
34034         char *
34035         gets (char *s)
34036         #undef gets
34037         {
34038           ...
34039         }
34041 2011-07-04  Jim Meyering  <meyering@redhat.com>
34043         maint: indent with spaces, not TABs, and add a rule to check this
34044         * tests/test-userspec.c: Indent with spaces, not TABs.
34045         * tests/test-argp.c: Likewise.
34046         * tests/test-c-stack2.sh: Likewise.
34047         * tests/test-parse-duration.sh: Likewise
34048         * m4/strtod.m4: Likewise.
34049         * m4/alloca.m4: Likewise.
34050         * m4/pselect.m4: Likewise.
34051         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
34053 2011-07-03  Jim Meyering  <meyering@redhat.com>
34055         maint.mk: correct omissions in prohibit_argmatch_without_use check
34056         This rule would mistakenly report that argmatch.h is included without
34057         use even when both the argmatch and invalid_arg macro were used.
34058         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
34059         of argmatch and invalid_arg.
34061 2011-07-03  Bruno Haible  <bruno@clisp.org>
34063         Comments about EINTR.
34064         * lib/safe-read.h: Explain the purpose of this module.
34065         * lib/safe-write.h: Likewise.
34066         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
34067         module.
34068         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
34069         module.
34070         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34072 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
34074         xnanosleep: Rewrite to use new dtotimespec module.
34075         It has the conversion code that used to be in xnanosleep.
34076         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
34077         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
34078         (TIME_T_MAX): Remove.
34079         (xnanosleep): Rewrite in terms of dtotimespec.
34080         * modules/xnanosleep (Depends-on): Add dtotimespec.
34081         Remove intprops, stdbool.
34083         timespec-add, timespec-sub: new modules
34084         * lib/timespec.h (timespec_add, timespec_sub): New decls.
34085         * lib/timespec-add.c, lib/timespec-sub.c:
34086         * modules/timespec-add, modules/timespec-sub: New files.
34088         dtotimespec: new module
34089         * lib/timespec.h (dtotimespec): New decl.
34090         * lib/dtotimespec.c, modules/dtotimespec: New files.
34092         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
34094         pselect: new module
34095         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
34096         (pselect): New decls.
34097         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
34098         since the standard pselect decl uses 'restrict'.
34099         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
34100         HAVE_PSELECT, REPLACE_PSELECT.
34101         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
34102         HAVE_PSELECT, REPLACE_PSELECT.
34103         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
34105         sys_select: don't depend on sys_socket
34106         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
34107         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00358.html>.
34108         This fix works on GNU and GNU-like platforms, but has not been tested
34109         on native Windows.
34110         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
34111         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
34112         gl_HEADER_SYS_SOCKET.
34113         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
34114         gl_PREREQ_SYS_H_WINSOCK2.
34116 2011-06-29  Eric Blake  <eblake@redhat.com>
34118         pipe2: fix C89 compile problem
34119         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
34120         Reported by Bruno Haible.
34122         pipe, pipe2: don't corrupt fd on error
34123         * lib/pipe.c (pipe): Leave fd unchanged on error.
34124         * lib/pipe2.c (pipe2): Likewise.
34125         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
34126         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
34128 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
34130         mmap-anon: do not use regular expressions inadvertently
34131         * m4/mmap-anon.m4: Remove trailing period from strings sought
34132         in the output.
34134 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
34136         nanosleep: fix integer overflow problem
34137         * lib/nanosleep.c (my_usleep): Don't assume signed integer
34138         arithmetic wraps around on overflow.
34140         nanosleep: simplify carrying
34141         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
34142         first call to the underyling nanosleep, not for the last one.
34143         This doesn't fix any bugs, but it simplifies the computation of
34144         the remaining delay.  Found while auditing integer overflow issues.
34146         dup2: remove test for existence of fcntl
34147         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
34148         "#if HAVE_FCNTL", in the configure-time test program.
34149         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
34150         and therefore speeds up "configure" a bit.  Found while
34151         adding the dup2 module to Emacs.
34153 2011-06-24  Eric Blake  <eblake@redhat.com>
34155         maint.mk: enhance useless header checks
34156         * top/maint.mk (_sc_header_without_use): Check both include
34157         styles.
34158         (sc_prohibit_assert_without_use)
34159         (sc_prohibit_close_stream_without_use)
34160         (sc_prohibit_getopt_without_use)
34161         (sc_prohibit_quotearg_without_use)
34162         (sc_prohibit_quote_without_use)
34163         (sc_prohibit_long_options_without_use)
34164         (sc_prohibit_inttostr_without_use)
34165         (sc_prohibit_ignore_value_without_use)
34166         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
34167         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
34168         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
34169         (sc_prohibit_hash_pjw_without_use)
34170         (sc_prohibit_safe_read_without_use)
34171         (sc_prohibit_argmatch_without_use)
34172         (sc_prohibit_canonicalize_without_use)
34173         (sc_prohibit_root_dev_ino_without_use)
34174         (sc_prohibit_openat_without_use)
34175         (sc_prohibit_c_ctype_without_use)
34176         (sc_prohibit_signal_without_use)
34177         (sc_prohibit_stdio--_without_use)
34178         (sc_prohibit_stdio-safer_without_use)
34179         (sc_prohibit_strings_without_use)
34180         (sc_prohibit_intprops_without_use)
34181         (sc_prohibit_stddef_without_use)
34182         (sc_prohibit_xfreopen_without_use): Update clients.
34184 2011-06-24  Jim Meyering  <meyering@redhat.com>
34186         syntax-check: keep one maint.mk rule in sync with its header
34187         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
34188         of the bug Eric has just fixed, with today's commit 25e4c2ec.
34189         I prefer to avoid temporary files here, so use <(...), but that
34190         is not supported by /bin/sh, so...
34191         (SHELL): Define to /bin/bash.
34193 2011-06-24  Eric Blake  <eblake@redhat.com>
34195         maint.mk: update sc_prohibit_intprops_without_use
34196         * top/maint.mk (_intprops_names): Match recent changes.
34198 2011-06-24  Bruno Haible  <bruno@clisp.org>
34200         strerror-override: No-op tweak.
34201         * lib/strerror-override.h (strerror_override): Reorder conditions,
34202         for consistency with lib/strerror-override.c.
34204 2011-06-23  Eric Blake  <eblake@redhat.com>
34206         maint.mk: test further PATH_MAX issues
34207         * top/maint.mk (sc_prohibit_path_max_array): Rename...
34208         (sc_prohibit_path_max_allocation): ...and also test alloca.
34209         Suggested by Jim Meyering.
34211 2011-06-22  Eric Blake  <eblake@redhat.com>
34213         maint.mk: add syntax-check to avoid char[PATH_MAX]
34214         * top/maint.mk (sc_prohibit_path_max_array): New rule.
34216         stat: be robust to PATH_MAX definition
34217         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
34218         * modules/stat (Depends-on): Add verify.
34220         link: work around IRIX bug
34221         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
34222         * lib/link.c (rpl_link): Work around it.
34223         * tests/test-link.h (test_link): Enhance test.
34224         * doc/posix-functions/link.texi (link): Document the bug.
34226         getopt: silence clang warning
34227         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
34228         dereference.
34229         Reported by Gustavo Martin Domato.
34231 2011-06-22  Jim Meyering  <meyering@redhat.com>
34233         bootstrap: do not insert a blank line into each .gitignore file
34234         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
34236 2011-06-21  Eric Blake  <eblake@redhat.com>
34238         perror: test for output mismatch
34239         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
34240         perror on IRIX.
34242         strerror_r: fix OpenBSD behavior on out-of-range
34243         * lib/strerror_r.c (strerror_r): Always use maximal string.
34244         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
34246         strerror_r: fix OpenBSD behavior on 0
34247         * lib/strerror-override.c (strerror_override): Also override 0
34248         when needed.
34249         * lib/strerror-override.h (strerror_override): Likewise.
34250         * lib/strerror.c (strerror): Simplify, now that 0 override is done
34251         earlier.
34252         * lib/strerror_r.c (strerror_r): Likewise.
34253         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
34254         behavior...
34255         (gl_FUNC_STRERROR_0): ...into new macro.
34256         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
34257         is overridden.
34258         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
34259         * modules/strerror-override (Files): Add strerror.m4.
34260         (configure.ac): Also provide override for 0 when needed.
34261         * doc/posix-functions/strerror.texi (strerror): Document this.
34262         * doc/posix-functions/perror.texi (perror): Likewise.
34264         perror: adjust array size
34265         * modules/perror (Depends-on): Add strerror-override.
34266         * lib/perror.c (perror): Use it to avoid magic number.
34268         strerror-override: reduce size
34269         * lib/strerror-override.c (strerror_override): Use fewer lines.
34271 2011-06-20  Bruno Haible  <bruno@clisp.org>
34273         pathmax: Ensure correct value for PATH_MAX on HP-UX.
34274         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
34276 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
34278         alloca: port to compilers that can optimize like GCC 4.6.0
34279         * lib/alloca.c (find_stack_direction): New signature, taken from
34280         Autoconf git.  This works with GCC 4.6.0.  This code should never
34281         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
34282         be used with other compilers that optimize as well as GCC 4.6.0 does.
34283         (alloca): Adjust to new signature.
34284         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
34285         New macro, which patches Autoconf in a similar way.
34287         c-stack: stop worrying about stack direction
34288         * lib/c-stack.c (find_stack_direction): Remove.
34289         (segv_handler): Don't worry about stack direction growth, as it's
34290         too much of a pain to configure this correctly, given how compilers
34291         are optimizing-away our stack-growth detection code.  Instead, assume
34292         that any access to just before or just after the stack is OK.
34293         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
34294         Don't require AC_FUNC_ALLOCA; no longer needed.
34296 2011-06-20  Eric Blake  <eblake@redhat.com>
34298         test-stat: don't allocate PATH_MAX bytes
34299         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
34300         PATH_MAX-sized buffer.
34301         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
34302         * modules/stat-tests (Depends-on): Likewise.
34303         * tests/test-fstatat.c (includes): Drop pathmax.h.
34304         * tests/test-stat.c (includes): Likewise.
34305         Reported by Bruno Haible.
34307 2011-06-20  Bruno Haible  <bruno@clisp.org>
34309         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
34310         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
34311         * lib/float.c: New file.
34312         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
34313         REPLACE_FLOAT_LDBL.
34314         * modules/float (Files): Add lib/float.c.
34315         (configure.ac): Invoke AC_LIBOBJ.
34316         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
34318 2011-06-20  Bruno Haible  <bruno@clisp.org>
34320         Tests for module 'float'.
34321         * modules/float-tests: New file.
34322         * tests/test-float.c: New file.
34324 2011-06-19  Bruno Haible  <bruno@clisp.org>
34326         isinf: Coding style.
34327         * lib/isinf.c: Use GNU coding style.
34329 2011-06-19  Bruno Haible  <bruno@clisp.org>
34331         linkat test: Avoid test failure on AIX 7.1.
34332         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
34333         * tests/test-link.h (test_link): Likewise.
34335 2011-06-19  Bruno Haible  <bruno@clisp.org>
34337         pread test: Avoid test failure on OpenBSD 4.9.
34338         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
34340 2011-06-19  Bruno Haible  <bruno@clisp.org>
34342         sprintf-posix: Fix test failure on AIX 7.1.
34343         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
34344         * doc/posix-functions/dprintf.texi: Mention limited precision problem
34345         on AIX.
34346         * doc/posix-functions/fprintf.texi: Likewise.
34347         * doc/posix-functions/printf.texi: Likewise.
34348         * doc/posix-functions/snprintf.texi: Likewise.
34349         * doc/posix-functions/sprintf.texi: Likewise.
34350         * doc/posix-functions/vdprintf.texi: Likewise.
34351         * doc/posix-functions/vfprintf.texi: Likewise.
34352         * doc/posix-functions/vprintf.texi: Likewise.
34353         * doc/posix-functions/vsnprintf.texi: Likewise.
34354         * doc/posix-functions/vsprintf.texi: Likewise.
34356 2011-06-19  Bruno Haible  <bruno@clisp.org>
34358         roundl-ieee: Fix test failure on AIX 7.1.
34359         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
34360         * doc/posix-functions/roundl.texi: Mention problem with negative
34361         arguments.
34363 2011-06-19  Bruno Haible  <bruno@clisp.org>
34365         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
34366         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
34367         * doc/posix-functions/round.texi: Mention problem with negative
34368         arguments.
34369         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
34371 2011-06-19  Bruno Haible  <bruno@clisp.org>
34373         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
34374         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
34375         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
34376         * doc/posix-functions/roundf.texi: Mention problem with negative
34377         arguments.
34378         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
34380 2011-06-19  Bruno Haible  <bruno@clisp.org>
34382         ceilf-ieee: Work around bug on MacOS X 10.5.
34383         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
34385         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
34386         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
34387         IEEE compliant, avoid compiler optimizations.
34388         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
34389         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
34390         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
34391         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
34392         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
34393         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
34394         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
34395         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
34396         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
34397         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
34399 2011-06-19  Bruno Haible  <bruno@clisp.org>
34401         ceilf-ieee: Work around bug on AIX 7.1.
34402         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
34403         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
34405 2011-06-19  Bruno Haible  <bruno@clisp.org>
34407         ceil-ieee: Work around bug on AIX 7.1.
34408         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
34409         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
34411 2011-06-18  Bruno Haible  <bruno@clisp.org>
34413         fsync test: Avoid test failure on MacOS X and AIX.
34414         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
34415         EINVAL.
34417 2011-06-18  Bruno Haible  <bruno@clisp.org>
34419         openat, fdopendir tests: Fix link errors.
34420         * modules/openat-tests (Depends-on): Add progname.
34421         * modules/fdopendir-tests (Depends-on): Likewise.
34422         * tests/test-fchownat.c: Include progname.h.
34423         (main): Call set_program_name.
34424         * tests/test-fstatat.c: Include progname.h.
34425         (main): Call set_program_name.
34426         * tests/test-mkdirat.c: Include progname.h.
34427         (main): Call set_program_name.
34428         * tests/test-openat.c: Include progname.h.
34429         (main): Call set_program_name.
34430         * tests/test-unlinkat.c: Include progname.h.
34431         (main): Call set_program_name.
34432         * tests/test-fdopendir.c: Include progname.h.
34433         (main): Call set_program_name.
34435 2011-06-18  Bruno Haible  <bruno@clisp.org>
34437         Doc update.
34438         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
34439         HP-UX.
34440         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
34442 2011-06-18  Bruno Haible  <bruno@clisp.org>
34444         getcwd tests: Avoid compilation error on HP-UX 11.31.
34445         * modules/getcwd-tests (Depends-on): Add pathmax.
34446         * tests/test-getcwd.c: Include pathmax.h.
34448 2011-06-18  Bruno Haible  <bruno@clisp.org>
34450         isfinite, isinf: Fix link error on AIX 6 and 7.
34451         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
34452         needed, also test the macro with a 'float' argument.
34453         * m4/isinf.m4 (gl_ISINF): Likewise.
34455 2011-06-18  Bruno Haible  <bruno@clisp.org>
34457         getloadavg: Don't clobber LIBS. Regression from previous commit.
34458         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
34459         AC_CHECK_LIB from here...
34460         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
34461         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
34462         gl_func_getloadavg_done.
34463         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34465 2011-06-18  Bruno Haible  <bruno@clisp.org>
34467         clean-temp: Improve documentation.
34468         * lib/clean-temp.h: Explain better how to use this module.
34469         Reported by John Darrington <john@darrington.wattle.id.au>.
34471 2011-06-17  Bruno Haible  <bruno@clisp.org>
34473         pread, pwrite: Avoid cc warning on AIX.
34474         * lib/unistd.in.h (pread): Undefine before defining as a macro.
34475         (pwrite): Likewise.
34477 2011-06-17  Bruno Haible  <bruno@clisp.org>
34479         spawn-pipe tests: Fix link error.
34480         * tests/test-spawn-pipe-child.c: Undefine fprintf.
34481         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34483 2011-06-17  Bruno Haible  <bruno@clisp.org>
34485         Tests: Remove unnecessary dependency.
34486         * modules/canonicalize-tests (Depends-on): Remove progname.
34487         * modules/chown-tests (Depends-on): Likewise.
34488         * modules/dirname-tests (Depends-on): Likewise.
34489         * modules/fdopendir-tests (Depends-on): Likewise.
34490         * modules/fdutimensat-tests (Depends-on): Likewise.
34491         * modules/hash-tests (Depends-on): Likewise.
34492         * modules/lchown-tests (Depends-on): Likewise.
34493         * modules/linkat-tests (Depends-on): Likewise.
34494         * modules/renameat-tests (Depends-on): Likewise.
34495         * modules/spawn-pipe-tests (Depends-on): Likewise.
34496         * modules/utimensat-tests (Depends-on): Likewise.
34498 2011-06-17  Bruno Haible  <bruno@clisp.org>
34500         spawn-pipe tests: Fix link error.
34501         * tests/test-spawn-pipe-child.c: Undefine fflush.
34503 2011-06-17  Bruno Haible  <bruno@clisp.org>
34505         Fix tests link errors.
34506         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
34507         * modules/chown-tests (Makefile.am): Don't link test-chown with
34508         LIBINTL.
34509         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
34510         LIBINTL.
34511         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
34512         LIBINTL.
34513         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
34514         LIBINTL.
34516 2011-06-16  Bruno Haible  <bruno@clisp.org>
34518         crypto/gc-sha1: Fix recent regression.
34519         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
34520         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
34522         crypto/gc-md5: Fix recent regression.
34523         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
34525         crypto/gc-md4: Fix recent regression.
34526         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
34527         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
34529         crypto/gc-arctwo: Fix recent regression.
34530         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
34531         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
34533         crypto/gc-rijndael: Fix recent regression.
34534         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
34535         (configure.ac): Invoke AC_LIBOBJ here.
34536         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
34537         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34539         crypto/gc-hmac-sha1: Fix recent regression.
34540         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
34541         (configure.ac): Invoke AC_LIBOBJ here.
34542         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
34543         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34545         crypto/gc-hmac-md5: Fix recent regression.
34546         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
34547         (configure.ac): Invoke AC_LIBOBJ here.
34548         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
34549         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34551         crypto/gc-des: Fix recent regression.
34552         * modules/crypto/gc-des (Files): Remove m4/des.m4.
34553         (configure.ac): Invoke AC_LIBOBJ here.
34554         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
34555         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34557         crypto/gc-arcfour: Fix recent regression.
34558         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
34559         (configure.ac): Invoke AC_LIBOBJ here.
34560         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
34561         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34563 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
34565         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
34566         After the 2011-05-21 change, this macro requires
34567         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
34568         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
34570 2011-06-16  Bruno Haible  <bruno@clisp.org>
34572         fprintftime: Move AC_LIBOBJ invocations to module description.
34573         * m4/fprintftime.m4: Remove file.
34574         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
34575         (configure.ac): Remove gl_FPRINTFTIME call.
34576         (Makefile.am): Augment lib_SOURCES.
34577         Reported by Jim Meyering.
34579 2011-06-16  Bruno Haible  <bruno@clisp.org>
34581         tmpfile-safer: Finish 2011-05-23 commit.
34582         * m4/stdio-safer.m4: Really remove file.
34583         Reported by Jim Meyering.
34585 2011-06-16  Bruno Haible  <bruno@clisp.org>
34587         syntax-check: Fix typo.
34588         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
34589         printf-posix.m4.
34590         Reported by Jim Meyering.
34592 2011-06-13  Jim Meyering  <meyering@redhat.com>
34594         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
34595         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
34597 2011-05-23  Bruno Haible  <bruno@clisp.org>
34599         yesno: Move AC_LIBOBJ invocations to module description.
34600         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
34601         * modules/yesno (Makefile.am): Augment lib_SOURCES.
34603 2011-05-23  Bruno Haible  <bruno@clisp.org>
34605         xstrtol: Move AC_LIBOBJ invocations to module description.
34606         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
34607         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
34609 2011-05-23  Bruno Haible  <bruno@clisp.org>
34611         xstrtold: Move AC_LIBOBJ invocations to module description.
34612         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
34613         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
34615 2011-05-23  Bruno Haible  <bruno@clisp.org>
34617         xstrtod: Move AC_LIBOBJ invocations to module description.
34618         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
34619         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
34621 2011-05-23  Bruno Haible  <bruno@clisp.org>
34623         xnanosleep: Move AC_LIBOBJ invocations to module description.
34624         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
34625         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
34627 2011-05-23  Bruno Haible  <bruno@clisp.org>
34629         xgetcwd: Move AC_LIBOBJ invocations to module description.
34630         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
34631         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
34633 2011-05-23  Bruno Haible  <bruno@clisp.org>
34635         xalloc: Move AC_LIBOBJ invocations to module description.
34636         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
34637         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
34639 2011-05-23  Bruno Haible  <bruno@clisp.org>
34641         write-any-file: Move AC_LIBOBJ invocations to module description.
34642         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
34643         invocation.
34644         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
34646 2011-05-23  Bruno Haible  <bruno@clisp.org>
34648         utimens: Move AC_LIBOBJ invocations to module description.
34649         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
34650         * modules/utimens (Makefile.am): Augment lib_SOURCES.
34652 2011-05-23  Bruno Haible  <bruno@clisp.org>
34654         utimecmp: Move AC_LIBOBJ invocations to module description.
34655         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
34656         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
34658 2011-05-23  Bruno Haible  <bruno@clisp.org>
34660         userspec: Move AC_LIBOBJ invocations to module description.
34661         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
34662         * modules/userspec (Makefile.am): Augment lib_SOURCES.
34664 2011-05-23  Bruno Haible  <bruno@clisp.org>
34666         unlinkdir: Move AC_LIBOBJ invocations to module description.
34667         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
34668         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
34670 2011-05-23  Bruno Haible  <bruno@clisp.org>
34672         unistd-safer: Move AC_LIBOBJ invocations to module description.
34673         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
34674         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
34676 2011-05-23  Bruno Haible  <bruno@clisp.org>
34678         tempname: Move AC_LIBOBJ invocations to module description.
34679         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
34680         * modules/tempname (Makefile.am): Augment lib_SOURCES.
34682 2011-05-23  Bruno Haible  <bruno@clisp.org>
34684         strftime: Move AC_LIBOBJ invocations to module description.
34685         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
34686         * modules/strftime (Makefile.am): Augment lib_SOURCES.
34688 2011-05-23  Bruno Haible  <bruno@clisp.org>
34690         stdlib-safer: Move AC_LIBOBJ invocations to module description.
34691         * m4/stdlib-safer.m4: Remove file.
34692         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
34693         (configure.ac): Remove gl_STDLIB_SAFER call.
34694         (Makefile.am): Augment lib_SOURCES.
34696 2011-05-23  Bruno Haible  <bruno@clisp.org>
34698         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
34699         * m4/stdio-safer.m4: Remove file.
34700         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
34701         (configure.ac): Remove gl_TMPFILE_SAFER call.
34702         (Makefile.am): Augment lib_SOURCES.
34704 2011-05-23  Bruno Haible  <bruno@clisp.org>
34706         popen-safer: Move AC_LIBOBJ invocations to module description.
34707         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
34708         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
34709         (configure.ac): Remove gl_POPEN_SAFER call.
34710         (Makefile.am): Augment lib_SOURCES.
34712 2011-05-23  Bruno Haible  <bruno@clisp.org>
34714         freopen-safer: Move AC_LIBOBJ invocations to module description.
34715         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
34716         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
34717         (configure.ac): Remove gl_FREOPEN_SAFER call.
34718         (Makefile.am): Augment lib_SOURCES.
34720 2011-05-23  Bruno Haible  <bruno@clisp.org>
34722         fopen-safer: Move AC_LIBOBJ invocations to module description.
34723         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
34724         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
34725         (configure.ac): Remove gl_FOPEN_SAFER call.
34726         (Makefile.am): Augment lib_SOURCES.
34728 2011-05-23  Bruno Haible  <bruno@clisp.org>
34730         crypto/sha512: Move AC_LIBOBJ invocations to module description.
34731         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
34732         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
34734 2011-05-23  Bruno Haible  <bruno@clisp.org>
34736         crypto/sha256: Move AC_LIBOBJ invocations to module description.
34737         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
34738         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
34740 2011-05-23  Bruno Haible  <bruno@clisp.org>
34742         crypto/sha1: Move AC_LIBOBJ invocations to module description.
34743         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
34744         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
34746 2011-05-23  Bruno Haible  <bruno@clisp.org>
34748         settime: Move AC_LIBOBJ invocations to module description.
34749         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
34750         * modules/settime (Makefile.am): Augment lib_SOURCES.
34752 2011-05-23  Bruno Haible  <bruno@clisp.org>
34754         savedir: Move AC_LIBOBJ invocations to module description.
34755         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
34756         * modules/savedir (Makefile.am): Augment lib_SOURCES.
34758 2011-05-23  Bruno Haible  <bruno@clisp.org>
34760         save-cwd: Move AC_LIBOBJ invocations to module description.
34761         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
34762         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
34764 2011-05-23  Bruno Haible  <bruno@clisp.org>
34766         same: Move AC_LIBOBJ invocations to module description.
34767         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
34768         * modules/same (Makefile.am): Augment lib_SOURCES.
34770 2011-05-23  Bruno Haible  <bruno@clisp.org>
34772         safe-write: Move AC_LIBOBJ invocations to module description.
34773         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
34774         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
34775         instead of gl_SAFE_WRITE.
34776         (Makefile.am): Augment lib_SOURCES.
34778 2011-05-23  Bruno Haible  <bruno@clisp.org>
34780         safe-read: Move AC_LIBOBJ invocations to module description.
34781         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
34782         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
34783         of gl_SAFE_READ.
34784         (Makefile.am): Augment lib_SOURCES.
34786 2011-05-23  Bruno Haible  <bruno@clisp.org>
34788         safe-alloc: Move AC_LIBOBJ invocations to module description.
34789         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
34790         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
34792 2011-05-23  Bruno Haible  <bruno@clisp.org>
34794         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
34795         * m4/rijndael.m4: Remove file.
34796         * modules/crypto/rijndael (Files): Remove it.
34797         (configure.ac): Remove gl_RIJNDAEL call.
34798         (Makefile.am): Augment lib_SOURCES.
34800 2011-05-23  Bruno Haible  <bruno@clisp.org>
34802         readtokens: Move AC_LIBOBJ invocations to module description.
34803         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
34804         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
34806 2011-05-23  Bruno Haible  <bruno@clisp.org>
34808         read-file: Move AC_LIBOBJ invocations to module description.
34809         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
34810         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
34811         of gl_FUNC_READ_FILE.
34812         (Makefile.am): Augment lib_SOURCES.
34814 2011-05-23  Bruno Haible  <bruno@clisp.org>
34816         quotearg: Move AC_LIBOBJ invocations to module description.
34817         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
34818         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
34820 2011-05-23  Bruno Haible  <bruno@clisp.org>
34822         quote: Move AC_LIBOBJ invocations to module description.
34823         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
34824         * modules/quote (Makefile.am): Augment lib_SOURCES.
34826 2011-05-23  Bruno Haible  <bruno@clisp.org>
34828         posixver: Move AC_LIBOBJ invocations to module description.
34829         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
34830         * modules/posixver (Makefile.am): Augment lib_SOURCES.
34832 2011-05-23  Bruno Haible  <bruno@clisp.org>
34834         posixtm: Move AC_LIBOBJ invocations to module description.
34835         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
34836         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
34838 2011-05-23  Bruno Haible  <bruno@clisp.org>
34840         physmem: Move AC_LIBOBJ invocations to module description.
34841         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
34842         * modules/physmem (Makefile.am): Augment lib_SOURCES.
34844 2011-05-23  Bruno Haible  <bruno@clisp.org>
34846         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
34847         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
34848         invocation.
34849         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
34851 2011-05-23  Bruno Haible  <bruno@clisp.org>
34853         mpsort: Move AC_LIBOBJ invocations to module description.
34854         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
34855         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
34857 2011-05-23  Bruno Haible  <bruno@clisp.org>
34859         modechange: Move AC_LIBOBJ invocations to module description.
34860         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
34861         * modules/modechange (Makefile.am): Augment lib_SOURCES.
34863 2011-05-23  Bruno Haible  <bruno@clisp.org>
34865         mkdir-p: Move AC_LIBOBJ invocations to module description.
34866         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
34867         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
34869 2011-05-23  Bruno Haible  <bruno@clisp.org>
34871         mkancesdirs: Move AC_LIBOBJ invocations to module description.
34872         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
34873         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
34875 2011-05-23  Bruno Haible  <bruno@clisp.org>
34877         mgetgroups: Move AC_LIBOBJ invocations to module description.
34878         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
34879         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
34881 2011-05-23  Bruno Haible  <bruno@clisp.org>
34883         memxor: Move AC_LIBOBJ invocations to module description.
34884         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
34885         * modules/memxor (Makefile.am): Augment lib_SOURCES.
34887 2011-05-23  Bruno Haible  <bruno@clisp.org>
34889         memcoll: Move AC_LIBOBJ invocations to module description.
34890         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
34891         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
34893 2011-05-23  Bruno Haible  <bruno@clisp.org>
34895         memcasecmp: Move AC_LIBOBJ invocations to module description.
34896         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
34897         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
34899 2011-05-23  Bruno Haible  <bruno@clisp.org>
34901         crypto/md5: Move AC_LIBOBJ invocations to module description.
34902         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
34903         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
34905 2011-05-23  Bruno Haible  <bruno@clisp.org>
34907         crypto/md4: Move AC_LIBOBJ invocations to module description.
34908         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
34909         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
34911 2011-05-23  Bruno Haible  <bruno@clisp.org>
34913         crypto/md2: Move AC_LIBOBJ invocations to module description.
34914         * m4/md2.m4: Remove file.
34915         * modules/crypto/md2 (Files): Remove it.
34916         (configure.ac): Remove gl_MD2 call.
34917         (Makefile.am): Augment lib_SOURCES.
34919 2011-05-23  Bruno Haible  <bruno@clisp.org>
34921         long-options: Move AC_LIBOBJ invocations to module description.
34922         * m4/long-options.m4: Remove file.
34923         * modules/long-options (Files): Remove it.
34924         (configure.ac): Remove gl_LONG_OPTIONS call.
34925         (Makefile.am): Augment lib_SOURCES.
34927 2011-05-23  Bruno Haible  <bruno@clisp.org>
34929         i-ring: Move AC_LIBOBJ invocations to module description.
34930         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
34931         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
34933 2011-05-23  Bruno Haible  <bruno@clisp.org>
34935         idcache: Move AC_LIBOBJ invocations to module description.
34936         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
34937         * modules/idcache (Makefile.am): Augment lib_SOURCES.
34939 2011-05-23  Bruno Haible  <bruno@clisp.org>
34941         human: Move AC_LIBOBJ invocations to module description.
34942         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
34943         * modules/human (Makefile.am): Augment lib_SOURCES.
34945 2011-05-23  Bruno Haible  <bruno@clisp.org>
34947         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
34948         * m4/hmac-sha1.m4: Remove file.
34949         * modules/crypto/hmac-sha1 (Files): Remove it.
34950         (configure.ac): Remove gl_HMAC_SHA1 call.
34951         (Makefile.am): Augment lib_SOURCES.
34953 2011-05-23  Bruno Haible  <bruno@clisp.org>
34955         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
34956         * m4/hmac-md5.m4: Remove file.
34957         * modules/crypto/hmac-md5 (Files): Remove it.
34958         (configure.ac): Remove gl_HMAC_MD5 call.
34959         (Makefile.am): Augment lib_SOURCES.
34961 2011-05-23  Bruno Haible  <bruno@clisp.org>
34963         hash: Move AC_LIBOBJ invocations to module description.
34964         * m4/hash.m4: Remove file.
34965         * modules/hash (Files): Remove it.
34966         (configure.ac): Remove gl_HASH call.
34967         (Makefile.am): Augment lib_SOURCES.
34969 2011-05-23  Bruno Haible  <bruno@clisp.org>
34971         hard-locale: Move AC_LIBOBJ invocations to module description.
34972         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
34973         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
34975 2011-05-23  Bruno Haible  <bruno@clisp.org>
34977         getugroups: Move AC_LIBOBJ invocations to module description.
34978         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
34979         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
34981 2011-05-23  Bruno Haible  <bruno@clisp.org>
34983         gettime: Move AC_LIBOBJ invocations to module description.
34984         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
34985         * modules/gettime (Makefile.am): Augment lib_SOURCES.
34987 2011-05-23  Bruno Haible  <bruno@clisp.org>
34989         getndelim2: Move AC_LIBOBJ invocations to module description.
34990         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
34991         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
34993 2011-05-23  Bruno Haible  <bruno@clisp.org>
34995         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
34996         * m4/gc-pbkdf2-sha1.m4: Remove file.
34997         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
34998         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
34999         (Makefile.am): Augment lib_SOURCES.
35001 2011-05-23  Bruno Haible  <bruno@clisp.org>
35003         fts: Move AC_LIBOBJ invocations to module description.
35004         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
35005         * modules/fts (configure.ac): ... to here.
35007 2011-05-23  Bruno Haible  <bruno@clisp.org>
35009         file-type: Move AC_LIBOBJ invocations to module description.
35010         * m4/file-type.m4: Remove file.
35011         * modules/file-type (Files): Remove it.
35012         (configure.ac): Remove gl_FILE_TYPE call.
35013         (Makefile.am): Augment lib_SOURCES.
35015 2011-05-23  Bruno Haible  <bruno@clisp.org>
35017         filenamecat*: Respect rules for use of AC_LIBOBJ.
35018         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
35019         Remove AC_LIBOBJ invocation.
35020         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
35021         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
35023 2011-05-23  Bruno Haible  <bruno@clisp.org>
35025         filemode: Move AC_LIBOBJ invocations to module description.
35026         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
35027         * modules/filemode (Makefile.am): Augment lib_SOURCES.
35029 2011-05-23  Bruno Haible  <bruno@clisp.org>
35031         openat-safer: Move AC_LIBOBJ invocations to module description.
35032         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
35033         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
35035 2011-05-23  Bruno Haible  <bruno@clisp.org>
35037         fcntl-safer: Move AC_LIBOBJ invocations to module description.
35038         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
35039         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
35041 2011-05-23  Bruno Haible  <bruno@clisp.org>
35043         exclude: Move AC_LIBOBJ invocations to module description.
35044         * m4/exclude.m4: Remove file.
35045         * modules/exclude (Files): Remove it.
35046         (configure.ac): Remove gl_EXCLUDE call.
35047         (Makefile.am): Augment lib_SOURCES.
35049 2011-05-23  Bruno Haible  <bruno@clisp.org>
35051         dirname*: Respect rules for use of AC_LIBOBJ.
35052         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
35053         invocations.
35054         * modules/dirname (Makefile.am): Augment lib_SOURCES.
35055         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
35057 2011-05-23  Bruno Haible  <bruno@clisp.org>
35059         dirent-safer: Move AC_LIBOBJ invocations to module description.
35060         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
35061         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
35063 2011-05-23  Bruno Haible  <bruno@clisp.org>
35065         crypto/des: Move AC_LIBOBJ invocations to module description.
35066         * m4/des.m4: Remove file.
35067         * modules/crypto/des (Files): Remove it.
35068         (configure.ac): Remove gl_DES call.
35069         (Makefile.am): Augment lib_SOURCES.
35071 2011-05-23  Bruno Haible  <bruno@clisp.org>
35073         cycle-check: Move AC_LIBOBJ invocations to module description.
35074         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
35075         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
35077 2011-05-23  Bruno Haible  <bruno@clisp.org>
35079         c-strtold: Move AC_LIBOBJ invocations to module description.
35080         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
35081         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
35083 2011-05-23  Bruno Haible  <bruno@clisp.org>
35085         c-strtod: Move AC_LIBOBJ invocations to module description.
35086         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
35087         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
35089 2011-05-23  Bruno Haible  <bruno@clisp.org>
35091         crc: Move AC_LIBOBJ invocations to module description.
35092         * m4/crc.m4: Remove file.
35093         * modules/crc (Files): Remove it.
35094         (configure.ac): Remove gl_CRC call.
35095         (Makefile.am): Augment lib_SOURCES.
35097 2011-05-23  Bruno Haible  <bruno@clisp.org>
35099         close-stream: Move AC_LIBOBJ invocations to module description.
35100         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
35101         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
35103 2011-05-23  Bruno Haible  <bruno@clisp.org>
35105         closeout: Move AC_LIBOBJ invocations to module description.
35106         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
35107         * modules/closeout (Makefile.am): Augment lib_SOURCES.
35109 2011-05-23  Bruno Haible  <bruno@clisp.org>
35111         closein: Move AC_LIBOBJ invocations to module description.
35112         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
35113         * modules/closein (Makefile.am): Augment lib_SOURCES.
35115 2011-05-23  Bruno Haible  <bruno@clisp.org>
35117         cloexec: Move AC_LIBOBJ invocations to module description.
35118         * m4/cloexec.m4: Remove file.
35119         * modules/cloexec (Files): Remove it.
35120         (configure.ac): Remove gl_CLOEXEC call.
35121         (Makefile.am): Augment lib_SOURCES.
35123 2011-05-23  Bruno Haible  <bruno@clisp.org>
35125         check-version: Move AC_LIBOBJ invocations to module description.
35126         * m4/check-version.m4: Remove file.
35127         * modules/check-version (Files): Remove it.
35128         (configure.ac): Remove gl_CHECK_VERSION call.
35129         (Makefile.am): Augment lib_SOURCES.
35131 2011-05-23  Bruno Haible  <bruno@clisp.org>
35133         chdir-safer: Move AC_LIBOBJ invocations to module description.
35134         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
35135         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
35137 2011-05-23  Bruno Haible  <bruno@clisp.org>
35139         canonicalize: Move AC_LIBOBJ invocations to module description.
35140         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
35141         AC_LIBOBJ invocation.
35142         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
35144 2011-05-23  Bruno Haible  <bruno@clisp.org>
35146         canon-host: Move AC_LIBOBJ invocations to module description.
35147         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
35148         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
35149         instead of gl_CANON_HOST.
35150         (Makefile.am): Augment lib_SOURCES.
35152 2011-05-23  Bruno Haible  <bruno@clisp.org>
35154         backupfile: Move AC_LIBOBJ invocations to module description.
35155         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
35156         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
35158 2011-05-23  Bruno Haible  <bruno@clisp.org>
35160         argmatch: Move AC_LIBOBJ invocations to module description.
35161         * m4/argmatch.m4: Remove file.
35162         * modules/argmatch (Files): Remove it.
35163         (configure.ac): Remove gl_ARGMATCH call.
35164         (Makefile.am): Augment lib_SOURCES.
35166 2011-05-23  Bruno Haible  <bruno@clisp.org>
35168         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
35169         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
35170         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
35172 2011-05-23  Bruno Haible  <bruno@clisp.org>
35174         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
35175         * m4/arcfour.m4: Remove file.
35176         * modules/crypto/arcfour (Files): Remove it.
35177         (configure.ac): Remove gl_ARCFOUR call.
35178         (Makefile.am): Augment lib_SOURCES.
35180 2011-05-22  Bruno Haible  <bruno@clisp.org>
35182         write: Move AC_LIBOBJ invocations to module description.
35183         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
35184         * modules/write (configure.ac): ... to here.
35186 2011-05-22  Bruno Haible  <bruno@clisp.org>
35188         wmemset: Move AC_LIBOBJ invocations to module description.
35189         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
35190         here...
35191         * modules/wmemset (configure.ac): ... to here.
35193 2011-05-22  Bruno Haible  <bruno@clisp.org>
35195         wmemmove: Move AC_LIBOBJ invocations to module description.
35196         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
35197         here...
35198         * modules/wmemmove (configure.ac): ... to here.
35200 2011-05-22  Bruno Haible  <bruno@clisp.org>
35202         wmemcpy: Move AC_LIBOBJ invocations to module description.
35203         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
35204         here...
35205         * modules/wmemcpy (configure.ac): ... to here.
35207 2011-05-22  Bruno Haible  <bruno@clisp.org>
35209         wmemcmp: Move AC_LIBOBJ invocations to module description.
35210         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
35211         here...
35212         * modules/wmemcmp (configure.ac): ... to here.
35214 2011-05-22  Bruno Haible  <bruno@clisp.org>
35216         wmemchr: Move AC_LIBOBJ invocations to module description.
35217         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
35218         here...
35219         * modules/wmemchr (configure.ac): ... to here.
35221 2011-05-22  Bruno Haible  <bruno@clisp.org>
35223         wcswidth: Move AC_LIBOBJ invocations to module description.
35224         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
35225         here...
35226         * modules/wcswidth (configure.ac): ... to here.
35228 2011-05-22  Bruno Haible  <bruno@clisp.org>
35230         wcwidth: Respect rules for use of AC_LIBOBJ.
35231         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
35232         invocation from here...
35233         * modules/wcwidth (configure.ac): ... to here.
35234         (Depends-on): Update conditions.
35236 2011-05-22  Bruno Haible  <bruno@clisp.org>
35238         wctype: Move AC_LIBOBJ invocations to module description.
35239         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
35240         invocation from here...
35241         * modules/wctype (configure.ac): ... to here.
35242         (Depends-on): Update conditions.
35244 2011-05-22  Bruno Haible  <bruno@clisp.org>
35246         wctrans: Move AC_LIBOBJ invocations to module description.
35247         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
35248         invocation from here...
35249         * modules/wctrans (configure.ac): ... to here.
35251 2011-05-22  Bruno Haible  <bruno@clisp.org>
35253         wctomb: Move AC_LIBOBJ invocations to module description.
35254         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
35255         invocations from here...
35256         * modules/wctomb (configure.ac): ... to here.
35258 2011-05-22  Bruno Haible  <bruno@clisp.org>
35260         wctob: Move AC_LIBOBJ invocations to module description.
35261         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
35262         gl_PREREQ_WCTOB invocations from here...
35263         * modules/wctob (configure.ac): ... to here.
35264         (Depends-on): Update conditions.
35266 2011-05-22  Bruno Haible  <bruno@clisp.org>
35268         wcsxfrm: Move AC_LIBOBJ invocations to module description.
35269         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
35270         here...
35271         * modules/wcsxfrm (configure.ac): ... to here.
35273 2011-05-22  Bruno Haible  <bruno@clisp.org>
35275         wcstok: Move AC_LIBOBJ invocations to module description.
35276         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
35277         * modules/wcstok (configure.ac): ... to here.
35279 2011-05-22  Bruno Haible  <bruno@clisp.org>
35281         wcsstr: Move AC_LIBOBJ invocations to module description.
35282         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
35283         * modules/wcsstr (configure.ac): ... to here.
35285 2011-05-22  Bruno Haible  <bruno@clisp.org>
35287         wcsspn: Move AC_LIBOBJ invocations to module description.
35288         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
35289         * modules/wcsspn (configure.ac): ... to here.
35291 2011-05-22  Bruno Haible  <bruno@clisp.org>
35293         wcsrtombs: Move AC_LIBOBJ invocations to module description.
35294         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
35295         gl_PREREQ_WCSRTOMBS invocations from here...
35296         * modules/wcsrtombs (configure.ac): ... to here.
35298 2011-05-22  Bruno Haible  <bruno@clisp.org>
35300         wcsrchr: Move AC_LIBOBJ invocations to module description.
35301         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
35302         here...
35303         * modules/wcsrchr (configure.ac): ... to here.
35305 2011-05-22  Bruno Haible  <bruno@clisp.org>
35307         wcspbrk: Move AC_LIBOBJ invocations to module description.
35308         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
35309         here...
35310         * modules/wcspbrk (configure.ac): ... to here.
35312 2011-05-22  Bruno Haible  <bruno@clisp.org>
35314         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
35315         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
35316         gl_PREREQ_WCSNRTOMBS invocations from here...
35317         * modules/wcsnrtombs (configure.ac): ... to here.
35319 2011-05-22  Bruno Haible  <bruno@clisp.org>
35321         wcsnlen: Move AC_LIBOBJ invocations to module description.
35322         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
35323         here...
35324         * modules/wcsnlen (configure.ac): ... to here.
35326 2011-05-22  Bruno Haible  <bruno@clisp.org>
35328         wcsncpy: Move AC_LIBOBJ invocations to module description.
35329         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
35330         here...
35331         * modules/wcsncpy (configure.ac): ... to here.
35333 2011-05-22  Bruno Haible  <bruno@clisp.org>
35335         wcsncmp: Move AC_LIBOBJ invocations to module description.
35336         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
35337         here...
35338         * modules/wcsncmp (configure.ac): ... to here.
35340 2011-05-22  Bruno Haible  <bruno@clisp.org>
35342         wcsncat: Move AC_LIBOBJ invocations to module description.
35343         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
35344         here...
35345         * modules/wcsncat (configure.ac): ... to here.
35347 2011-05-22  Bruno Haible  <bruno@clisp.org>
35349         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
35350         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
35351         from here...
35352         * modules/wcsncasecmp (configure.ac): ... to here.
35354 2011-05-22  Bruno Haible  <bruno@clisp.org>
35356         wcslen: Move AC_LIBOBJ invocations to module description.
35357         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
35358         * modules/wcslen (configure.ac): ... to here.
35360 2011-05-22  Bruno Haible  <bruno@clisp.org>
35362         wcsdup: Move AC_LIBOBJ invocations to module description.
35363         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
35364         * modules/wcsdup (configure.ac): ... to here.
35366 2011-05-22  Bruno Haible  <bruno@clisp.org>
35368         wcscspn: Move AC_LIBOBJ invocations to module description.
35369         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
35370         here...
35371         * modules/wcscspn (configure.ac): ... to here.
35373 2011-05-22  Bruno Haible  <bruno@clisp.org>
35375         wcscpy: Move AC_LIBOBJ invocations to module description.
35376         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
35377         * modules/wcscpy (configure.ac): ... to here.
35379 2011-05-22  Bruno Haible  <bruno@clisp.org>
35381         wcscoll: Move AC_LIBOBJ invocations to module description.
35382         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
35383         here...
35384         * modules/wcscoll (configure.ac): ... to here.
35386 2011-05-22  Bruno Haible  <bruno@clisp.org>
35388         wcscmp: Move AC_LIBOBJ invocations to module description.
35389         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
35390         * modules/wcscmp (configure.ac): ... to here.
35392 2011-05-22  Bruno Haible  <bruno@clisp.org>
35394         wcschr: Move AC_LIBOBJ invocations to module description.
35395         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
35396         * modules/wcschr (configure.ac): ... to here.
35398 2011-05-22  Bruno Haible  <bruno@clisp.org>
35400         wcscat: Move AC_LIBOBJ invocations to module description.
35401         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
35402         * modules/wcscat (configure.ac): ... to here.
35404 2011-05-22  Bruno Haible  <bruno@clisp.org>
35406         wcscasecmp: Move AC_LIBOBJ invocations to module description.
35407         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
35408         here...
35409         * modules/wcscasecmp (configure.ac): ... to here.
35411 2011-05-22  Bruno Haible  <bruno@clisp.org>
35413         wcrtomb: Move AC_LIBOBJ invocations to module description.
35414         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
35415         invocations from here...
35416         * modules/wcrtomb (configure.ac): ... to here.
35418 2011-05-22  Bruno Haible  <bruno@clisp.org>
35420         wcpncpy: Move AC_LIBOBJ invocations to module description.
35421         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
35422         here...
35423         * modules/wcpncpy (configure.ac): ... to here.
35425 2011-05-22  Bruno Haible  <bruno@clisp.org>
35427         wcpcpy: Move AC_LIBOBJ invocations to module description.
35428         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
35429         * modules/wcpcpy (configure.ac): ... to here.
35431 2011-05-22  Bruno Haible  <bruno@clisp.org>
35433         waitpid: Move AC_LIBOBJ invocations to module description.
35434         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
35435         invocation from here...
35436         * modules/waitpid (configure.ac): ... to here.
35438 2011-05-22  Bruno Haible  <bruno@clisp.org>
35440         utimensat: Move AC_LIBOBJ invocations to module description.
35441         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
35442         here...
35443         * modules/utimensat (configure.ac): ... to here.
35445 2011-05-22  Bruno Haible  <bruno@clisp.org>
35447         usleep: Move AC_LIBOBJ invocations to module description.
35448         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
35449         here...
35450         * modules/usleep (configure.ac): ... to here.
35452 2011-05-22  Bruno Haible  <bruno@clisp.org>
35454         unlockpt: Move AC_LIBOBJ invocations to module description.
35455         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
35456         gl_PREREQ_UNLOCKPT invocations from here...
35457         * modules/unlockpt (configure.ac): ... to here.
35459 2011-05-22  Bruno Haible  <bruno@clisp.org>
35461         unlink: Respect rules for use of AC_LIBOBJ.
35462         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
35463         * modules/unlink (configure.ac): ... to here.
35465 2011-05-22  Bruno Haible  <bruno@clisp.org>
35467         uname: Move AC_LIBOBJ invocations to module description.
35468         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
35469         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
35470         here...
35471         * modules/uname (configure.ac): ... to here.
35473 2011-05-22  Bruno Haible  <bruno@clisp.org>
35475         ttyname_r: Move AC_LIBOBJ invocations to module description.
35476         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
35477         gl_PREREQ_TTYNAME_R invocations from here...
35478         * modules/ttyname_r (configure.ac): ... to here.
35480 2011-05-22  Bruno Haible  <bruno@clisp.org>
35482         tsearch: Move AC_LIBOBJ invocations to module description.
35483         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
35484         invocations from here...
35485         * modules/tsearch (configure.ac): ... to here.
35487 2011-05-22  Bruno Haible  <bruno@clisp.org>
35489         towctrans: Move AC_LIBOBJ invocations to module description.
35490         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
35491         AC_LIBOBJ invocation from here...
35492         * modules/towctrans (configure.ac): ... to here.
35494 2011-05-22  Bruno Haible  <bruno@clisp.org>
35496         tmpfile: Move AC_LIBOBJ invocations to module description.
35497         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
35498         invocations from here...
35499         * modules/tmpfile (configure.ac): ... to here.
35501 2011-05-22  Bruno Haible  <bruno@clisp.org>
35503         times: Move AC_LIBOBJ invocations to module description.
35504         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
35505         * modules/times (configure.ac): ... to here.
35507 2011-05-22  Bruno Haible  <bruno@clisp.org>
35509         time_r: Move AC_LIBOBJ invocations to module description.
35510         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
35511         invocations from here...
35512         * modules/time_r (configure.ac): ... to here.
35514 2011-05-22  Bruno Haible  <bruno@clisp.org>
35516         timegm: Move AC_LIBOBJ invocations to module description.
35517         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
35518         invocations from here...
35519         * modules/timegm (configure.ac): ... to here.
35521 2011-05-22  Bruno Haible  <bruno@clisp.org>
35523         tcgetsid: Move AC_LIBOBJ invocations to module description.
35524         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
35525         and gl_PREREQ_TCGETSID invocations from here...
35526         * modules/tcgetsid (configure.ac): ... to here.
35527         (Depends-on): Update conditions.
35529 2011-05-22  Bruno Haible  <bruno@clisp.org>
35531         symlinkat: Move AC_LIBOBJ invocations to module description.
35532         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
35533         here...
35534         * modules/symlinkat (configure.ac): ... to here.
35536 2011-05-22  Bruno Haible  <bruno@clisp.org>
35538         symlink: Move AC_LIBOBJ invocations to module description.
35539         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
35540         here...
35541         * modules/symlink (configure.ac): ... to here.
35543 2011-05-22  Bruno Haible  <bruno@clisp.org>
35545         strverscmp: Move AC_LIBOBJ invocations to module description.
35546         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
35547         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
35548         from here...
35549         * modules/strverscmp (configure.ac): ... to here.
35551 2011-05-22  Bruno Haible  <bruno@clisp.org>
35553         strtok_r: Move AC_LIBOBJ invocations to module description.
35554         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
35555         and gl_PREREQ_STRTOK_R invocations from here...
35556         * modules/strtok_r (configure.ac): ... to here.
35557         (Depends-on): Update conditions.
35559 2011-05-22  Bruno Haible  <bruno@clisp.org>
35561         strtoumax: Move AC_LIBOBJ invocations to module description.
35562         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
35563         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
35564         from here...
35565         * modules/strtoumax (configure.ac): ... to here.
35567 2011-05-22  Bruno Haible  <bruno@clisp.org>
35569         strtoimax: Move AC_LIBOBJ invocations to module description.
35570         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
35571         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
35572         from here...
35573         * modules/strtoimax (configure.ac): ... to here.
35575 2011-05-22  Bruno Haible  <bruno@clisp.org>
35577         strtoull: Move AC_LIBOBJ invocations to module description.
35578         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
35579         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
35580         from here...
35581         * modules/strtoull (configure.ac): ... to here.
35583 2011-05-22  Bruno Haible  <bruno@clisp.org>
35585         strtoll: Move AC_LIBOBJ invocations to module description.
35586         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
35587         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
35588         here...
35589         * modules/strtoll (configure.ac): ... to here.
35591 2011-05-22  Bruno Haible  <bruno@clisp.org>
35593         strtoul: Move AC_LIBOBJ invocations to module description.
35594         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
35595         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
35596         * modules/strtoul (configure.ac): ... to here.
35598 2011-05-22  Bruno Haible  <bruno@clisp.org>
35600         strtol: Move AC_LIBOBJ invocations to module description.
35601         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
35602         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
35603         * modules/strtol (configure.ac): ... to here.
35605 2011-05-22  Bruno Haible  <bruno@clisp.org>
35607         strtod: Move AC_LIBOBJ invocations to module description.
35608         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
35609         invocations from here...
35610         * modules/strtod (configure.ac): ... to here.
35612 2011-05-22  Bruno Haible  <bruno@clisp.org>
35614         strstr*: Move AC_LIBOBJ invocations to module description.
35615         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
35616         invocations from here...
35617         * modules/strstr-simple (configure.ac): ... to here.
35618         * modules/strstr (configure.ac): ... and here.
35620 2011-05-22  Bruno Haible  <bruno@clisp.org>
35622         strsignal: Move AC_LIBOBJ invocations to module description.
35623         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
35624         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
35625         * modules/strsignal (configure.ac): ... to here.
35626         (Depends-on): Update conditions.
35628 2011-05-22  Bruno Haible  <bruno@clisp.org>
35630         strsep: Move AC_LIBOBJ invocations to module description.
35631         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
35632         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
35633         here...
35634         * modules/strsep (configure.ac): ... to here.
35636 2011-05-22  Bruno Haible  <bruno@clisp.org>
35638         strptime: Move AC_LIBOBJ invocations to module description.
35639         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
35640         gl_PREREQ_STRPTIME invocations from here...
35641         * modules/strptime (configure.ac): ... to here.
35643 2011-05-22  Bruno Haible  <bruno@clisp.org>
35645         strpbrk: Move AC_LIBOBJ invocations to module description.
35646         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
35647         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
35648         here...
35649         * modules/strpbrk (configure.ac): ... to here.
35651 2011-05-22  Bruno Haible  <bruno@clisp.org>
35653         strnlen: Move AC_LIBOBJ invocations to module description.
35654         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
35655         invocations from here...
35656         * modules/strnlen (configure.ac): ... to here.
35658 2011-05-22  Bruno Haible  <bruno@clisp.org>
35660         strndup: Move AC_LIBOBJ invocations to module description.
35661         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
35662         invocations from here...
35663         * modules/strndup (configure.ac): ... to here.
35664         (Depends-on): Update conditions.
35666 2011-05-22  Bruno Haible  <bruno@clisp.org>
35668         strncat: Move AC_LIBOBJ invocations to module description.
35669         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
35670         invocations from here...
35671         * modules/strncat (configure.ac): ... to here.
35673 2011-05-22  Bruno Haible  <bruno@clisp.org>
35675         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
35676         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
35677         invocations from here...
35678         * modules/strdup (configure.ac): ... to here.
35679         * modules/strdup-posix (configure.ac): ... and here.
35681 2011-05-22  Bruno Haible  <bruno@clisp.org>
35683         strcspn: Move AC_LIBOBJ invocations to module description.
35684         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
35685         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
35686         here...
35687         * modules/strcspn (configure.ac): ... to here.
35689 2011-05-22  Bruno Haible  <bruno@clisp.org>
35691         strchrnul: Move AC_LIBOBJ invocations to module description.
35692         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
35693         gl_PREREQ_STRCHRNUL invocations from here...
35694         * modules/strchrnul (configure.ac): ... to here.
35696 2011-05-22  Bruno Haible  <bruno@clisp.org>
35698         strcasestr*: Move AC_LIBOBJ invocations to module description.
35699         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
35700         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
35701         * modules/strcasestr-simple (configure.ac): ... to here.
35702         * modules/strcasestr (configure.ac): ... and here.
35704 2011-05-22  Bruno Haible  <bruno@clisp.org>
35706         strcase: Move AC_LIBOBJ invocations to module description.
35707         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
35708         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
35709         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
35710         gl_PREREQ_STRNCASECMP invocations from here...
35711         * modules/strcase (configure.ac): ... to here.
35713 2011-05-22  Bruno Haible  <bruno@clisp.org>
35715         stpncpy: Move AC_LIBOBJ invocations to module description.
35716         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
35717         here...
35718         * modules/stpncpy (configure.ac): ... to here.
35720 2011-05-22  Bruno Haible  <bruno@clisp.org>
35722         stpcpy: Move AC_LIBOBJ invocations to module description.
35723         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
35724         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
35725         here...
35726         * modules/stpcpy (configure.ac): ... to here.
35728 2011-05-21  Bruno Haible  <bruno@clisp.org>
35730         stat: Move AC_LIBOBJ invocations to module description.
35731         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
35732         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
35733         here...
35734         * modules/stat (configure.ac): ... to here.
35736 2011-05-21  Bruno Haible  <bruno@clisp.org>
35738         sleep: Move AC_LIBOBJ invocations to module description.
35739         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
35740         * modules/sleep (configure.ac): ... to here.
35742 2011-05-21  Bruno Haible  <bruno@clisp.org>
35744         signbit: Move AC_LIBOBJ invocations to module description.
35745         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
35746         * modules/signbit (configure.ac): ... to here.
35748 2011-05-21  Bruno Haible  <bruno@clisp.org>
35750         sigprocmask: Move AC_LIBOBJ invocations to module description.
35751         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
35752         gl_PREREQ_SIGPROMASK invocations from here...
35753         * modules/sigprocmask (configure.ac): ... to here.
35755 2011-05-21  Bruno Haible  <bruno@clisp.org>
35757         sigaction: Move AC_LIBOBJ invocations to module description.
35758         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
35759         gl_PREREQ_SIGACTION invocations from here...
35760         * modules/sigaction (configure.ac): ... to here.
35762 2011-05-21  Bruno Haible  <bruno@clisp.org>
35764         sig2str: Move AC_LIBOBJ invocations to module description.
35765         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
35766         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
35767         here...
35768         * modules/sig2str (configure.ac): ... to here.
35770 2011-05-21  Bruno Haible  <bruno@clisp.org>
35772         setlocale: Move AC_LIBOBJ invocations to module description.
35773         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
35774         gl_PREREQ_SETLOCALE invocations from here...
35775         * modules/setlocale (configure.ac): ... to here.
35777 2011-05-21  Bruno Haible  <bruno@clisp.org>
35779         unsetenv: Move AC_LIBOBJ invocations to module description.
35780         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
35781         and gl_PREREQ_UNSETENV invocations from here...
35782         * modules/unsetenv (configure.ac): ... to here.
35783         (Depends-on): Update.
35785 2011-05-21  Bruno Haible  <bruno@clisp.org>
35787         setenv: Move AC_LIBOBJ invocations to module description.
35788         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
35789         here...
35790         * modules/setenv (configure.ac): ... to here.
35792 2011-05-21  Bruno Haible  <bruno@clisp.org>
35794         selinux-h: Move AC_LIBOBJ invocations to module description.
35795         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
35796         AC_LIBOBJ invocation from here...
35797         * modules/selinux-h (configure.ac): ... to here.
35799 2011-05-21  Bruno Haible  <bruno@clisp.org>
35801         select: Respect rules for use of AC_LIBOBJ.
35802         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
35803         here...
35804         * modules/select (configure.ac): ... to here.
35806 2011-05-21  Bruno Haible  <bruno@clisp.org>
35808         scandir: Move AC_LIBOBJ invocations to module description.
35809         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
35810         invocations from here...
35811         * modules/scandir (configure.ac): ... to here.
35813 2011-05-21  Bruno Haible  <bruno@clisp.org>
35815         rpmatch: Move AC_LIBOBJ invocations to module description.
35816         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
35817         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
35818         here...
35819         * modules/rpmatch (configure.ac): ... to here.
35821 2011-05-21  Bruno Haible  <bruno@clisp.org>
35823         rmdir: Respect rules for use of AC_LIBOBJ.
35824         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
35825         * modules/rmdir (configure.ac): ... to here.
35827 2011-05-21  Bruno Haible  <bruno@clisp.org>
35829         renameat: Move AC_LIBOBJ invocations to module description.
35830         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
35831         here...
35832         * modules/renameat (configure.ac): ... to here.
35834 2011-05-21  Bruno Haible  <bruno@clisp.org>
35836         rename: Respect rules for use of AC_LIBOBJ.
35837         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
35838         here...
35839         * modules/rename (configure.ac): ... to here.
35841 2011-05-21  Bruno Haible  <bruno@clisp.org>
35843         remove: Move AC_LIBOBJ invocations to module description.
35844         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
35845         here...
35846         * modules/remove (configure.ac): ... to here.
35848 2011-05-21  Bruno Haible  <bruno@clisp.org>
35850         relocatable-lib: Move AC_LIBOBJ invocations to module description.
35851         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
35852         macro.
35853         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
35854         * modules/relocatable-lib (configure.ac): ... to here.
35855         * modules/relocatable-prog-wrapper (configure.ac): Invoke
35856         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
35858 2011-05-21  Bruno Haible  <bruno@clisp.org>
35860         relocatable-prog: Move AC_LIBOBJ invocations to module description.
35861         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
35862         here...
35863         * modules/relocatable-prog (configure.ac): ... to here.
35865 2011-05-21  Bruno Haible  <bruno@clisp.org>
35867         regex: Move AC_LIBOBJ invocations to module description.
35868         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
35869         invocations from here...
35870         * modules/regex (configure.ac): ... to here.
35872 2011-05-21  Bruno Haible  <bruno@clisp.org>
35874         realloc-*: Move AC_LIBOBJ invocations to module description.
35875         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
35876         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
35877         AC_LIBOBJ invocations from here...
35878         * modules/realloc-gnu (configure.ac): ... to here.
35879         * modules/realloc-posix (configure.ac): ... and here.
35881 2011-05-21  Bruno Haible  <bruno@clisp.org>
35883         readutmp: Move AC_LIBOBJ invocations to module description.
35884         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
35885         * modules/readutmp (configure.ac): ... to here.
35887 2011-05-21  Bruno Haible  <bruno@clisp.org>
35889         readlinkat: Move AC_LIBOBJ invocations to module description.
35890         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
35891         here...
35892         * modules/readlinkat (configure.ac): ... to here.
35894 2011-05-21  Bruno Haible  <bruno@clisp.org>
35896         readlink: Move AC_LIBOBJ invocations to module description.
35897         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
35898         gl_PREREQ_READLINK invocations from here...
35899         * modules/readlink (configure.ac): ... to here.
35901 2011-05-21  Bruno Haible  <bruno@clisp.org>
35903         readline: Move AC_LIBOBJ invocations to module description.
35904         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
35905         gl_PREREQ_READLINE invocations from here...
35906         * modules/readline (configure.ac): ... to here.
35908 2011-05-21  Bruno Haible  <bruno@clisp.org>
35910         read: Move AC_LIBOBJ invocations to module description.
35911         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
35912         * modules/read (configure.ac): ... to here.
35914 2011-05-21  Bruno Haible  <bruno@clisp.org>
35916         rawmemchr: Move AC_LIBOBJ invocations to module description.
35917         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
35918         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
35919         from here...
35920         * modules/rawmemchr (configure.ac): ... to here.
35922 2011-05-21  Bruno Haible  <bruno@clisp.org>
35924         random_r: Move AC_LIBOBJ invocations to module description.
35925         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
35926         gl_PREREQ_RANDOM_R invocations from here...
35927         * modules/random_r (configure.ac): ... to here.
35929 2011-05-21  Bruno Haible  <bruno@clisp.org>
35931         pwrite: Move AC_LIBOBJ invocations to module description.
35932         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
35933         * modules/pwrite (configure.ac): ... to here.
35935 2011-05-21  Bruno Haible  <bruno@clisp.org>
35937         putenv: Move AC_LIBOBJ invocations to module description.
35938         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
35939         * modules/putenv (configure.ac): ... to here.
35941 2011-05-21  Bruno Haible  <bruno@clisp.org>
35943         login_tty: Move AC_LIBOBJ invocations to module description.
35944         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
35945         * modules/login_tty (configure.ac): ... to here.
35947 2011-05-21  Bruno Haible  <bruno@clisp.org>
35949         openpty: Move AC_LIBOBJ invocations to module description.
35950         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
35951         * modules/openpty (configure.ac): ... to here.
35953 2011-05-21  Bruno Haible  <bruno@clisp.org>
35955         forkpty: Move AC_LIBOBJ invocations to module description.
35956         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
35957         * modules/forkpty (configure.ac): ... to here.
35959 2011-05-21  Bruno Haible  <bruno@clisp.org>
35961         ptsname: Move AC_LIBOBJ invocations to module description.
35962         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
35963         invocations from here...
35964         * modules/ptsname (configure.ac): ... to here.
35966 2011-05-21  Bruno Haible  <bruno@clisp.org>
35968         pread: Move AC_LIBOBJ invocations to module description.
35969         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
35970         * modules/pread (configure.ac): ... to here.
35972 2011-05-21  Bruno Haible  <bruno@clisp.org>
35974         posix_spawn*: Move AC_LIBOBJ invocations to module description.
35975         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
35976         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
35977         * modules/posix_spawn (configure.ac): ... to here.
35978         * modules/posix_spawnp (configure.ac): ... and here.
35980 2011-05-21  Bruno Haible  <bruno@clisp.org>
35982         popen: Move AC_LIBOBJ invocations to module description.
35983         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
35984         invocations from here...
35985         * modules/popen (configure.ac): ... to here.
35987 2011-05-21  Bruno Haible  <bruno@clisp.org>
35989         poll: Move AC_LIBOBJ invocations to module description.
35990         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
35991         invocations from here...
35992         * modules/poll (configure.ac): ... to here.
35994 2011-05-21  Bruno Haible  <bruno@clisp.org>
35996         pipe-posix: Move AC_LIBOBJ invocations to module description.
35997         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
35998         * modules/pipe-posix (configure.ac): ... to here.
36000 2011-05-21  Bruno Haible  <bruno@clisp.org>
36002         openat: Respect rules for use of AC_LIBOBJ.
36003         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
36004         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
36005         * modules/openat (configure.ac): ... to here.
36007 2011-05-21  Bruno Haible  <bruno@clisp.org>
36009         obstack-printf*: Move AC_LIBOBJ invocations to module description.
36010         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
36011         invocation from here...
36012         * modules/obstack-printf (configure.ac): ... to here.
36013         * modules/obstack-printf-posix (configure.ac): ... and here.
36015 2011-05-21  Bruno Haible  <bruno@clisp.org>
36017         nl_langinfo: Move AC_LIBOBJ invocations to module description.
36018         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
36019         from here...
36020         * modules/nl_langinfo (configure.ac): ... to here.
36022 2011-05-21  Bruno Haible  <bruno@clisp.org>
36024         nanosleep: Move AC_LIBOBJ invocations to module description.
36025         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
36026         gl_PREREQ_NANOSLEEP invocations from here...
36027         * modules/nanosleep (configure.ac): ... to here.
36029 2011-05-21  Bruno Haible  <bruno@clisp.org>
36031         mountlist: Move AC_LIBOBJ invocations to module description.
36032         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
36033         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
36034         * modules/mountlist (configure.ac): ... to here.
36036 2011-05-21  Bruno Haible  <bruno@clisp.org>
36038         mktime: Respect rules for use of AC_LIBOBJ.
36039         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
36040         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
36041         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
36042         (gl_FUNC_MKTIME_INTERNAL): ... and here...
36043         * modules/mktime (configure.ac): ... to here.
36044         * modules/mktime-internal (configure.ac): ... and here.
36045         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
36047 2011-05-21  Bruno Haible  <bruno@clisp.org>
36049         mkstemps: Move AC_LIBOBJ invocations to module description.
36050         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
36051         here...
36052         * modules/mkstemps (configure.ac): ... to here.
36054 2011-05-21  Bruno Haible  <bruno@clisp.org>
36056         mkstemp: Move AC_LIBOBJ invocations to module description.
36057         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
36058         gl_PREREQ_MKSTEMP invocations from here...
36059         * modules/mkstemp (configure.ac): ... to here.
36061 2011-05-21  Bruno Haible  <bruno@clisp.org>
36063         mkostemps: Move AC_LIBOBJ invocations to module description.
36064         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
36065         here...
36066         * modules/mkostemps (configure.ac): ... to here.
36068 2011-05-21  Bruno Haible  <bruno@clisp.org>
36070         mkostemp: Move AC_LIBOBJ invocations to module description.
36071         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
36072         gl_PREREQ_MKOSTEMP invocations from here...
36073         * modules/mkostemp (configure.ac): ... to here.
36075 2011-05-21  Bruno Haible  <bruno@clisp.org>
36077         mknod: Move AC_LIBOBJ invocations to module description.
36078         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
36079         * modules/mknod (configure.ac): ... to here.
36081 2011-05-21  Bruno Haible  <bruno@clisp.org>
36083         mkfifoat: Move AC_LIBOBJ invocations to module description.
36084         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
36085         here...
36086         * modules/mkfifoat (configure.ac): ... to here.
36088 2011-05-21  Bruno Haible  <bruno@clisp.org>
36090         mkfifo: Respect rules for use of AC_LIBOBJ.
36091         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
36092         here...
36093         * modules/mkfifo (configure.ac): ... to here.
36095 2011-05-21  Bruno Haible  <bruno@clisp.org>
36097         mkdtemp: Move AC_LIBOBJ invocations to module description.
36098         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
36099         invocations from here...
36100         * modules/mkdtemp (configure.ac): ... to here.
36102 2011-05-21  Bruno Haible  <bruno@clisp.org>
36104         mkdir: Move AC_LIBOBJ invocations to module description.
36105         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
36106         * modules/mkdir (configure.ac): ... to here.
36108 2011-05-21  Bruno Haible  <bruno@clisp.org>
36110         memset: Move AC_LIBOBJ invocations to module description.
36111         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
36112         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
36113         here...
36114         * modules/memset (configure.ac): ... to here.
36116 2011-05-21  Bruno Haible  <bruno@clisp.org>
36118         memrchr: Move AC_LIBOBJ invocations to module description.
36119         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
36120         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
36121         here...
36122         * modules/memrchr (configure.ac): ... to here.
36124 2011-05-21  Bruno Haible  <bruno@clisp.org>
36126         mempcpy: Move AC_LIBOBJ invocations to module description.
36127         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
36128         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
36129         here...
36130         * modules/mempcpy (configure.ac): ... to here.
36132 2011-05-21  Bruno Haible  <bruno@clisp.org>
36134         memmove: Move AC_LIBOBJ invocations to module description.
36135         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
36136         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
36137         here...
36138         * modules/memmove (configure.ac): ... to here.
36140 2011-05-21  Bruno Haible  <bruno@clisp.org>
36142         memmem*: Move AC_LIBOBJ invocations to module description.
36143         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
36144         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
36145         here...
36146         (gl_FUNC_MEMMEM): ... and here...
36147         * modules/memmem-simple (configure.ac): ... to here.
36148         * modules/memmem (configure.ac): ... and here.
36150 2011-05-21  Bruno Haible  <bruno@clisp.org>
36152         memcpy: Move AC_LIBOBJ invocations to module description.
36153         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
36154         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
36155         here...
36156         * modules/memcpy (configure.ac): ... to here.
36158 2011-05-21  Bruno Haible  <bruno@clisp.org>
36160         memcmp: Simplify autoconf macro.
36161         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
36162         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
36163         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
36165 2011-05-21  Bruno Haible  <bruno@clisp.org>
36167         memcmp: Move AC_LIBOBJ invocations to module description.
36168         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
36169         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
36170         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
36171         * modules/memcmp (configure.ac): ... to here.
36172         (Depends-on): Update conditions.
36174 2011-05-21  Bruno Haible  <bruno@clisp.org>
36176         memchr: Respect rules for use of AC_LIBOBJ.
36177         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
36178         invocations from here...
36179         * modules/memchr (configure.ac): ... to here.
36181 2011-05-21  Bruno Haible  <bruno@clisp.org>
36183         mbtowc: Move AC_LIBOBJ invocations to module description.
36184         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
36185         invocations from here...
36186         * modules/mbtowc (configure.ac): ... to here.
36188 2011-05-21  Bruno Haible  <bruno@clisp.org>
36190         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
36191         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
36192         gl_PREREQ_MBSRTOWCS invocations from here...
36193         * modules/mbsrtowcs (configure.ac): ... to here.
36195 2011-05-21  Bruno Haible  <bruno@clisp.org>
36197         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
36198         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
36199         gl_PREREQ_MBSNRTOWCS invocations from here...
36200         * modules/mbsnrtowcs (configure.ac): ... to here.
36202 2011-05-21  Bruno Haible  <bruno@clisp.org>
36204         mbsinit: Move AC_LIBOBJ invocations to module description.
36205         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
36206         invocations from here...
36207         * modules/mbsinit (configure.ac): ... to here.
36209 2011-05-21  Bruno Haible  <bruno@clisp.org>
36211         mbrlen: Move AC_LIBOBJ invocations to module description.
36212         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
36213         invocations from here...
36214         * modules/mbrlen (configure.ac): ... to here.
36216 2011-05-21  Bruno Haible  <bruno@clisp.org>
36218         mbrtowc: Respect rules for use of AC_LIBOBJ.
36219         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
36220         invocations from here...
36221         * modules/mbrtowc (configure.ac): ... to here.
36223 2011-05-21  Bruno Haible  <bruno@clisp.org>
36225         malloc-*: Move AC_LIBOBJ invocations to module description.
36226         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
36227         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
36228         AC_LIBOBJ invocations from here...
36229         * modules/malloc-gnu (configure.ac): ... to here.
36230         * modules/malloc-posix (configure.ac): ... and here.
36232 2011-05-21  Bruno Haible  <bruno@clisp.org>
36234         lstat, openat: Respect rules for use of AC_LIBOBJ.
36235         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
36236         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
36237         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
36238         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
36239         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
36240         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
36241         here.
36242         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
36244 2011-05-21  Bruno Haible  <bruno@clisp.org>
36246         lseek: Move AC_LIBOBJ invocations to module description.
36247         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
36248         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
36249         * modules/lseek (configure.ac): ... to here.
36251 2011-05-21  Bruno Haible  <bruno@clisp.org>
36253         linkat: Move AC_LIBOBJ invocations to module description.
36254         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
36255         here...
36256         * modules/linkat (configure.ac): ... to here.
36258 2011-05-21  Bruno Haible  <bruno@clisp.org>
36260         link: Respect rules for use of AC_LIBOBJ.
36261         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
36262         * modules/link (configure.ac): ... to here.
36264 2011-05-21  Bruno Haible  <bruno@clisp.org>
36266         lchown: Move AC_LIBOBJ invocations to module description.
36267         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
36268         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
36269         * modules/lchown (configure.ac): ... to here.
36271 2011-05-21  Bruno Haible  <bruno@clisp.org>
36273         iswctype: Move AC_LIBOBJ invocations to module description.
36274         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
36275         here...
36276         * modules/iswctype (configure.ac): ... to here.
36278 2011-05-21  Bruno Haible  <bruno@clisp.org>
36280         iswblank: Move AC_LIBOBJ invocations to module description.
36281         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
36282         here...
36283         * modules/iswblank (configure.ac): ... to here.
36285 2011-05-21  Bruno Haible  <bruno@clisp.org>
36287         atanl: Move AC_LIBOBJ invocations to module description.
36288         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
36289         * modules/atanl (configure.ac): ... to here.
36291 2011-05-21  Bruno Haible  <bruno@clisp.org>
36293         acosl: Move AC_LIBOBJ invocations to module description.
36294         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
36295         * modules/acosl (configure.ac): ... to here.
36297 2011-05-21  Bruno Haible  <bruno@clisp.org>
36299         asinl: Respect rules for use of AC_LIBOBJ.
36300         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
36301         * modules/asinl (configure.ac): ... to here.
36303 2011-05-21  Bruno Haible  <bruno@clisp.org>
36305         tanl: Move AC_LIBOBJ invocations to module description.
36306         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
36307         * modules/tanl (configure.ac): ... to here.
36309 2011-05-21  Bruno Haible  <bruno@clisp.org>
36311         cosl: Move AC_LIBOBJ invocations to module description.
36312         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
36313         * modules/cosl (configure.ac): ... to here.
36315 2011-05-21  Bruno Haible  <bruno@clisp.org>
36317         sinl: Move AC_LIBOBJ invocations to module description.
36318         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
36319         * modules/sinl (configure.ac): ... to here.
36321 2011-05-21  Bruno Haible  <bruno@clisp.org>
36323         logl: Move AC_LIBOBJ invocations to module description.
36324         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
36325         * modules/logl (configure.ac): ... to here.
36327 2011-05-21  Bruno Haible  <bruno@clisp.org>
36329         expl: Move AC_LIBOBJ invocations to module description.
36330         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
36331         * modules/expl (configure.ac): ... to here.
36333 2011-05-21  Bruno Haible  <bruno@clisp.org>
36335         roundl: Move AC_LIBOBJ invocations to module description.
36336         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
36337         * modules/roundl (configure.ac): ... to here.
36339 2011-05-21  Bruno Haible  <bruno@clisp.org>
36341         round: Move AC_LIBOBJ invocations to module description.
36342         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
36343         * modules/round (configure.ac): ... to here.
36345 2011-05-21  Bruno Haible  <bruno@clisp.org>
36347         roundf: Move AC_LIBOBJ invocations to module description.
36348         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
36349         * modules/roundf (configure.ac): ... to here.
36351 2011-05-21  Bruno Haible  <bruno@clisp.org>
36353         truncl: Move AC_LIBOBJ invocations to module description.
36354         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
36355         * modules/truncl (configure.ac): ... to here.
36357 2011-05-21  Bruno Haible  <bruno@clisp.org>
36359         trunc: Move AC_LIBOBJ invocations to module description.
36360         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
36361         * modules/trunc (configure.ac): ... to here.
36363 2011-05-21  Bruno Haible  <bruno@clisp.org>
36365         truncf: Move AC_LIBOBJ invocations to module description.
36366         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
36367         * modules/truncf (configure.ac): ... to here.
36369 2011-05-21  Bruno Haible  <bruno@clisp.org>
36371         ceill: Move AC_LIBOBJ invocations to module description.
36372         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
36373         * modules/ceill (configure.ac): ... to here.
36375 2011-05-21  Bruno Haible  <bruno@clisp.org>
36377         ceil: Move AC_LIBOBJ invocations to module description.
36378         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
36379         * modules/ceil (configure.ac): ... to here.
36381 2011-05-21  Bruno Haible  <bruno@clisp.org>
36383         ceilf: Move AC_LIBOBJ invocations to module description.
36384         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
36385         * modules/ceilf (configure.ac): ... to here.
36387 2011-05-21  Bruno Haible  <bruno@clisp.org>
36389         floorl: Respect rules for use of AC_LIBOBJ.
36390         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
36391         * modules/floorl (configure.ac): ... to here.
36393 2011-05-21  Bruno Haible  <bruno@clisp.org>
36395         floor: Respect rules for use of AC_LIBOBJ.
36396         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
36397         * modules/floor (configure.ac): ... to here.
36399 2011-05-21  Bruno Haible  <bruno@clisp.org>
36401         floorf: Move AC_LIBOBJ invocations to module description.
36402         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
36403         * modules/floorf (configure.ac): ... to here.
36405 2011-05-20  Bruno Haible  <bruno@clisp.org>
36407         sqrtl: Respect rules for use of AC_LIBOBJ.
36408         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
36409         * modules/sqrtl (configure.ac): ... to here.
36411 2011-05-20  Bruno Haible  <bruno@clisp.org>
36413         ldexpl: Respect rules for use of AC_LIBOBJ.
36414         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
36415         * modules/ldexpl (configure.ac): ... to here.
36417 2011-05-20  Bruno Haible  <bruno@clisp.org>
36419         frexpl*: Respect rules for use of AC_LIBOBJ.
36420         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
36421         invocation from here...
36422         * modules/frexpl (configure.ac): ... to here.
36423         * modules/frexpl-nolibm (configure.ac): ... and here.
36425 2011-05-20  Bruno Haible  <bruno@clisp.org>
36427         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
36428         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
36429         invocation from here...
36430         * modules/frexp (configure.ac): ... to here.
36431         * modules/frexp-nolibm (configure.ac): ... and here.
36433 2011-05-20  Bruno Haible  <bruno@clisp.org>
36435         isnan: Respect rules for use of AC_LIBOBJ.
36436         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
36437         invocations here.
36438         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
36439         REPLACE_ISNAN.
36440         * modules/isnand (configure.ac): Likewise.
36441         * modules/isnanl (configure.ac): Likewise.
36443 2011-05-20  Bruno Haible  <bruno@clisp.org>
36445         isnanl*: Respect rules for use of AC_LIBOBJ.
36446         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
36447         invocation from here...
36448         * modules/isnanl (configure.ac): ... to here.
36449         * modules/isnanl-nolibm (configure.ac): ... and here.
36451 2011-05-20  Bruno Haible  <bruno@clisp.org>
36453         isnand*: Move AC_LIBOBJ invocations to module description.
36454         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
36455         invocation from here...
36456         * modules/isnand (configure.ac): ... to here.
36457         * modules/isnand-nolibm (configure.ac): ... and here.
36459 2011-05-20  Bruno Haible  <bruno@clisp.org>
36461         isnanf*: Move AC_LIBOBJ invocations to module description.
36462         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
36463         invocation from here...
36464         * modules/isnanf (configure.ac): ... to here.
36465         * modules/isnanf-nolibm (configure.ac): ... and here.
36467 2011-05-20  Bruno Haible  <bruno@clisp.org>
36469         isnan*: Separate the AC_LIBOBJ invocations.
36470         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
36471         AC_LIBOBJ invocation.
36472         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
36473         here.
36474         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
36475         AC_LIBOBJ invocation.
36476         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
36477         here.
36478         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
36479         AC_LIBOBJ invocation.
36480         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
36481         here.
36482         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
36484 2011-05-08  Bruno Haible  <bruno@clisp.org>
36486         isinf: Move AC_LIBOBJ invocations to module description.
36487         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
36488         * modules/isinf (configure.ac): ... to here.
36490 2011-05-08  Bruno Haible  <bruno@clisp.org>
36492         isfinite: Move AC_LIBOBJ invocations to module description.
36493         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
36494         * modules/isfinite (configure.ac): ... to here.
36496 2011-05-08  Bruno Haible  <bruno@clisp.org>
36498         isblank: Move AC_LIBOBJ invocations to module description.
36499         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
36500         here...
36501         * modules/isblank (configure.ac): ... to here.
36503 2011-05-08  Bruno Haible  <bruno@clisp.org>
36505         isapipe: Move AC_LIBOBJ invocations to module description.
36506         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
36507         gl_PREREQ_ISAPIPE invocations from here...
36508         * modules/isapipe (configure.ac): ... to here.
36509         (Depends-on): Update condition.
36511 2011-05-08  Bruno Haible  <bruno@clisp.org>
36513         ioctl: Move AC_LIBOBJ invocations to module description.
36514         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
36515         invocations from here...
36516         * modules/ioctl (configure.ac): ... to here.
36517         (Depends-on): Update condition.
36519 2011-05-08  Bruno Haible  <bruno@clisp.org>
36521         imaxdiv: Move AC_LIBOBJ invocations to module description.
36522         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
36523         invocations from here...
36524         * modules/imaxdiv (configure.ac): ... to here.
36526 2011-05-08  Bruno Haible  <bruno@clisp.org>
36528         imaxabs: Move AC_LIBOBJ invocations to module description.
36529         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
36530         invocations from here...
36531         * modules/imaxabs (configure.ac): ... to here.
36533 2011-05-08  Bruno Haible  <bruno@clisp.org>
36535         getaddrinfo: Move AC_LIBOBJ invocations to module description.
36536         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
36537         AC_LIBOBJ invocations from here...
36538         * modules/getaddrinfo (configure.ac): ... to here.
36539         (Depends-on): Add conditions.
36541 2011-05-08  Bruno Haible  <bruno@clisp.org>
36543         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
36544         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
36545         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
36546         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
36547         (gl_PREREQ_INET_PTON): ... from here.
36548         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
36549         gl_PREREQ_INET_PTON here.
36550         (Depends-on): Update condition.
36552 2011-05-08  Bruno Haible  <bruno@clisp.org>
36554         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
36555         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
36556         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
36557         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
36558         (gl_PREREQ_INET_NTOP): ... from here.
36559         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
36560         gl_PREREQ_INET_NTOP here.
36561         (Depends-on): Update condition.
36563 2011-05-08  Bruno Haible  <bruno@clisp.org>
36565         iconv_open: Move AC_LIBOBJ invocations to module description.
36566         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
36567         AC_LIBOBJ invocations from here...
36568         * modules/iconv_open (configure.ac): ... to here.
36570 2011-05-08  Bruno Haible  <bruno@clisp.org>
36572         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
36573         If module 'iconv_open' is among the main modules and module
36574         'iconv_open-utf' is among the tests dependencies, then
36575         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
36576         return the special iconv_t values. Therefore iconv() and iconv_close()
36577         must support these special iconv_t values, already in lib, not only in
36578         tests.
36579         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
36580         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
36581         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
36582         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
36583         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
36584         (Depends-on): Add the dependencies of iconv_open-utf.
36585         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
36586         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
36587         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
36589 2011-05-08  Bruno Haible  <bruno@clisp.org>
36591         group-member: Move AC_LIBOBJ invocations to module description.
36592         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
36593         gl_PREREQ_GROUP_MEMBER invocations from here...
36594         * modules/group-member (configure.ac): ... to here.
36596 2011-05-08  Bruno Haible  <bruno@clisp.org>
36598         grantpt: Move AC_LIBOBJ invocations to module description.
36599         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
36600         invocations from here...
36601         * modules/grantpt (configure.ac): ... to here.
36603 2011-05-08  Bruno Haible  <bruno@clisp.org>
36605         glob: Move AC_LIBOBJ invocations to module description.
36606         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
36607         from here...
36608         * modules/glob (configure.ac): ... to here.
36610 2011-05-08  Bruno Haible  <bruno@clisp.org>
36612         getusershell: Move AC_LIBOBJ invocations to module description.
36613         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
36614         Move AC_LIBOBJ invocation from here...
36615         * modules/getusershell (configure.ac): ... to here.
36616         (Depends-on): Update condition.
36618 2011-05-08  Bruno Haible  <bruno@clisp.org>
36620         gettimeofday: Move AC_LIBOBJ invocations to module description.
36621         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
36622         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
36623         gl_PREREQ_GETTIMEOFDAY invocations from here...
36624         * modules/gettimeofday (configure.ac): ... to here.
36626 2011-05-08  Bruno Haible  <bruno@clisp.org>
36628         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
36629         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
36630         just gl_FUNC_TZSET.
36631         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
36632         (gl_FUNC_TZSET_CLOBBER): Remove actions.
36633         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
36634         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
36636 2011-05-08  Bruno Haible  <bruno@clisp.org>
36638         getsubopt: Move AC_LIBOBJ invocations to module description.
36639         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
36640         gl_PREREQ_GETSUBOPT invocations from here...
36641         * modules/getsubopt (configure.ac): ... to here.
36643 2011-05-08  Bruno Haible  <bruno@clisp.org>
36645         getpass-gnu: Move AC_LIBOBJ invocations to module description.
36646         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
36647         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
36648         * modules/getpass-gnu (configure.ac): ... to here.
36650 2011-05-08  Bruno Haible  <bruno@clisp.org>
36652         getpass: Move AC_LIBOBJ invocations to module description.
36653         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
36654         gl_PREREQ_GETPASS invocations from here...
36655         * modules/getpass (configure.ac): ... to here.
36657 2011-05-08  Bruno Haible  <bruno@clisp.org>
36659         getpagesize: Move AC_LIBOBJ invocations to module description.
36660         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
36661         from here...
36662         * modules/getpagesize (configure.ac): ... to here.
36664 2011-05-08  Bruno Haible  <bruno@clisp.org>
36666         getopt: Move AC_LIBOBJ invocations to module description.
36667         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
36668         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
36669         invocations from here...
36670         * modules/getopt-gnu (configure.ac): ... to here.
36671         * modules/getopt-posix (configure.ac): ... and here.
36672         (Depends-on): Update condition.
36674 2011-05-08  Bruno Haible  <bruno@clisp.org>
36676         getopt, argp: Respect rules for use of AC_LIBOBJ.
36677         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
36678         (gl_REPLACE_GETOPT_ALWAYS): New macro.
36679         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
36680         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
36682 2011-05-08  Bruno Haible  <bruno@clisp.org>
36684         getlogin_r: Move AC_LIBOBJ invocations to module description.
36685         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
36686         gl_PREREQ_GETLOGIN_R invocations from here...
36687         * modules/getlogin_r (configure.ac): ... to here.
36689 2011-05-08  Bruno Haible  <bruno@clisp.org>
36691         getlogin: Move AC_LIBOBJ invocations to module description.
36692         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
36693         here...
36694         * modules/getlogin (configure.ac): ... to here.
36696 2011-05-08  Bruno Haible  <bruno@clisp.org>
36698         getloadavg: Move AC_LIBOBJ invocations to module description.
36699         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
36700         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
36701         * modules/getloadavg (configure.ac): ... to here.
36703 2011-05-08  Bruno Haible  <bruno@clisp.org>
36705         gethrxtime: Move AC_LIBOBJ invocations to module description.
36706         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
36707         LIB_GETHRXTIME from here...
36708         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
36709         invocations from here...
36710         * modules/gethrxtime (configure.ac): ... to here.
36712 2011-05-08  Bruno Haible  <bruno@clisp.org>
36714         gethostname: Move AC_LIBOBJ invocations to module description.
36715         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
36716         gl_PREREQ_GETHOSTNAME invocations from here...
36717         * modules/gethostname (configure.ac): ... to here.
36719 2011-05-08  Bruno Haible  <bruno@clisp.org>
36721         getgroups: Move AC_LIBOBJ invocations to module description.
36722         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
36723         here...
36724         * modules/getgroups (configure.ac): ... to here.
36726 2011-05-08  Bruno Haible  <bruno@clisp.org>
36728         getdtablesize: Move AC_LIBOBJ invocations to module description.
36729         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
36730         invocation from here...
36731         * modules/getdtablesize (configure.ac): ... to here.
36733 2011-05-08  Bruno Haible  <bruno@clisp.org>
36735         getdomainname: Move AC_LIBOBJ invocations to module description.
36736         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
36737         gl_PREREQ_GETDOMAINNAME invocations from here...
36738         * modules/getdomainname (configure.ac): ... to here.
36740 2011-05-08  Bruno Haible  <bruno@clisp.org>
36742         getline: Move AC_LIBOBJ invocations to module description.
36743         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
36744         invocations from here...
36745         * modules/getline (configure.ac): ... to here.
36747 2011-05-08  Bruno Haible  <bruno@clisp.org>
36749         getline: Simplify.
36750         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
36751         It's already handled through the module dependency.
36753 2011-05-08  Bruno Haible  <bruno@clisp.org>
36755         getdelim: Move AC_LIBOBJ invocations to module description.
36756         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
36757         and gl_PREREQ_GETDELIM invocations from here...
36758         * modules/getdelim (configure.ac): ... to here.
36759         (Depends-on): Fix condition.
36761 2011-05-08  Bruno Haible  <bruno@clisp.org>
36763         getcwd: Move AC_LIBOBJ invocations to module description.
36764         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
36765         invocations from here...
36766         * modules/getcwd (configure.ac): ... to here.
36768 2011-05-08  Bruno Haible  <bruno@clisp.org>
36770         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
36771         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
36772         here...
36773         * modules/getcwd-lgpl (configure.ac): ... to here.
36775 2011-05-07  Bruno Haible  <bruno@clisp.org>
36777         crypto/gc: Move AC_LIBOBJ invocations to module description.
36778         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
36779         * modules/crypto/gc (configure.ac): ... to here.
36781 2011-05-07  Bruno Haible  <bruno@clisp.org>
36783         fwriting: Move AC_LIBOBJ invocations to module description.
36784         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
36785         here...
36786         * modules/fwriting (configure.ac): ... to here.
36788 2011-05-07  Bruno Haible  <bruno@clisp.org>
36790         fwritable: Move AC_LIBOBJ invocations to module description.
36791         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
36792         here...
36793         * modules/fwritable (configure.ac): ... to here.
36795 2011-05-07  Bruno Haible  <bruno@clisp.org>
36797         futimens: Move AC_LIBOBJ invocations to module description.
36798         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
36799         here...
36800         * modules/futimens (configure.ac): ... to here.
36802 2011-05-07  Bruno Haible  <bruno@clisp.org>
36804         ftruncate: Move AC_LIBOBJ invocations to module description.
36805         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
36806         gl_PREREQ_FTRUNCATE invocations from here...
36807         * modules/ftruncate (configure.ac): ... to here.
36809 2011-05-07  Bruno Haible  <bruno@clisp.org>
36811         fsync: Move AC_LIBOBJ invocations to module description.
36812         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
36813         invocations from here...
36814         * modules/fsync (configure.ac): ... to here.
36816 2011-05-07  Bruno Haible  <bruno@clisp.org>
36818         fsusage: Move AC_LIBOBJ invocations to module description.
36819         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
36820         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
36821         * modules/fsusage (configure.ac): ... to here.
36823 2011-05-07  Bruno Haible  <bruno@clisp.org>
36825         freopen: Move AC_LIBOBJ invocations to module description.
36826         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
36827         invocations from here...
36828         * modules/freopen (configure.ac): ... to here.
36830 2011-05-07  Bruno Haible  <bruno@clisp.org>
36832         free: Move AC_LIBOBJ invocations to module description.
36833         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
36834         invocations from here...
36835         * modules/free (configure.ac): ... to here.
36837 2011-05-07  Bruno Haible  <bruno@clisp.org>
36839         freadable: Move AC_LIBOBJ invocations to module description.
36840         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
36841         here...
36842         * modules/freadable (configure.ac): ... to here.
36844 2011-05-07  Bruno Haible  <bruno@clisp.org>
36846         fpurge: Move AC_LIBOBJ invocations to module description.
36847         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
36848         invocations from here...
36849         * modules/fpurge (configure.ac): ... to here.
36851 2011-05-07  Bruno Haible  <bruno@clisp.org>
36853         fpending: Move AC_LIBOBJ invocations to module description.
36854         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
36855         gl_FUNC_FPENDING.
36856         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
36857         invocations from here...
36858         * modules/fpending (configure.ac): ... to here.
36860 2011-05-07  Bruno Haible  <bruno@clisp.org>
36862         fopen: Move AC_LIBOBJ invocations to module description.
36863         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
36864         invocations from here...
36865         * modules/fopen (configure.ac): ... to here.
36867 2011-05-07  Bruno Haible  <bruno@clisp.org>
36869         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
36870         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
36871         gl_FUNC_FNMATCH_POSIX.
36872         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
36873         invocations from here...
36874         * modules/fnmatch (configure.ac): ... to here.
36875         * modules/fnmatch-gnu (configure.ac): ... and here.
36877 2011-05-07  Bruno Haible  <bruno@clisp.org>
36879         flock: Move AC_LIBOBJ invocations to module description.
36880         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
36881         invocations from here...
36882         * modules/flock (configure.ac): ... to here.
36884 2011-05-07  Bruno Haible  <bruno@clisp.org>
36886         fileblocks: Move AC_LIBOBJ invocations to module description.
36887         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
36888         gl_PREREQ_FILEBLOCKS invocations from here...
36889         * modules/fileblocks (configure.ac): ... to here.
36891 2011-05-06  Bruno Haible  <bruno@clisp.org>
36893         fflush: Move AC_LIBOBJ invocations to module description.
36894         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
36895         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
36896         invocations from here...
36897         * modules/fflush (configure.ac): ... to here.
36899 2011-05-06  Bruno Haible  <bruno@clisp.org>
36901         fdopendir: Move AC_LIBOBJ invocations to module description.
36902         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
36903         here...
36904         * modules/fdopendir (configure.ac): ... to here.
36905         (Depends-on): Improve conditions.
36907 2011-05-06  Bruno Haible  <bruno@clisp.org>
36909         _Exit: Move AC_LIBOBJ invocations to module description.
36910         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
36911         invocations from here...
36912         * modules/_Exit (configure.ac): ... to here.
36914 2011-05-21  Bruno Haible  <bruno@clisp.org>
36916         euidaccess: Respect rules for use of AC_LIBOBJ.
36917         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
36918         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
36919         from here...
36920         * modules/euidaccess (configure.ac): ... to here.
36922 2011-05-06  Bruno Haible  <bruno@clisp.org>
36924         error: Move AC_LIBOBJ invocations to module description.
36925         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
36926         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
36927         invocations from here...
36928         * modules/error (configure.ac): ... to here.
36930 2011-05-06  Bruno Haible  <bruno@clisp.org>
36932         duplocale: Move AC_LIBOBJ invocations to module description.
36933         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
36934         gl_PREREQ_DUPLOCALE invocations from here...
36935         * modules/duplocale (configure.ac): ... to here.
36937 2011-05-05  Bruno Haible  <bruno@clisp.org>
36939         dirfd: Move AC_LIBOBJ invocations to module description.
36940         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
36941         gl_FUNC_DIRFD.
36942         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
36943         here...
36944         * modules/dirfd (configure.ac): ... to here.
36945         (Depends-on): Fix condition.
36947 2011-05-05  Bruno Haible  <bruno@clisp.org>
36949         chown: Respect rules for use of AC_LIBOBJ.
36950         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
36951         * modules/chown (configure.ac): ... to here.
36953 2011-05-05  Bruno Haible  <bruno@clisp.org>
36955         chdir-long: Move AC_LIBOBJ invocations to module description.
36956         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
36957         gl_PREREQ_CHDIR_LONG invocations from here...
36958         * modules/chdir-long (configure.ac): ... to here.
36960 2011-05-05  Bruno Haible  <bruno@clisp.org>
36962         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
36963         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
36964         from here...
36965         * modules/canonicalize-lgpl (configure.ac): ... to here.
36967 2011-05-05  Bruno Haible  <bruno@clisp.org>
36969         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
36970         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
36971         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
36972         REPLACE_CALLOC.
36973         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
36974         * modules/calloc-gnu (configure.ac): Likewise.
36976 2011-05-05  Bruno Haible  <bruno@clisp.org>
36978         btowc: Move AC_LIBOBJ invocations to module description.
36979         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
36980         invocations from here...
36981         * modules/btowc (configure.ac): ... to here.
36983 2011-05-21  Bruno Haible  <bruno@clisp.org>
36985         atexit: Move AC_LIBOBJ invocations to module description.
36986         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
36987         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
36988         here...
36989         * modules/atexit (configure.ac): ... to here.
36991 2011-05-05  Bruno Haible  <bruno@clisp.org>
36993         atoll: Move AC_LIBOBJ invocations to module description.
36994         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
36995         invocations from here...
36996         * modules/atoll (configure.ac): ... to here.
36998 2011-05-05  Bruno Haible  <bruno@clisp.org>
37000         argz: Move AC_LIBOBJ invocations to module description.
37001         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
37002         * modules/argz (configure.ac): ... to here.
37004 2011-05-05  Bruno Haible  <bruno@clisp.org>
37006         alphasort: Move AC_LIBOBJ invocations to module description.
37007         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
37008         gl_PREREQ_ALPHASORT invocations from here...
37009         * modules/alphasort (configure.ac): ... to here.
37011 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
37013         verify: new macro verify_expr; verify_true deprecated
37014         * NEWS: Mention this.
37015         * doc/verify.texi (Compile-time Assertions): Document this.
37016         * lib/verify.h (verify_true): Deprecate.
37017         (verify_expr): New macro.
37018         * tests/test-verify.c (function): Test verify_expr.
37020 2011-06-14  Jim Meyering  <meyering@redhat.com>
37022         init.sh: give more portable redirection-related advice in a comment
37023         * tests/init.sh (stderr_fileno_): Update the advice in comments.
37024         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
37025         for lots of discussion.  Stefano Lattarini suggested the solution
37026         of putting "9>&2" after the command.  Reported by Bruno Haible.
37028 2011-06-13  Bruno Haible  <bruno@clisp.org>
37030         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
37031         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
37032         'none'.
37034 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
37036         ftoastr: use strtof only if HAVE_STRTOF
37037         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
37038         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00154.html>.
37039         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
37040         * modules/ftoastr (configure.ac): Check for strtof.
37042 2011-06-13  Bruno Haible  <bruno@clisp.org>
37044         gnulib-tool: Addendum to 2011-06-08 commit.
37045         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
37046         and --witness-c-macro have been given, augment AM_CPPFLAGS.
37048 2011-06-13  Bruno Haible  <bruno@clisp.org>
37050         fseeko: Provide a non-inline replacement of fseek().
37051         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
37052         * modules/fseeko (Depends-on): Add fseek.
37053         * modules/fseek (License): Change to LGPLv2+.
37055 2011-06-13  Bruno Haible  <bruno@clisp.org>
37057         ftello: Provide a non-inline replacement of ftell().
37058         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
37059         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
37060         not have ftello() (such as on mingw).
37061         * modules/ftello (Depends-on): Add ftell.
37062         * modules/ftell (License): Change to LGPLv2+.
37064 2011-05-07  Bruno Haible  <bruno@clisp.org>
37066         ftell: Move AC_LIBOBJ invocations to module description.
37067         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
37068         * modules/ftell (configure.ac): ... to here.
37070 2011-05-07  Bruno Haible  <bruno@clisp.org>
37072         ftello: Respect rules for use of AC_LIBOBJ.
37073         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
37074         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
37075         here...
37076         * modules/ftello (configure.ac): ... to here.
37078 2011-05-07  Bruno Haible  <bruno@clisp.org>
37080         fseeko: Simplify.
37081         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
37082         (gl_FUNC_FSEEKO): Inline it here.
37084 2011-05-07  Bruno Haible  <bruno@clisp.org>
37086         fseek: Move AC_LIBOBJ invocations to module description.
37087         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
37088         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
37089         * modules/fseek (configure.ac): ... to here.
37091 2011-05-07  Bruno Haible  <bruno@clisp.org>
37093         fseek: Respect rules for use of AC_LIBOBJ.
37094         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
37095         here...
37096         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
37098 2011-05-07  Bruno Haible  <bruno@clisp.org>
37100         fseeko: Respect rules for use of AC_LIBOBJ.
37101         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
37102         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
37103         here...
37104         * modules/fseeko (configure.ac): ... to here.
37106 2011-06-13  Bruno Haible  <bruno@clisp.org>
37108         gnulib-tool: Allow comments in the 'Depends-on' section.
37109         * doc/gnulib.texi (Module description): Mention comment syntax in the
37110         Depends-on section.
37111         * gnulib-tool (func_get_dependencies): Filter out comment lines.
37113 2011-06-13  Bruno Haible  <bruno@clisp.org>
37115         file-set.h: guard __attibute__ use, now that it's not always defined
37116         * lib/file-set.h (record_file): Use __attribute__ only with compiler
37117         versions that support it.  This fixes a coreutils build failure with
37118         the vendor cc on HP-UX 11.31.
37120 2011-06-12  Bruno Haible  <bruno@clisp.org>
37122         acl: Add support for HP-UX >= 11.11 JFS ACLs.
37123         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
37124         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
37125         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
37126         (acl, aclsort): New declarations.
37127         (aclv_nontrivial): New declaration.
37128         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
37129         (file_has_acl): Read also the second kind of HP-UX ACLs.
37130         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
37131         kind of HP-UX ACLs if the first kind fails.
37132         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
37133         second kind of HP-UX ACLs.
37134         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
37135         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
37136         agree.
37137         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
37138         hpuxjfs.
37139         Handle hpuxjfs.
37140         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
37141         hpuxjfs.
37142         Handle hpuxjfs.
37143         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
37144         (func_test_same_acls): Use both lsacl and getacl.
37145         Handle hpuxjfs.
37146         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
37147         (func_test_same_acls): Use both lsacl and getacl.
37148         Handle hpuxjfs.
37150 2011-06-12  Bruno Haible  <bruno@clisp.org>
37152         acl: Complete the 2010-08-10 fix.
37153         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
37154         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
37155         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
37156         explicitly.
37157         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
37158         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
37160 2011-06-12  Bruno Haible  <bruno@clisp.org>
37162         spawn-pipe tests: Comments.
37163         * tests/test-spawn-pipe-child.c (main): Update comment.
37164         Reported by James Youngman <jay@gnu.org>.
37166 2011-06-11  James Youngman  <jay@gnu.org>
37168         New module 'stat-size'.
37169         * modules/stat-size: New module.  Provides macros for accessing
37170         file size information in instances of struct stat.  Depends on the
37171         fileblocks module because it calls st_blocks.
37172         * lib/stat-size.h: New file, adapted from coreutils' system.h.
37173         * doc/gnulib.texi: Include stat-size.texi.
37174         * doc/stat-size.texi: Documentation for this module.
37175         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
37176         * m4/fileblocks.m4: Mention that stat-size depends on the call to
37177         AC_STRUCT_ST_BLOCKS.
37179 2011-06-09  Bruno Haible  <bruno@clisp.org>
37181         thread: Support pthreads-win32.
37182         * lib/glthread/thread.h (gl_thread_self): Define differently on
37183         pthreads-win32.
37184         (gl_null_thread): New declaration.
37185         (gl_thread_self_pointer): New macro.
37186         * lib/glthread/thread.c (gl_null_thread): New constant.
37187         * tests/test-lock.c: Use gl_thread_self_pointer instead of
37188         gl_thread_self.
37189         * tests/test-tls.c: Likewise.
37190         Suggested by Paul Eggert. Reported by Eric Blake.
37192 2011-06-09  Bruno Haible  <bruno@clisp.org>
37194         thread: Fix confusion between NULL and 0.
37195         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
37196         Reported by Paul Eggert.
37198 2011-06-09  Bruno Haible  <bruno@clisp.org>
37200         spawn-pipe tests: Avoid test failure on HP-UX 11.
37201         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
37202         is closed.
37204 2011-06-09  Bruno Haible  <bruno@clisp.org>
37206         acl tests: Fix compilation error on HP-UX 11.
37207         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
37209 2011-06-09  Bruno Haible  <bruno@clisp.org>
37211         rmdir: Avoid test failure on HP-UX 10.20.
37212         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
37213         EEXIST.
37215 2011-06-08  Eric Blake  <eblake@redhat.com>
37217         perror: fix test on mingw
37218         * modules/perror-tests (Depends-on): Add dup2.
37220         strerror_r-posix: fix on MacOS
37221         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
37222         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
37223         logic bug.
37224         * lib/strerror_r.c (strerror_r): Fix the bug.
37225         * lib/strerror.c (strerror): Likewise.
37226         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
37227         problem.
37228         * doc/posix-functions/strerror.texi (strerror): Likewise.
37229         * doc/posix-functions/perror.texi (perror): Likewise.
37230         * tests/test-strerror.c (main): Enhance test.
37231         * tests/test-strerror_r.c (main): Likewise.
37233 2011-06-08  Bruno Haible  <bruno@clisp.org>
37235         gnulib-tool: Better isolation between different gnulib-tool invocations.
37236         * gnulib-tool: New option --witness-c-macro.
37237         (witness_c_macro): New variable.
37238         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
37239         AM_CPPFLAGS define it as a C macro.
37240         (func_emit_tests_Makefile_am): Likewise.
37241         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
37242         read it from there.
37243         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
37244         m4_define, not AC_DEFUN.
37245         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
37246         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
37247         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
37248         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
37249         s|...|...|, to substitute the values of the GNULIB_* module indicator
37250         variables.
37251         * modules/dirent (Makefile.am): Likewise.
37252         * modules/fcntl-h (Makefile.am): Likewise.
37253         * modules/iconv-h (Makefile.am): Likewise.
37254         * modules/langinfo (Makefile.am): Likewise.
37255         * modules/locale (Makefile.am): Likewise.
37256         * modules/math (Makefile.am): Likewise.
37257         * modules/netdb (Makefile.am): Likewise.
37258         * modules/poll-h (Makefile.am): Likewise.
37259         * modules/pty (Makefile.am): Likewise.
37260         * modules/search (Makefile.am): Likewise.
37261         * modules/signal (Makefile.am): Likewise.
37262         * modules/spawn (Makefile.am): Likewise.
37263         * modules/stdio (Makefile.am): Likewise.
37264         * modules/stdlib (Makefile.am): Likewise.
37265         * modules/string (Makefile.am): Likewise.
37266         * modules/sys_ioctl (Makefile.am): Likewise.
37267         * modules/sys_select (Makefile.am): Likewise.
37268         * modules/sys_socket (Makefile.am): Likewise.
37269         * modules/sys_stat (Makefile.am): Likewise.
37270         * modules/sys_times (Makefile.am): Likewise.
37271         * modules/sys_utsname (Makefile.am): Likewise.
37272         * modules/sys_wait (Makefile.am): Likewise.
37273         * modules/termios (Makefile.am): Likewise.
37274         * modules/time (Makefile.am): Likewise.
37275         * modules/unistd (Makefile.am): Likewise.
37276         * modules/wchar (Makefile.am): Likewise.
37278 2011-06-08  Eric Blake  <eblake@redhat.com>
37280         strerror: simplify replacement
37281         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
37282         * modules/strerror (configure.ac): No prereqs needed here...
37283         * modules/strerror-override (configure.ac): ...but this needs it.
37284         (Files): Add file for needed prereq macro.
37286 2011-06-08  Bruno Haible  <bruno@clisp.org>
37288         strerror_r-posix: Tweaks.
37289         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
37290         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
37291         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
37292         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
37293         (gl_FUNC_STRERROR_R): ... to here.
37294         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
37296 2011-06-07  Eric Blake  <eblake@redhat.com>
37298         perror: document fixed bugs
37299         * doc/posix-functions/perror.texi (perror): Document recent
37300         patches.
37302 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
37304         stat-time: get_stat_birthtime failure is better-defined
37305         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
37306         return a timestamp whose tv_sec and tv_nsec values are both -1.
37307         Previously, the spec said only that the tv_nsec value was negative.
37308         This upward-compatible change simplifies GNU tar a bit.
37310 2011-06-07  Eric Blake  <eblake@redhat.com>
37312         strerror_r-posix: work around cygwin 1.7.9
37313         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
37314         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
37315         bug without replacing strerror_r.
37316         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
37317         strerror_r is buggy, but without requiring strerror_r compilation.
37318         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
37320         test-perror: relax test to ignore cygwin bug
37321         * tests/test-perror2.c (main): Relax test on requiring detection
37322         of stream errors, and use unbuffered stream.
37323         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
37324         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
37325         * doc/posix-functions/fputc.texi (fputc): Likewise.
37326         * doc/posix-functions/fputs.texi (fputs): Likewise.
37327         * doc/posix-functions/fputws.texi (fputws): Likewise.
37328         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
37329         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
37330         * doc/posix-functions/getopt.texi (getopt): Likewise.
37331         * doc/posix-functions/perror.texi (perror): Likewise.
37332         * doc/posix-functions/printf.texi (printf): Likewise.
37333         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
37334         * doc/posix-functions/psignal.texi (psignal): Likewise.
37335         * doc/posix-functions/putc.texi (putc): Likewise.
37336         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
37337         Likewise.
37338         * doc/posix-functions/putchar.texi (putchar): Likewise.
37339         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
37340         Likewise.
37341         * doc/posix-functions/puts.texi (puts): Likewise.
37342         * doc/posix-functions/putwc.texi (putwc): Likewise.
37343         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
37344         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
37345         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
37346         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
37347         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
37348         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
37349         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
37350         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
37352 2011-05-22  Bruno Haible  <bruno@clisp.org>
37354         strerror: Move AC_LIBOBJ invocations to module description.
37355         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
37356         gl_PREREQ_STRERROR invocations from here...
37357         * modules/strerror (configure.ac): ... to here.
37359 2011-05-21  Bruno Haible  <bruno@clisp.org>
37361         perror: Use common idiom.
37362         * modules/perror (configure.ac): Reorder statements.
37364 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
37366         tests: fix usage message in 'mktempd_'
37367         * tests/init.sh (mktempd_): In the usage message, use literal
37368         'mktempd_', not '$ME' (which is even undefined), as the name of
37369         the subroutine.
37371 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
37373         tests init: new function 'fatal_', for hard errors
37374         Before this patch, the only way offered by tests/init.sh to
37375         properly signal a hard error was the `framework_failure_'
37376         function.  But the error message issued by that function,
37377         as its name would suggest, refers to a set-up failure in the
37378         testsuite, while hard errors can obviously also be due to
37379         other reasons.  The best way to fix this inconsistency is to
37380         introduce a new function with a more general error message.
37381         * tests/init.sh (fatal_): New function.
37383 2011-06-06  Eric Blake  <eblake@redhat.com>
37385         canonicalize-lgpl: use common idiom
37386         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
37387         over newer POSIX -Rf.
37388         Reported by Bruno Haible.
37390         canonicalize-lgpl: work around AIX realpath bug
37391         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
37392         * doc/posix-functions/realpath.texi (realpath): Document it.
37393         Reported by Bruno Haible.
37395         strerror: work around FreeBSD bug
37396         * lib/strerror.c (strerror): Special case 0.
37397         Reported by Bruno Haible.
37399         strerror-override: avoid bloating errno module
37400         * modules/errno (Files, configure.ac): Move replacement strings...
37401         * modules/strerror-override: ...to new module.
37402         * modules/strerror (Depends-on): Add strerror-override.
37403         * modules/strerror_r-posix (Depends-on): Likewise.
37404         * MODULES.html.sh: Document new module.
37405         Reported by Bruno Haible.
37407 2011-06-06  Bruno Haible  <bruno@clisp.org>
37409         spawn-pipe tests: Rename program.
37410         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
37411         * tests/test-spawn-pipe-child.c: Update comment.
37412         * tests/test-spawn-pipe.sh: Update.
37413         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
37415         spawn-pipe tests: Link the child program only against libc.
37416         * tests/test-spawn-pipe-child.c: New file, extracted from
37417         tests/test-spawn-pipe.c.
37418         (main): Expect only one argument.
37419         (is_open): New function, copied from tests/test-pipe.c.
37420         * tests/test-spawn-pipe.c: Don't include <errno.h>.
37421         (child_main): Remove function.
37422         (test_pipe): Pass only one argument to the child program.
37423         (main): Remove child process code. Expect the child program's name as
37424         first argument.
37425         * tests/test-spawn-pipe.sh: Pass the child program's name as first
37426         argument.
37427         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
37428         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
37429         test-spawn-pipe-child against no libraries.
37431 2011-06-06  Bruno Haible  <bruno@clisp.org>
37433         careadlinkat: Avoid mismatch between ssize_t and int.
37434         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
37435         * lib/careadlinkat.c (careadlinkatcwd): Define always.
37437 2011-06-06  Jim Meyering  <meyering@redhat.com>
37439         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
37440         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
37441         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
37443 2011-06-05  Bruno Haible  <bruno@clisp.org>
37445         ansi-c++-opt: Interoperability with libtool.
37446         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
37447         set the variable to "no", not to ":".
37448         * NEWS: Mention the change.
37450 2011-06-05  Bruno Haible  <bruno@clisp.org>
37452         acl: Fix test failure on AIX 7.
37453         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
37454         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
37456 2011-06-05  Bruno Haible  <bruno@clisp.org>
37458         pipe-filter-ii: Fix test failure on AIX and IRIX.
37459         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
37460         with EAGAIN, retry with a smaller buffer size.
37462 2011-06-05  Bruno Haible  <bruno@clisp.org>
37464         localename: Fix link dependencies.
37465         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
37466         * modules/localename-tests (Makefile.am): Link test-localename with
37467         $(LIBTHREAD).
37469 2011-06-05  Bruno Haible  <bruno@clisp.org>
37471         error: Avoid gcc warning.
37472         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
37474 2011-06-05  Bruno Haible  <bruno@clisp.org>
37476         unsetenv: Avoid gcc warning.
37477         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
37479 2011-06-05  Bruno Haible  <bruno@clisp.org>
37481         setenv: Avoid gcc warning.
37482         * lib/setenv.c (setenv): Provide declaration if system lacks it.
37484 2011-06-05  Bruno Haible  <bruno@clisp.org>
37486         sys_select: Ensure memset is declared also on AIX 7.
37487         * lib/sys_select.in.h: Include <string.h> also on AIX.
37488         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
37489         self-contained also on AIX 7.1.
37491 2011-06-04  Jim Meyering  <meyering@redhat.com>
37493         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
37494         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
37495         function name, "error".
37496         (_gl_translatable_diag_func_re): New configurable variable.
37498 2011-06-04  Bruno Haible  <bruno@clisp.org>
37500         getopt: Avoid gcc warning.
37501         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
37503 2011-06-04  Bruno Haible  <bruno@clisp.org>
37505         strerror_r: Fix comments.
37506         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
37507         commit.
37509 2011-06-04  Bruno Haible  <bruno@clisp.org>
37511         perror: Fix compilation error.
37512         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
37513         Undefine fprintf, not sprintf.
37514         * modules/perror (Depends-on): Remove intprops, verify.
37516 2011-06-04  Bruno Haible  <bruno@clisp.org>
37518         setlocale: Enable replacement on Cygwin 1.5.
37519         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
37520         Cygwin 1.5.x.
37521         * doc/posix-functions/setlocale.texi: Mention that the problem with the
37522         LC_CTYPE category also exists on Cygwin 1.5.x.
37524 2011-06-04  Bruno Haible  <bruno@clisp.org>
37526         strerror-override: Don't disable symbol renamings.
37527         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
37528         * lib/strerror-override.c: Include config.h.
37529         (strerror_override): Don't undefine.
37531 2011-06-03  Bruno Haible  <bruno@clisp.org>
37533         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
37534         * lib/localename.h: Update copyright header.
37535         * lib/localename.c: Likewise.
37536         * lib/relocatable.h: Likewise.
37537         * lib/relocatable.c: Likewise.
37539 2011-06-02  Bruno Haible  <bruno@clisp.org>
37541         doc: Fix a module name.
37542         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
37544 2011-06-02  Bruno Haible  <bruno@clisp.org>
37546         pipe2: Remove dependency on 'nonblocking' module.
37547         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
37548         O_NONBLOCK is defined by gnulib.
37549         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
37550         is zero.
37551         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
37552         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
37553         defined by gnulib.
37554         (get_nonblocking_flag): New function.
37555         (main): Test O_NONBLOCK flag only if it is nonzero.
37556         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
37558 2011-06-03  Jim Meyering  <meyering@redhat.com>
37560         maint: three new prohibit-header-without-use rules
37561         Prohibit use of cloexec.h, posixver.h, same.h without use.
37562         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
37563         (sc_prohibit_posixver_without_use): Likewise.
37564         (sc_prohibit_same_without_use): Likewise.
37566 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
37568         allocator: 'die' routine is now given requested size
37569         * lib/allocator.h (struct allocator.die): New size arg.
37570         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
37571         If the actual problem is an ssize_t limitation, not a size_t or
37572         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
37574 2011-06-01  Eric Blake  <eblake@redhat.com>
37576         strerror: drop strerror_r dependency
37577         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
37578         * lib/strerror-override.c (strerror_override): ...to new file.
37579         * lib/strerror-override.h: Add prototype.
37580         * lib/strerror-impl.h: Delete.
37581         * lib/strerror.c (strerror): New implementation.
37582         * modules/errno (Files): Add new files.
37583         (configure.ac): Compile new file as appropriate.
37584         * modules/strerror (Files): Drop unused file.
37585         (Depends-on): Drop strerror_r-posix.
37586         * MODULES.html.sh: Document strerror_r-posix.
37587         Requested by Sam Steingold.
37589         perror: call strerror_r directly
37590         * modules/perror (Files): Drop strerror-impl.h.
37591         * lib/perror.c (perror): Use our own stack buffer, rather than
37592         calling a wrapper that uses static storage.
37593         * doc/posix-functions/perror.texi (perror): Document a limitation
37594         of our replacement.
37596         strerror_r: fix includes for FreeBSD
37597         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
37598         since we use abort on some platforms.
37599         Reported by Matthias Bolte.
37601 2011-05-31  Bruno Haible  <bruno@clisp.org>
37603         Fix link errors in tests: openat-die uses gettext-h.
37604         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
37605         against $(LIBINTL).
37606         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
37607         against $(LIBINTL).
37608         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
37609         $(LIBINTL).
37610         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
37611         against $(LIBINTL).
37612         * modules/linkat-tests (Makefile.am): Link test-linkat against
37613         $(LIBINTL).
37614         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
37615         $(LIBINTL).
37616         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
37617         against $(LIBINTL).
37618         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
37619         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
37620         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
37621         $(LIBINTL).
37622         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
37623         $(LIBINTL).
37624         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
37625         $(LIBINTL).
37626         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
37628 2011-05-31  Bruno Haible  <bruno@clisp.org>
37630         Fix link errors in tests: wait-process uses gettext-h.
37631         * modules/nonblocking-pipe-tests (Makefile.am): Set
37632         test_nonblocking_pipe_main_LDADD.
37633         * modules/nonblocking-socket-tests (Makefile.am): Link
37634         test-nonblocking-socket-main against $(LIBINTL).
37635         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
37637 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
37639         assert-h: work around 'verify' incompatibility
37640         * lib/verify.h: Use @...@ directives, not ifdef.
37641         * modules/assert-h (assert.h): Implement the directives.
37642         (assert.h): Substitute the symbol-prefix more consistently.
37644 2011-05-29  Jim Meyering  <meyering@redhat.com>
37646         trim: remove three superfluous assignments
37647         * lib/trim.c (trim2): Remove three superfluous assignments
37648         and correct brace positioning.
37650 2011-05-29  Bruno Haible  <bruno@clisp.org>
37652         wctype-h: Avoid namespace pollution on Solaris 2.6.
37653         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
37654         identifiers.
37655         * doc/posix-headers/wctype.texi: Mention the problem.
37656         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
37658 2011-05-28  Jim Meyering  <meyering@redhat.com>
37660         parse-datetime.y: accommodate -Wstrict-overflow
37661         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
37662         placate -Wstrict-overflow.
37664         trim: avoid a warning from -O2 -Wstrict-overflow
37665         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
37667 2011-05-29  Bruno Haible  <bruno@clisp.org>
37669         gnulib-tool: Fix bug in yesterday's commit.
37670         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
37671         twice.
37673 2011-05-29  Bruno Haible  <bruno@clisp.org>
37675         Allow multiple gnulib generated include files to be combined.
37676         * gnulib-tool (func_compute_include_guard_prefix): New function.
37677         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
37678         ${gl_include_guard_prefix} references.
37679         (func_import, func_create_testdir): Invoke
37680         func_compute_include_guard_prefix.
37681         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
37682         * lib/ctype.in.h: Likewise.
37683         * lib/dirent.in.h: Likewise.
37684         * lib/errno.in.h: Likewise.
37685         * lib/fcntl.in.h: Likewise.
37686         * lib/float.in.h: Likewise.
37687         * lib/getopt.in.h: Likewise.
37688         * lib/iconv.in.h: Likewise.
37689         * lib/langinfo.in.h: Likewise.
37690         * lib/locale.in.h: Likewise.
37691         * lib/math.in.h: Likewise.
37692         * lib/netdb.in.h: Likewise.
37693         * lib/netinet_in.in.h: Likewise.
37694         * lib/poll.in.h: Likewise.
37695         * lib/pthread.in.h: Likewise.
37696         * lib/pty.in.h: Likewise.
37697         * lib/sched.in.h: Likewise.
37698         * lib/se-selinux.in.h: Likewise.
37699         * lib/search.in.h: Likewise.
37700         * lib/signal.in.h: Likewise.
37701         * lib/spawn.in.h: Likewise.
37702         * lib/stdarg.in.h: Likewise.
37703         * lib/stddef.in.h: Likewise.
37704         * lib/stdint.in.h: Likewise.
37705         * lib/stdio.in.h: Likewise.
37706         * lib/stdlib.in.h: Likewise.
37707         * lib/string.in.h: Likewise.
37708         * lib/strings.in.h: Likewise.
37709         * lib/sys_file.in.h: Likewise.
37710         * lib/sys_ioctl.in.h: Likewise.
37711         * lib/sys_select.in.h: Likewise.
37712         * lib/sys_socket.in.h: Likewise.
37713         * lib/sys_stat.in.h: Likewise.
37714         * lib/sys_time.in.h: Likewise.
37715         * lib/sys_times.in.h: Likewise.
37716         * lib/sys_uio.in.h: Likewise.
37717         * lib/sys_utsname.in.h: Likewise.
37718         * lib/sys_wait.in.h: Likewise.
37719         * lib/sysexits.in.h: Likewise.
37720         * lib/termios.in.h: Likewise.
37721         * lib/time.in.h: Likewise.
37722         * lib/unistd.in.h: Likewise.
37723         * lib/wchar.in.h: Likewise.
37724         * lib/wctype.in.h: Likewise.
37725         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
37726         * modules/ctype (Makefile.am): Likewise.
37727         * modules/dirent (Makefile.am): Likewise.
37728         * modules/errno (Makefile.am): Likewise.
37729         * modules/fcntl-h (Makefile.am): Likewise.
37730         * modules/float (Makefile.am): Likewise.
37731         * modules/getopt-posix (Makefile.am): Likewise.
37732         * modules/iconv-h (Makefile.am): Likewise.
37733         * modules/langinfo (Makefile.am): Likewise.
37734         * modules/locale (Makefile.am): Likewise.
37735         * modules/math (Makefile.am): Likewise.
37736         * modules/netdb (Makefile.am): Likewise.
37737         * modules/netinet_in (Makefile.am): Likewise.
37738         * modules/poll-h (Makefile.am): Likewise.
37739         * modules/pthread (Makefile.am): Likewise.
37740         * modules/pty (Makefile.am): Likewise.
37741         * modules/sched (Makefile.am): Likewise.
37742         * modules/search (Makefile.am): Likewise.
37743         * modules/selinux-h (Makefile.am): Likewise.
37744         * modules/signal (Makefile.am): Likewise.
37745         * modules/spawn (Makefile.am): Likewise.
37746         * modules/stdarg (Makefile.am): Likewise.
37747         * modules/stddef (Makefile.am): Likewise.
37748         * modules/stdint (Makefile.am): Likewise.
37749         * modules/stdio (Makefile.am): Likewise.
37750         * modules/stdlib (Makefile.am): Likewise.
37751         * modules/string (Makefile.am): Likewise.
37752         * modules/strings (Makefile.am): Likewise.
37753         * modules/sys_file (Makefile.am): Likewise.
37754         * modules/sys_ioctl (Makefile.am): Likewise.
37755         * modules/sys_select (Makefile.am): Likewise.
37756         * modules/sys_socket (Makefile.am): Likewise.
37757         * modules/sys_stat (Makefile.am): Likewise.
37758         * modules/sys_time (Makefile.am): Likewise.
37759         * modules/sys_times (Makefile.am): Likewise.
37760         * modules/sys_uio (Makefile.am): Likewise.
37761         * modules/sys_utsname (Makefile.am): Likewise.
37762         * modules/sys_wait (Makefile.am): Likewise.
37763         * modules/sysexits (Makefile.am): Likewise.
37764         * modules/termios (Makefile.am): Likewise.
37765         * modules/time (Makefile.am): Likewise.
37766         * modules/unistd (Makefile.am): Likewise.
37767         * modules/wchar (Makefile.am): Likewise.
37768         * modules/wctype-h (Makefile.am): Likewise.
37769         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
37771 2011-05-29  Bruno Haible  <bruno@clisp.org>
37773         assert-h: Allow multiple gnulib generated replacements to coexist.
37774         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
37776 2011-05-29  Bruno Haible  <bruno@clisp.org>
37778         argp: Allow coexistence with strerror_r-posix module.
37779         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
37780         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
37781         by gnulib's <string.h> replacement), assume it has the POSIX signature,
37782         not the glibc signature.
37784 2011-05-28  Bruno Haible  <bruno@clisp.org>
37786         gnulib-tool: Alternative structure of testdirs, similar to --import.
37787         * gnulib-tool: New option --single-configure.
37788         (func_usage): Document it.
37789         (single_configure): New variable.
37790         (func_modules_transitive_closure_separately,
37791         func_modules_transitive_closure_separately,
37792         func_determine_use_libtests, func_modules_add_dummy_separately,
37793         func_modules_to_filelist_separately): New functions, extracted from
37794         func_import.
37795         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
37796         (func_import): Use the new functions.
37797         (func_create_testdir): Set final_modules. Handle $single_configure =
37798         true case.
37800 2011-05-28  Bruno Haible  <bruno@clisp.org>
37802         getloadavg: Remove an unreliable safety check.
37803         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
37804         getloadavg.c is in place.
37805         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
37806         Reported by Sam Steingold <sds@gnu.org>.
37808 2011-05-28  Bruno Haible  <bruno@clisp.org>
37810         doc: Cleanup yet another file produced by texinfo.tex.
37811         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
37813 2011-05-28  Bruno Haible  <bruno@clisp.org>
37815         Finish the conditional dependencies mechanism.
37816         * gnulib-tool: New option --no-conditional-dependencies.
37817         (func_usage): Document it. Don't mark --conditional-dependencies as
37818         experimental.
37819         (cond_dependencies): The possible values can now be true, false, empty.
37820         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
37821         (func_import): Store setting in gnulib-cache.m4 and read it from there.
37822         * doc/gnulib-tool.texi (Conditional dependencies): New section.
37824 2011-05-28  Bruno Haible  <bruno@clisp.org>
37826         doc: Use a recent texinfo.tex.
37827         * doc/Makefile (tex_opts): New variable.
37828         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
37830 2011-05-28  Jim Meyering  <meyering@redhat.com>
37832         intprops.h: adjust comment to match code change
37833         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
37834         only once, it *may* have side effects.  Also fix an unrelated typo.
37835         (_GL_INT_SIGNED): Likewise.
37837 2011-05-26  Simon Josefsson  <simon@josefsson.org>
37839         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
37841 2011-05-26  Bruno Haible  <bruno@clisp.org>
37843         mbsrchr: Avoid collision with system function on Interix.
37844         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
37845         Reported by Markus Duft <mduft@gentoo.org>.
37847 2011-05-15  James Youngman  <jay@gnu.org>
37849         getopt: for ambiguous options, enumerate the possibilities.
37850         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
37851         the ambiguous options when an ambiguous prefix is given. This was
37852         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
37853         glibc change was
37854         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
37856 2011-05-25  Eric Blake  <eblake@redhat.com>
37858         getcwd: work around mingw bug
37859         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
37860         * doc/posix-functions/getcwd.texi (getcwd): Document it.
37861         Reported by Matthias Bolte.
37863 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
37865         test-intprops: disable -Wtype-limits diagnostics
37866         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
37867         diagnostics.  Otherwise, the integer overflow macros generate many
37868         diagnostics.  Reported by Jim Meyering in
37869         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
37871         intprops: shorten, to pacify gcc -Woverlength-strings
37872         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
37873         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
37874         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
37875         likely to run afoul of C compiler limits for string constant lengths.
37876         See <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
37878 2011-05-24  Eric Blake  <eblake@redhat.com>
37880         docs: document recently fixed glibc printf bug
37881         * doc/posix-functions/fprintf.texi (fprintf): Document it.
37882         * doc/posix-functions/printf.texi (printf): Likewise.
37883         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
37884         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
37886         closein-tests: convert to init.sh
37887         * modules/closein-tests (Files): Add init.sh
37888         * tests/test-closein.sh Use it.
37890         yesno-tests: convert to init.sh
37891         * modules/yesno-tests (Files): Add init.sh.
37892         * tests/test-yesno.sh: Use it.
37894         atexit-tests: ensure reliable exit status
37895         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
37896         Reported by Bruno Haible.
37898 2011-05-24  Bruno Haible  <bruno@clisp.org>
37900         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
37901         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
37902         gl_PREREQ_STRERROR_R invocations from here...
37903         * modules/strerror_r-posix (configure.ac): ... to here.
37905 2011-05-24  Eric Blake  <eblake@redhat.com>
37907         strerror_r: fix missing header
37908         * lib/strerror_r.c: Avoid compiler warning about snprintf.
37910         strerror_r: fix AIX test failures
37911         * lib/strerror_r.c (strerror_r): Convert silent truncation to
37912         ERANGE failure.
37914         strerror_r: fix Solaris test failures
37915         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
37916         failures.
37917         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
37919         strerror_r: enforce POSIX recommendations
37920         * lib/strerror_r.c (safe_copy): New helper method.
37921         (strerror_r): Guarantee a non-empty string.
37922         * tests/test-strerror_r.c (main): Enhance tests to incorporate
37923         recent POSIX rulings and to match our strerror guarantees.
37924         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
37926 2011-05-24  Jim Meyering  <meyering@redhat.com>
37928         test-perror2.c: avoid warning about unused variable
37929         * tests/test-perror2.c (main): Remove declaration of unused "fp".
37931 2011-05-24  Eric Blake  <eblake@redhat.com>
37933         perror: avoid spurious test failure on HP-UX
37934         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
37936         tests: fix logic bug in init.sh
37937         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
37938         shell.
37940 2011-05-24  Jim Meyering  <meyering@redhat.com>
37942         utimensat: do not reference an out-of-scope buffer
37943         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
37944         declared in an inner scope, yet "times" would be dereferenced outside
37945         the scope in which "ts" was valid.
37946         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
37947         of ts[2] "out/up", so that the use of aliased "times" (via
37948         "times = ts;") does not end up referencing an out-of-scope "ts"
37950         opendir-safer.c: don't clobber errno; don't close negative FD
37951         * lib/opendir-safer.c (opendir_safer):
37952         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
37953         file descriptor, and more importantly, don't clobber the
37954         offending errno value with EINVAL.  Before, upon failure
37955         of dup_safer, we would pass the negative file descriptor to
37956         fdopendir, which would clobber errno.
37958 2011-05-23  Bruno Haible  <bruno@clisp.org>
37960         idcache: Fix module description.
37961         * modules/idcache (Include): Set to "idcache.h".
37963 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
37965         gnulib-tool: fix portability problem with MacOS sed
37966         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
37967         before the "}".  Problem reported by Leo in
37968         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00717.html>.
37969         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
37970         sed_extract_condition1, sed_extract_condition2.
37972 2011-05-23  Bruno Haible  <bruno@clisp.org>
37974         hash: Simplify autoconf macro.
37975         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
37977 2011-05-23  Bruno Haible  <bruno@clisp.org>
37979         getugroups: Fix module description.
37980         * modules/getugroups (Include): Set to "getugroups.h".
37982 2011-05-23  Bruno Haible  <bruno@clisp.org>
37984         linkat: Simplify autoconf macro.
37985         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
37987 2011-05-23  Bruno Haible  <bruno@clisp.org>
37988             Eric Blake  <eblake@redhat.com>
37990         linkat, renameat: Update dependencies.
37991         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
37992         * modules/linkat (Depends-on): Likewise. Remove also readlink,
37993         symlinkat.
37995 2011-05-23  Jim Meyering  <meyering@redhat.com>
37997         maint.mk: more tight_scope improvements
37998         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
37999         (_gl_TS_headers): Define only in if-0'd block.
38000         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
38001         sometimes we must *not* use it.  Adjust uses accordingly.
38002         (sc_tight_scope): Use much simpler grep-based test to determine
38003         whether we skip this rule.
38005         maint.mk: generalize/improve the tight-scope rule
38006         * top/maint.mk: Emit a warning when the test is skipped.
38007         (_gl_TS_dir): Add $(srcdir)/ prefix.
38008         (_gl_TS_function_match): Simplify, rather than trying
38009         to enumerate common types.  Otherwise, it would fail to match an
38010         "extern unsigned char const *" declaration in idutils.
38011         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
38012         a way to support use of that type of macro.
38013         (_gl_TS_var_match): Simplify regexp.
38014         (_gl_TS_obj_files): New configurable variable.
38015         (_gl_TS_headers): Likewise.
38017 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
38019         verify: fix bug when gnulib <assert.h> is also included
38020         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
38021         is defined, not if _GL_STATIC_ASSERT_H is not defined.
38022         Perhaps there's a better way, but this fixes the immediate problem.
38023         Problem reported by Bruno Haible in
38024         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00478.html>.
38026 2011-05-22  Bruno Haible  <bruno@clisp.org>
38028         xgetcwd: Simplify autoconf macro.
38029         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
38031 2011-05-22  Bruno Haible  <bruno@clisp.org>
38033         New module 'mktime-internal'.
38034         * modules/mktime-internal: New file.
38035         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
38036         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
38037         mktime_internal as a C macro if libc has __mktime_internal.
38038         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
38039         conditions.
38040         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
38042 2011-05-22  Bruno Haible  <bruno@clisp.org>
38044         timegm: Correct mktime replacement statements.
38045         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
38046         defining mktime as a C macro. This completes a 2009-07-28 commit.
38048 2011-05-22  Bruno Haible  <bruno@clisp.org>
38050         timegm: Simplify autoconf macro.
38051         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
38053 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
38055         clock-time: change to LGPLv2+.
38056         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
38057         BSD-like but we have no mark for that; this is good enough for now.
38059 2011-05-21  Bruno Haible  <bruno@clisp.org>
38061         strerror_r: Fix comments.
38062         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
38064 2011-05-21  Bruno Haible  <bruno@clisp.org>
38066         relocatable-prog-wrapper: Fix possible link error.
38067         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
38068         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
38069         (gl_FUNC_SETENV): ... to here.
38070         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
38071         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
38073 2011-05-21  Bruno Haible  <bruno@clisp.org>
38075         relocatable-prog-wrapper: Assume strerror() exists.
38076         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
38077         m4/strerror.m4.
38078         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
38079         * lib/relocwrapper.c: Remove mention of strerror module.
38080         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
38081         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
38082         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
38083         C macro.
38085 2011-05-21  Bruno Haible  <bruno@clisp.org>
38087         select: Simplify replacement idiom.
38088         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
38089         Win32 platforms.
38090         * lib/sys_select.in.h (select): Simplify accordingly.
38091         * modules/select (Depends-on): Likewise.
38093 2011-05-21  Bruno Haible  <bruno@clisp.org>
38095         mkdir-p: Simplify autoconf macro.
38096         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
38097         gl_FUNC_LCHOWN.
38099 2011-05-21  Eric Blake  <eblake@redhat.com>
38101         strerror_r: avoid clobbering strerror on cygwin
38102         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
38103         fall back instead to sys_errlist.
38104         * modules/strerror (configure.ac): Add witness.
38105         * tests/test-strerror_r.c (main): Enhance test.
38106         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
38107         * tests/test-perror2.c (main): Free memory before exit.
38109 2011-05-21  Bruno Haible  <bruno@clisp.org>
38111         mkdtemp: Use gnulib naming conventions.
38112         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
38113         * modules/mkdtemp (configure.ac): Update.
38115 2011-05-20  Eric Blake  <eblake@redhat.com>
38117         strerror_r: avoid corrupting errno on Solaris
38118         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
38119         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
38121         strerror_r: avoid compiler warning
38122         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
38124         strerror_r: simplify AIX code
38125         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
38127         test-perror: avoid spurious failure on FreeBSD
38128         * modules/perror-tests (Depends-on): Add strerror, now that
38129         strerror_r no longer pulls it in.
38131 2011-05-20  Bruno Haible  <bruno@clisp.org>
38133         strerror_r-posix: Remove unused dependencies.
38134         * modules/strerror_r-posix (Depends-on): Remove strerror.
38135         Reported by Eric Blake.
38137 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
38139         intprops: remove assumption about A|B representation
38140         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
38141         is a valid integer if both A and B are.  Although this is true for
38142         all known practical hosts, the C standard doesn't guarantee it,
38143         and the code need not assume it.  Also, this change may work around
38144         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
38145         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00426.html>.
38147 2011-05-20  Eric Blake  <eblake@redhat.com>
38149         perror: work around FreeBSD bug
38150         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
38151         is broken.  Move AC_LIBOBJ...
38152         * modules/perror (configure.ac): Here.
38153         * doc/posix-functions/perror.texi (perror): Document this.
38154         * tests/test-perror2.c (main): Enhance test.
38156         test-perror: check for strerror interactions
38157         * tests/macros.h (STREQ): Add macro.
38158         * modules/perror-tests (Files): Add second test.
38159         * tests/test-perror2.c (main): New file.
38160         * doc/posix-functions/perror.texi (perror): Document glibc bug.
38162         test-perror: rewrite to use init script
38163         * modules/perror-tests (Files): Add init.sh.
38164         * tests/test-perror.sh: Use temporary directory.
38166 2011-05-20  Jim Meyering  <meyering@redhat.com>
38168         maint: replace misused "a" with "an"
38169         * doc/intprops.texi: "a integer"
38170         * doc/regex.texi: "a explanation"
38171         * lib/alignof.h: "a object"
38172         * lib/argmatch.h: "a explanation"
38173         * lib/argp-help.c: "a option" and "a OPTION_DOC"
38174         * lib/stdint.in.h: "a integer"
38175         * lib/userspec.c: "a owner"
38176         * doc/gnulib.texi: Fix "a idea", and reword.
38178 2011-05-19  Jim Meyering  <meyering@redhat.com>
38180         maint: correct misuse of "a" and "an"
38181         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
38182         * lib/argp-help.c: "an docum...": s/an/a/
38183         * lib/argp-parse.c: "An vector": s/An/A/
38184         * lib/execute.c: "an native": s/an/a/
38185         * lib/spawn-pipe.c: Likewise.
38186         * lib/gc.h: "an Gc_rc": s/an/a/
38187         * lib/unigbrk.in.h: "an grapheme": s/an/a/
38188         * lib/fts.c: "an stat.st_dev": s/an/a/
38190 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
38192         intprops-tests: work around HP-UX 11.23 cc bug with constants
38193         * tests/test-intprops.c (VERIFY): New macro.
38194         (main): Use it, instead of verify, to work around the compiler bug; see
38195         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
38197         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
38198         See http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html
38199         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
38200         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
38201         (_GL_REMAINDER_OVERFLOW): Use it.
38203         intprops-tests: revert unsigned part of previous change
38204         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
38205         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
38206         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
38207         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html>.
38209 2011-05-19  Bruno Haible  <bruno@clisp.org>
38211         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
38212         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
38213         strerror_r() returned without filling the buffer.
38214         Reported by Eric Blake.
38216 2011-05-19  Eric Blake  <eblake@redhat.com>
38218         strerror_r: guarantee unchanged errno
38219         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
38220         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
38221         failure.
38222         * tests/test-strerror_r.c (main): Enhance test.
38224 2011-05-19  Bruno Haible  <bruno@clisp.org>
38226         strerror_r: Reorder #if blocks.
38227         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
38228         for consistency with the previous commit.
38230 2011-05-19  Bruno Haible  <bruno@clisp.org>
38232         perror: Avoid clobbering the strerror buffer when possible.
38233         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
38234         * lib/strerror.c: Include it.
38235         * modules/strerror (Files): Add lib/strerror-impl.h.
38236         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
38237         (my_strerror): New function, defined through lib/strerror-impl.h.
38238         (perror): Use it instead of strerror.
38239         * modules/perror (Files): Add lib/strerror-impl.h.
38240         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
38242 2011-05-19  Eric Blake  <eblake@redhat.com>
38244         strerror_r: fix on newer cygwin
38245         * lib/strerror_r.c (strerror_r): Cygwin now has
38246         __xpg_strerror_r, use it.
38248 2011-05-19  Bruno Haible  <bruno@clisp.org>
38250         strerror_r: Avoid clobbering the strerror buffer when possible.
38251         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
38252         (sys_nerr, sys_errlist): New declarations.
38253         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
38254         HP-UX, native Win32, IRIX, and 32-bit Solaris.
38255         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
38257 2011-05-19  Bruno Haible  <bruno@clisp.org>
38259         strerror_r: Fix test failure on mingw.
38260         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
38261         EXTEND_STRERROR_R.
38262         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
38263         macros from errno.in.h instead.
38265 2011-05-19  Eric Blake  <eblake@redhat.com>
38267         strerror: relax test for Solaris
38268         * tests/test-strerror.c (main): Permit Solaris behavior.
38269         * tests/test-strerror_r.c (main): Likewise.
38271         strerror: enforce POSIX ruling on strerror(0)
38272         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
38273         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
38274         * lib/strerror_r.c (rpl_strerror_r): Work around it.
38275         * doc/posix-functions/strerror.texi (strerror): Document it.
38276         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
38277         * tests/test-strerror.c (main): Strengthen test.
38278         * tests/test-strerror_r.c (main): Likewise.
38280 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
38282         intprop-tests: port to older and more-pedantic compilers
38283         * modules/intprops-tests (Files): Add tests/macros.h.
38284         * tests/test-intprops.c: Include macros.h.
38285         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
38286         it's no longer documented to expand to an integer constant expression.
38287         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
38288         argument is floating point, as it's no longer documented to expand
38289         to an integer constant expression in that case.
38290         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
38291         compiler bugs reported by Bruno Haible.  See
38292         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
38293         (U0, U1): New constants, to work around the same bugs.  Also,
38294         in tests, use e.g., "(unsigned int) 39" rather than "39u".
38296         intprops: work around C compiler bugs
38297         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
38298         bug in Sun C 5.11 2010/08/13 and other compilers; see
38299         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
38301         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
38302         * doc/intprops.texi (Integer Type Determination): Fix
38303         documentation for TYPE_IS_INTEGER: it returns an constant
38304         expression, not an integer constant expression.  Fix doc for
38305         TYPE_SIGNED: it returns an integer constant expression only if its
38306         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
38307         hardly worth documented that way....)
38309 2011-05-18  Bruno Haible  <bruno@clisp.org>
38311         strerror_r: Avoid clobbering the strerror buffer when possible.
38312         * lib/strerror_r.c (strerror_r): Merge the three implementations.
38313         Handle gnulib defined errno values here. When strerror() returns NULL
38314         or an empty string, return EINVAL.
38315         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
38316         gnulib defined errno values here.
38317         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
38319 2011-05-18  Eric Blake  <eblake@redhat.com>
38321         fnmatch: avoid compiler warning
38322         * lib/fnmatch_loop.c (FCT): Use correct type.
38323         Reported by Matthias Bolte.
38325 2011-05-13  Jim Meyering  <meyering@redhat.com>
38327         maint.mk: three new prohibit_<HDR>_without_use rules
38328         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
38329         (sc_prohibit_stdio-safer_without_use): Likewise.
38330         (sc_prohibit_xfreopen_without_use): Likewise.
38332 2011-05-17  Jim Meyering  <meyering@redhat.com>
38334         announce-gen: fail if the NEWS delta is empty
38335         If there's nothing noteworthy in NEWS, then either you forgot
38336         or you shouldn't be releasing.
38337         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
38339 2011-05-17  Pádraig Brady  <P@draigBrady.com>
38341         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
38342         reserved symbols starting with double underscore from the check.
38344 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
38346         intprops: add doc
38347         * doc/intprops.texi: New file, documenting intprops.
38348         * doc/gnulib.texi (Particular Modules): Include it.
38350         verify: add doc to gnulib manual and fix example
38351         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
38352         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
38353         (Compile-time Assertions): Fix example so it can't overflow.
38355 2011-05-17  Jim Meyering  <meyering@redhat.com>
38357         warnings.m4: don't usurp save_CPPFLAGS variable name
38358         * m4/warnings.m4: Prefix local temporary variable name with gl_.
38360         doc: fix typo
38361         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
38363 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
38364             Bruno Haible  <bruno@clisp.org>
38366         doc: Tweak recent change.
38367         * README (Portability guidelines): Tweak new text.
38368         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
38369         Interix 6.1.
38371 2011-05-16  Eric Blake  <eblake@redhat.com>
38373         inttypes: avoid autoconf warning
38374         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
38375         * m4/stdint.m4 (gl_STDINT_H): Likewise.
38377 2011-05-16  Sam Steingold  <sds@gnu.org>
38378         and Eric Blake  <eblake@redhat.com>
38380         vc-list-files: accept multiple directory operands
38381         * build-aux/vc-list-files: Iterate over all remaining operands.
38383 2011-05-16  Bruno Haible  <bruno@clisp.org>
38385         Fix confusion regarding deprecated modules.
38386         * modules/calloc (Status, Notice): Mark module as deprecated, not
38387         obsolete.
38388         * modules/fnmatch-posix (Status, Notice): Likewise.
38389         * modules/getdate (Status, Notice): Likewise.
38390         * modules/getopt (Status, Notice): Likewise.
38391         * modules/malloc (Status, Notice): Likewise.
38392         * modules/pipe (Status, Notice): Likewise.
38393         * modules/realloc (Status, Notice): Likewise.
38394         * modules/rename-dest-slash (Status, Notice): Likewise.
38395         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
38396         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
38397         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
38398         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
38399         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
38401 2011-05-16  Bruno Haible  <bruno@clisp.org>
38403         doc: List the target platforms.
38404         * doc/gnulib-intro.texi (Target Platforms): New section.
38405         * doc/gnulib.texi (Introduction): Update menu.
38406         * README (Portability guidelines): Refer to the new section. Update
38407         statement about oldest supported environment. Remove rationale why
38408         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
38409         unportable C89 function.
38410         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
38411         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
38413 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
38415         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
38417 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
38419         intprops-tests: new module
38420         * modules/intprops-tests, tests/test-intprops.c: New files.
38422         intprops: add safe, portable integer overflow checking
38423         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
38424         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
38425         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
38426         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
38427         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
38428         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
38429         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
38430         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
38431         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
38432         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
38433         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
38435 2011-05-12  James Youngman  <jay@gnu.org>
38437         Add a test for glibc's Bugzilla bug #12378.
38438         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
38439         doesn't allow the literal matching of a lone "[" (which is
38440         required by POSIX).
38441         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
38443 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
38445         Sync glibc change fixing Bugzilla bug #12378.
38446         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
38447         beginning and fall back to matching as normal character if the
38448         string ends before the matching ']' is found.  This is what POSIX
38449         requires.
38451 2011-05-13  Eric Blake  <eblake@redhat.com>
38453         getcwd-lgpl: relax test for FreeBSD
38454         * doc/posix-functions/getcwd.texi (getcwd): Document portability
38455         issue.
38456         * tests/test-getcwd-lgpl.c (main): Relax test.
38457         Reported by Matthias Bolte.
38459 2011-05-11  Eric Blake  <eblake@redhat.com>
38461         test-fflush: silence compiler warning
38462         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
38464 2011-05-11  Bruno Haible  <bruno@clisp.org>
38466         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
38467         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
38468         * modules/canonicalize (Depends-on): Add 'nocrash'.
38469         * modules/canonicalize-lgpl (Depends-on): Likewise.
38470         * doc/posix-functions/realpath.texi: Update platforms list.
38471         Reported by Ryan Schmidt <ryandesign@macports.org>.
38473 2011-05-11  Bruno Haible  <bruno@clisp.org>
38475         group-member: Declare function in <unistd.h>.
38476         * lib/unistd.in.h (group_member): New declaration.
38477         * lib/group-member.h: Remove file.
38478         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
38479         * tests/test-unistd-c++.cc: Check signature of group_member.
38480         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
38481         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
38482         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
38483         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
38484         HAVE_GROUP_MEMBER.
38485         * modules/group-member (Files): Remove lib/group-member.h.
38486         (Depends-on): Add unistd. Specify conditions.
38487         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38488         (Include): Change to <unistd.h>.
38489         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
38490         HAVE_GROUP_MEMBER.
38491         * NEWS: Mention the change.
38492         * lib/euidaccess.c: Don't include group-member.h.
38494 2011-05-11  Bruno Haible  <bruno@clisp.org>
38496         group-member: Document module.
38497         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
38498         module.
38500 2011-05-11  Bruno Haible  <bruno@clisp.org>
38502         fclose: Fix mistake earlier today.
38503         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
38505 2011-05-11  Eric Blake  <eblake@redhat.com>
38507         fclose: preserve fflush errors
38508         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
38509         Reported by Jim Meyering.
38511         bootstrap: support a prereq of 'rpcgen -' on RHEL5
38512         * build-aux/bootstrap (check_versions): When no specific version
38513         is required, merely check that the app produces an exit status
38514         that indicates its existence.
38516         maint.mk: drop redundant check
38517         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
38518         the same but better.
38520 2011-05-11  Bruno Haible  <bruno@clisp.org>
38522         fclose: Fix possible link error.
38523         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
38524         unregister_shadow_fd. Improve comments.
38525         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
38526         Eric Blake.
38528 2011-05-11  Jim Meyering  <meyering@redhat.com>
38530         maint.mk: improve "can not" detection and generalize rule name
38531         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
38532         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
38533         Use the same technique as in sc_prohibit_doubled_word, so that
38534         we recognize "can not" also when the words are separated by a newline.
38535         Suggested by Eric Blake.
38536         (perl_filename_lineno_text_): Define.  Factored out of...
38537         (prohibit_doubled_word_): ...here.  Use the new definition.
38538         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
38539         (prohibit_undesirable_word_seq_RE_): New overridable variable.
38540         (ignore_undesirable_word_sequence_RE_): New overridable variable.
38542 2011-05-10  Eric Blake  <eblake@redhat.com>
38544         fclose: avoid double close race when possible
38545         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
38546         all but WINDOWS_SOCKETS.
38548 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
38550         openat: correct new comment
38551         * lib/openat-proc.c (openat_proc_name): Correct the comment.
38553 2011-05-10  Jim Meyering  <meyering@redhat.com>
38555         openat: add comments
38556         * lib/openat-proc.c (openat_proc_name): Add comments,
38557         mostly from Eric Blake.
38559 2011-05-09  Eric Blake  <eblake@redhat.com>
38561         openat: reduce syscalls in first probe of /proc
38562         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
38563         be a directory.  Simplify the probe for .. bugs.
38564         * modules/openat (Depends-on): Drop same-inode.
38565         Reported by Bastien ROUCARIES.
38567 2011-05-09  Jim Meyering  <meyering@redhat.com>
38569         maint.mk: change semantics/name of tight_scope variables
38570         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
38571         Rename variables to align with semantics that make them more useful.
38573         maint.mk: tweak new rule's name not to impinge
38574         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
38575         (sc_tight_scope): Use new rule name rather than $@-0.
38577         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
38578         * top/maint.mk (sc_tight_scope): New rule.
38579         (sc_tight_scope-0): New rule, ifdef'd out.
38580         (_gl_TS_dir): Default.
38581         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
38582         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
38584 2011-05-09  Simon Josefsson  <simon@josefsson.org>
38586         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
38587         Haible <bruno@clisp.org>.
38589 2011-05-08  Bruno Haible  <bruno@clisp.org>
38591         Comments.
38592         * m4/isnanf.m4: Add comment.
38593         * m4/isnanl.m4: Likewise.
38595 2011-05-08  Bruno Haible  <bruno@clisp.org>
38597         glob: Remove obsolete macro.
38598         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
38600 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
38602         intprops: Sun C 5.11 supports __typeof__
38603         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
38604         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
38605         which is new.
38606         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
38608         intprops: switch to usual gnulib indenting and naming
38609         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
38610         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
38612         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
38614 2011-05-08  Jim Meyering  <meyering@redhat.com>
38616         maint.mk: suppress "Entering/Leaving directory" diag in announcement
38617         * top/maint.mk (release-prep): Use make's --no-print-directory
38618         option when generating the announcement.  This eliminates the
38619         pesky "make[2]: Entering/Leaving directory" diagnostics in the
38620         generated announcement template.
38622 2011-05-08  Bruno Haible  <bruno@clisp.org>
38624         tzset: Fix gettimeofday wrapper on Solaris 2.6.
38625         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
38626         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
38628 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
38630         ignore-value, verify: Omit include files from lib_SOURCES.
38631         * modules/ignore-value, modules/verify (Makefile.am):
38632         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
38633         that leads Automake to duplicate use of am__objects_... variables
38634         in Makefile.in.  See
38635         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00257.html>.
38637 2011-05-07  Bruno Haible  <bruno@clisp.org>
38639         fclose: Simplify autoconf macro.
38640         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
38641         defined.
38643 2011-05-07  Bruno Haible  <bruno@clisp.org>
38645         canonicalize-lgpl: Fix autoconf macro ordering bug.
38646         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
38647         gl_STDLIB_H_DEFAULTS.
38649 2011-05-06  Eric Blake  <eblake@redhat.com>
38651         maintainer-makefile: make sc_po_check easier to tune
38652         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
38653         to probe for strings, such as an alternate location for gnulib.
38655         fclose: guarantee behavior on seekable stdin
38656         * modules/fclose (Depends-on): Add fflush.
38657         * doc/posix-functions/fclose.texi (fclose): Document this.
38658         * tests/test-fclose.c (main): Make test for this unconditional.
38660 2011-05-06  Bruno Haible  <bruno@clisp.org>
38662         fflush, fpurge: Relicense under LGPLv2+.
38663         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
38664         * modules/fpurge (License): Likewise.
38665         With permission from Eric Blake and Jim Meyering.
38666         Suggested by Eric Blake.
38668 2011-05-06  Karl Berry  <karl@gnu.org>
38670         * MODULES.html.sh (func_all_modules): remove exit.
38672 2011-05-06  Jim Meyering  <meyering@redhat.com>
38674         maint.mk: use info-gnu@ as the default only for a stable release
38675         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
38676         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
38677         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
38678         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
38680 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
38682         assert-h: new module, which supports C1X-style static_assert
38683         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
38684         * lib/verify.h: Revamp so that this can be copied into assert.h,
38685         while retaining the ability to use it standalone as before.
38686         Rename private identifiers so as not to encroach on the
38687         standard C namespace, since this is now used by assert.h.
38688         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
38689         the old verify_true.
38690         (_GL_VERIFY_TRUE): New macro, with much of the contents of
38691         the old verify_true.  Use _GL_VERIFY_TYPE.
38692         (_GL_VERIFY): New macro, with much of the contents of the old verify.
38693         (static_assert): New macro, if _GL_STATIC_ASSERT_H
38694         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
38695         defined when this file is copied into the replacement assert.h.
38696         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
38697         and _Static_assert is not built in.
38698         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
38699         defined, and use the new macros mentioned above.
38700         * doc/posix-headers/assert.texi: Document this.
38702 2011-05-05  Bruno Haible  <bruno@clisp.org>
38704         fclose, fflush: Respect rules for use of AC_LIBOBJ.
38705         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
38706         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
38707         gl_REPLACE_FCLOSE here.
38708         * modules/fflush (Depends-on): Remove fclose.
38709         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
38710         combination with module 'fclose'.
38712 2011-05-05  Bruno Haible  <bruno@clisp.org>
38714         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
38715         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
38716         gl_FUNC_FFLUSH.
38717         (gl_FUNC_FFLUSH): Use it.
38718         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
38719         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
38720         gl_REPLACE_FSEEKO here.
38722 2011-05-05  Bruno Haible  <bruno@clisp.org>
38724         tzset: Relicense under LGPL.
38725         * modules/tzset (License): Change to LGPL.
38726         No agreement needed; it's a no-op.
38728         strtoimax, strtoumax: Relicense under LGPL.
38729         * modules/strtoimax (License): Change to LGPL.
38730         * modules/strtoumax (License): Likewise.
38731         With permission from Jim Meyering, Paul Eggert:
38732         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00124.html>
38733         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00109.html>
38735         getgroups: Relicense under LGPL.
38736         * modules/getgroups (License): Change to LGPL.
38737         With permission from Jim Meyering, Paul Eggert, Eric Blake:
38738         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
38739         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
38740         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
38742         nanosleep: Relicense under LGPL.
38743         * modules/nanosleep (License): Change to LGPL.
38744         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
38745         Haible:
38746         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
38747         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
38748         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
38749         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
38751         futimens: Relicense under LGPL.
38752         * modules/futimens (License): Change to LGPL.
38753         With permission from Eric Blake:
38754         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
38756         fflush: Relicense under LGPL.
38757         * modules/fflush (License): Change to LGPL.
38758         With permission from Eric Blake, Bruno Haible, Jim Meyering:
38759         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
38760         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
38761         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00133.html>
38763         tmpfile: Relicense under LGPL.
38764         * modules/tmpfile (License): Change to LGPL.
38765         With permission from Ben Pfaff:
38766         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
38768         isfinite: Relicense under LGPL.
38769         * modules/isfinite (License): Change to LGPL.
38770         With permission from Ben Pfaff, Bruno Haible:
38771         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
38772         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00130.html>
38774         acosl..tanl: Relicense under LGPL.
38775         * modules/acosl (License): Change to LGPL.
38776         * modules/asinl (License): Likewise.
38777         * modules/atanl (License): Likewise.
38778         * modules/cosl (License): Likewise.
38779         * modules/expl (License): Likewise.
38780         * modules/logl (License): Likewise.
38781         * modules/sinl (License): Likewise.
38782         * modules/sqrtl (License): Likewise.
38783         * modules/tanl (License): Likewise.
38784         Source code originally from glibc and Paolo Bonzini. Agreements:
38785         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00137.html>
38786         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00128.html>
38788 2011-05-05  Bruno Haible  <bruno@clisp.org>
38790         signal: Define sighandler_t.
38791         * lib/signal.in.h (sighandler_t): New type.
38792         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
38793         whether sighandler_t is defined.
38794         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
38795         * modules/signal (Depends-on): Add extensions.
38796         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
38797         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
38798         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
38800 2011-05-05  Eric Blake  <eblake@redhat.com>
38802         maint: remove useless REPLACE_*_H macros
38803         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
38804         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
38805         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
38806         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
38807         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
38808         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
38809         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
38810         * m4/btowc.m4: Update callers.
38811         * m4/dirfd.m4: Likewise.
38812         * m4/duplocale.m4: Likewise.
38813         * m4/fchdir.m4: Likewise.
38814         * m4/fdopendir.m4: Likewise.
38815         * m4/inet_ntop.m4: Likewise.
38816         * m4/inet_pton.m4: Likewise.
38817         * m4/ioctl.m4: Likewise.
38818         * m4/mbrlen.m4: Likewise.
38819         * m4/mbrtowc.m4: Likewise.
38820         * m4/mbsinit.m4: Likewise.
38821         * m4/mbsnrtowcs.m4: Likewise.
38822         * m4/mbsrtowcs.m4: Likewise.
38823         * m4/poll.m4: Likewise.
38824         * m4/setlocale.m4: Likewise.
38825         * m4/wcrtomb.m4: Likewise.
38826         * m4/wcsnrtombs.m4: Likewise.
38827         * m4/wcsrtombs.m4: Likewise.
38828         * m4/wctob.m4: Likewise.
38829         * m4/wcwidth.m4: Likewise.
38830         * modules/posix_spawn: Likewise.
38831         * modules/posix_spawn_file_actions_addclose: Likewise.
38832         * modules/posix_spawn_file_actions_adddup2: Likewise.
38833         * modules/posix_spawn_file_actions_addopen: Likewise.
38834         * modules/posix_spawn_file_actions_destroy: Likewise.
38835         * modules/posix_spawn_file_actions_init: Likewise.
38836         * modules/posix_spawnattr_destroy: Likewise.
38837         * modules/posix_spawnattr_getflags: Likewise.
38838         * modules/posix_spawnattr_getpgroup: Likewise.
38839         * modules/posix_spawnattr_getschedparam: Likewise.
38840         * modules/posix_spawnattr_getschedpolicy: Likewise.
38841         * modules/posix_spawnattr_getsigdefault: Likewise.
38842         * modules/posix_spawnattr_getsigmask: Likewise.
38843         * modules/posix_spawnattr_init: Likewise.
38844         * modules/posix_spawnattr_setflags: Likewise.
38845         * modules/posix_spawnattr_setpgroup: Likewise.
38846         * modules/posix_spawnattr_setschedparam: Likewise.
38847         * modules/posix_spawnattr_setschedpolicy: Likewise.
38848         * modules/posix_spawnattr_setsigdefault: Likewise.
38849         * modules/posix_spawnattr_setsigmask: Likewise.
38850         * modules/posix_spawnp: Likewise.
38852 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
38854         Add option to do-release-commit-and-tag to specify branch.
38855         * build-aux/do-release-commit-and-tag: Add --branch.
38857 2011-05-03  Bruno Haible  <bruno@clisp.org>
38859         Avoid unnecessary compilation units, through conditional dependencies.
38860         * modules/accept (Depends-on): Add conditions to the dependencies.
38861         * modules/acosl (Depends-on): Likewise.
38862         * modules/argz (Depends-on): Likewise.
38863         * modules/asinl (Depends-on): Likewise.
38864         * modules/atanl (Depends-on): Likewise.
38865         * modules/atoll (Depends-on): Likewise.
38866         * modules/bind (Depends-on): Likewise.
38867         * modules/btowc (Depends-on): Likewise.
38868         * modules/canonicalize-lgpl (Depends-on): Likewise.
38869         * modules/ceil (Depends-on): Likewise.
38870         * modules/ceilf (Depends-on): Likewise.
38871         * modules/ceill (Depends-on): Likewise.
38872         * modules/chdir-long (Depends-on): Likewise.
38873         * modules/chown (Depends-on): Likewise.
38874         * modules/close (Depends-on): Likewise.
38875         * modules/connect (Depends-on): Likewise.
38876         * modules/cosl (Depends-on): Likewise.
38877         * modules/dirfd (Depends-on): Likewise.
38878         * modules/dprintf (Depends-on): Likewise.
38879         * modules/dprintf-posix (Depends-on): Likewise.
38880         * modules/error (Depends-on): Likewise.
38881         * modules/euidaccess (Depends-on): Likewise.
38882         * modules/expl (Depends-on): Likewise.
38883         * modules/faccessat (Depends-on): Likewise.
38884         * modules/fchdir (Depends-on): Likewise.
38885         * modules/fclose (Depends-on): Likewise.
38886         * modules/fcntl (Depends-on): Likewise.
38887         * modules/fdopendir (Depends-on): Likewise.
38888         * modules/fflush (Depends-on): Likewise.
38889         * modules/floor (Depends-on): Likewise.
38890         * modules/floorf (Depends-on): Likewise.
38891         * modules/floorl (Depends-on): Likewise.
38892         * modules/fnmatch (Depends-on): Likewise.
38893         * modules/fopen (Depends-on): Likewise.
38894         * modules/fprintf-posix (Depends-on): Likewise.
38895         * modules/frexp (Depends-on): Likewise.
38896         * modules/frexp-nolibm (Depends-on): Likewise.
38897         * modules/frexpl (Depends-on): Likewise.
38898         * modules/frexpl-nolibm (Depends-on): Likewise.
38899         * modules/fseek (Depends-on): Likewise.
38900         * modules/fsusage (Depends-on): Likewise.
38901         * modules/ftell (Depends-on): Likewise.
38902         * modules/ftello (Depends-on): Likewise.
38903         * modules/futimens (Depends-on): Likewise.
38904         * modules/getcwd (Depends-on): Likewise.
38905         * modules/getcwd-lgpl (Depends-on): Likewise.
38906         * modules/getdelim (Depends-on): Likewise.
38907         * modules/getdomainname (Depends-on): Likewise.
38908         * modules/getgroups (Depends-on): Likewise.
38909         * modules/gethostname (Depends-on): Likewise.
38910         * modules/getline (Depends-on): Likewise.
38911         * modules/getlogin_r (Depends-on): Likewise.
38912         * modules/getopt-posix (Depends-on): Likewise.
38913         * modules/getpeername (Depends-on): Likewise.
38914         * modules/getsockname (Depends-on): Likewise.
38915         * modules/getsockopt (Depends-on): Likewise.
38916         * modules/getsubopt (Depends-on): Likewise.
38917         * modules/getusershell (Depends-on): Likewise.
38918         * modules/glob (Depends-on): Likewise.
38919         * modules/grantpt (Depends-on): Likewise.
38920         * modules/iconv_open (Depends-on): Likewise.
38921         * modules/iconv_open-utf (Depends-on): Likewise.
38922         * modules/inet_ntop (Depends-on): Likewise.
38923         * modules/inet_pton (Depends-on): Likewise.
38924         * modules/ioctl (Depends-on): Likewise.
38925         * modules/isapipe (Depends-on): Likewise.
38926         * modules/isfinite (Depends-on): Likewise.
38927         * modules/isinf (Depends-on): Likewise.
38928         * modules/lchown (Depends-on): Likewise.
38929         * modules/ldexpl (Depends-on): Likewise.
38930         * modules/link (Depends-on): Likewise.
38931         * modules/linkat (Depends-on): Likewise.
38932         * modules/listen (Depends-on): Likewise.
38933         * modules/logl (Depends-on): Likewise.
38934         * modules/lstat (Depends-on): Likewise.
38935         * modules/mbrlen (Depends-on): Likewise.
38936         * modules/mbrtowc (Depends-on): Likewise.
38937         * modules/mbsinit (Depends-on): Likewise.
38938         * modules/mbsnrtowcs (Depends-on): Likewise.
38939         * modules/mbsrtowcs (Depends-on): Likewise.
38940         * modules/mbtowc (Depends-on): Likewise.
38941         * modules/memcmp (Depends-on): Likewise.
38942         * modules/mkdir (Depends-on): Likewise.
38943         * modules/mkdtemp (Depends-on): Likewise.
38944         * modules/mkfifo (Depends-on): Likewise.
38945         * modules/mkfifoat (Depends-on): Likewise.
38946         * modules/mknod (Depends-on): Likewise.
38947         * modules/mkostemp (Depends-on): Likewise.
38948         * modules/mkostemps (Depends-on): Likewise.
38949         * modules/mkstemp (Depends-on): Likewise.
38950         * modules/mkstemps (Depends-on): Likewise.
38951         * modules/mktime (Depends-on): Likewise.
38952         * modules/nanosleep (Depends-on): Likewise.
38953         * modules/open (Depends-on): Likewise.
38954         * modules/openat (Depends-on): Likewise.
38955         * modules/perror (Depends-on): Likewise.
38956         * modules/poll (Depends-on): Likewise.
38957         * modules/popen (Depends-on): Likewise.
38958         * modules/posix_spawn (Depends-on): Likewise.
38959         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
38960         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
38961         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
38962         * modules/posix_spawnp (Depends-on): Likewise.
38963         * modules/pread (Depends-on): Likewise.
38964         * modules/printf-posix (Depends-on): Likewise.
38965         * modules/ptsname (Depends-on): Likewise.
38966         * modules/putenv (Depends-on): Likewise.
38967         * modules/pwrite (Depends-on): Likewise.
38968         * modules/readline (Depends-on): Likewise.
38969         * modules/readlink (Depends-on): Likewise.
38970         * modules/readlinkat (Depends-on): Likewise.
38971         * modules/recv (Depends-on): Likewise.
38972         * modules/recvfrom (Depends-on): Likewise.
38973         * modules/regex (Depends-on): Likewise.
38974         * modules/remove (Depends-on): Likewise.
38975         * modules/rename (Depends-on): Likewise.
38976         * modules/renameat (Depends-on): Likewise.
38977         * modules/rmdir (Depends-on): Likewise.
38978         * modules/round (Depends-on): Likewise.
38979         * modules/roundf (Depends-on): Likewise.
38980         * modules/roundl (Depends-on): Likewise.
38981         * modules/rpmatch (Depends-on): Likewise.
38982         * modules/select (Depends-on): Likewise.
38983         * modules/send (Depends-on): Likewise.
38984         * modules/sendto (Depends-on): Likewise.
38985         * modules/setenv (Depends-on): Likewise.
38986         * modules/setlocale (Depends-on): Likewise.
38987         * modules/setsockopt (Depends-on): Likewise.
38988         * modules/shutdown (Depends-on): Likewise.
38989         * modules/sigaction (Depends-on): Likewise.
38990         * modules/signbit (Depends-on): Likewise.
38991         * modules/sigprocmask (Depends-on): Likewise.
38992         * modules/sinl (Depends-on): Likewise.
38993         * modules/sleep (Depends-on): Likewise.
38994         * modules/snprintf (Depends-on): Likewise.
38995         * modules/snprintf-posix (Depends-on): Likewise.
38996         * modules/socket (Depends-on): Likewise.
38997         * modules/sprintf-posix (Depends-on): Likewise.
38998         * modules/sqrtl (Depends-on): Likewise.
38999         * modules/stat (Depends-on): Likewise.
39000         * modules/strchrnul (Depends-on): Likewise.
39001         * modules/strdup-posix (Depends-on): Likewise.
39002         * modules/strerror (Depends-on): Likewise.
39003         * modules/strerror_r-posix (Depends-on): Likewise.
39004         * modules/strndup (Depends-on): Likewise.
39005         * modules/strnlen (Depends-on): Likewise.
39006         * modules/strptime (Depends-on): Likewise.
39007         * modules/strsep (Depends-on): Likewise.
39008         * modules/strsignal (Depends-on): Likewise.
39009         * modules/strstr-simple (Depends-on): Likewise.
39010         * modules/strtod (Depends-on): Likewise.
39011         * modules/strtoimax (Depends-on): Likewise.
39012         * modules/strtok_r (Depends-on): Likewise.
39013         * modules/strtoumax (Depends-on): Likewise.
39014         * modules/symlink (Depends-on): Likewise.
39015         * modules/symlinkat (Depends-on): Likewise.
39016         * modules/tanl (Depends-on): Likewise.
39017         * modules/tcgetsid (Depends-on): Likewise.
39018         * modules/tmpfile (Depends-on): Likewise.
39019         * modules/trunc (Depends-on): Likewise.
39020         * modules/truncf (Depends-on): Likewise.
39021         * modules/truncl (Depends-on): Likewise.
39022         * modules/uname (Depends-on): Likewise.
39023         * modules/unlink (Depends-on): Likewise.
39024         * modules/unlockpt (Depends-on): Likewise.
39025         * modules/unsetenv (Depends-on): Likewise.
39026         * modules/usleep (Depends-on): Likewise.
39027         * modules/utimensat (Depends-on): Likewise.
39028         * modules/vasprintf (Depends-on): Likewise.
39029         * modules/vdprintf (Depends-on): Likewise.
39030         * modules/vdprintf-posix (Depends-on): Likewise.
39031         * modules/vfprintf-posix (Depends-on): Likewise.
39032         * modules/vprintf-posix (Depends-on): Likewise.
39033         * modules/vsnprintf (Depends-on): Likewise.
39034         * modules/vsnprintf-posix (Depends-on): Likewise.
39035         * modules/vsprintf-posix (Depends-on): Likewise.
39036         * modules/wcrtomb (Depends-on): Likewise.
39037         * modules/wcscasecmp (Depends-on): Likewise.
39038         * modules/wcscspn (Depends-on): Likewise.
39039         * modules/wcsdup (Depends-on): Likewise.
39040         * modules/wcsncasecmp (Depends-on): Likewise.
39041         * modules/wcsnrtombs (Depends-on): Likewise.
39042         * modules/wcspbrk (Depends-on): Likewise.
39043         * modules/wcsrtombs (Depends-on): Likewise.
39044         * modules/wcsspn (Depends-on): Likewise.
39045         * modules/wcsstr (Depends-on): Likewise.
39046         * modules/wcstok (Depends-on): Likewise.
39047         * modules/wcswidth (Depends-on): Likewise.
39048         * modules/wctob (Depends-on): Likewise.
39049         * modules/wctomb (Depends-on): Likewise.
39050         * modules/wctype (Depends-on): Likewise.
39051         * modules/wcwidth (Depends-on): Likewise.
39052         * modules/write (Depends-on): Likewise.
39054 2011-05-03  Bruno Haible  <bruno@clisp.org>
39056         Support for conditional dependencies.
39057         * doc/gnulib.texi (Module description): Document the syntax of
39058         conditional dependencies.
39059         * gnulib-tool: New option --conditional-dependencies.
39060         (func_usage): Document it.
39061         (cond_dependencies): New variable.
39062         (func_get_automake_snippet_conditional,
39063         func_get_automake_snippet_unconditional): New functions, extracted from
39064         func_get_automake_snippet.
39065         (func_get_automake_snippet): Use them.
39066         (sed_first_32_chars): New variable.
39067         (func_module_shellfunc_name): New function.
39068         (func_module_shellvar_name): New function.
39069         (func_module_conditional_name): New function.
39070         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
39071         func_cond_module_condition): New functions.
39072         (func_modules_transitive_closure): Add support for conditional
39073         dependencies.
39074         (func_emit_lib_Makefile_am): For a conditional module, enclose the
39075         conditional automake snippet in an automake conditional.
39076         (func_emit_autoconf_snippets): Emit shell functions that contain the
39077         code for conditional modules.
39078         (func_import, func_create_testdir): Update specification.
39080 2011-05-03  Eric Blake  <eblake@redhat.com>
39082         test-getaddrinfo: report error information
39083         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
39085 2011-05-03  Jim Meyering  <meyering@redhat.com>
39087         bootstrap: avoid build failure when $GZIP is set
39088         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
39089         program name.  If defined at all, it is supposed to list gzip options.
39090         Reported by Alan Curry in http://debbugs.gnu.org/8609
39092 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
39094         readme-release: new module with release instructions
39095         * modules/readme-release: New module.
39096         * top/README-release: New file, from coreutils, grep, diffutils.
39097         * MODULES.html.sh (Support for maintaining and releasing): Add it.
39099 2011-05-02  Eric Blake  <eblake@redhat.com>
39101         fflush: also replace fclose when fixing fflush
39102         * modules/fflush (Depends-on): Add fclose.
39103         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
39104         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
39105         memstreams with no backing fd.
39106         * doc/posix-functions/fclose.texi (fclose): Document the use of
39107         fflush module to fix the bug.
39108         * tests/test-fclose.c (main): Relax test when fclose is used in
39109         isolation.
39111         fclose: add some tests
39112         * modules/fclose-tests: New test module.
39113         * tests/test-fclose.c: New file.
39114         * doc/posix-functions/fclose.texi (fclose): Document the bug.
39116         fclose: reduced dependencies
39117         * modules/fclose (Depends-on): Switch from fflush/fseeko to
39118         simpler lseek.
39119         * lib/fclose.c (rpl_fclose): Likewise.
39120         Reported by Simon Josefsson.
39122         exit: drop remaining clients
39123         * modules/argmatch (Depends-on): Replace exit with stdlib.
39124         * modules/copy-file (Depends-on): Likewise.
39125         * modules/execute (Depends-on): Likewise.
39126         * modules/exitfail (Depends-on): Likewise.
39127         * modules/obstack (Depends-on): Likewise.
39128         * modules/pagealign_alloc (Depends-on): Likewise.
39129         * modules/pipe-filter-gi (Depends-on): Likewise.
39130         * modules/pipe-filter-ii (Depends-on): Likewise.
39131         * modules/savewd (Depends-on): Likewise.
39132         * modules/spawn-pipe (Depends-on): Likewise.
39133         * modules/wait-process (Depends-on): Likewise.
39134         * modules/xsetenv (Depends-on): Likewise.
39135         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
39136         * modules/git-merge-changelog (Depends-on): Likewise.
39137         * modules/long-options (Depends-on): Likewise.
39138         * modules/pt_chown (Depends-on): Likewise.
39139         * modules/sysexits (Depends-on): Likewise.
39141         freading: relax license from LGPLv3+ to LGPLv2+
39142         * modules/freading (License): Relax LGPL version.
39144 2011-05-02  Bruno Haible  <bruno@clisp.org>
39146         fchdir: Remove unused dependencies.
39147         * modules/fchdir (Depends-on): Remove include_next.
39149 2011-05-02  Bruno Haible  <bruno@clisp.org>
39151         gnulib-tool: Refactor.
39152         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
39153         from func_emit_autoconf_snippets.
39154         (func_emit_autoconf_snippets): Use it.
39156 2011-05-02  Simon Josefsson  <simon@josefsson.org>
39158         * NEWS: Document removal of 'exit'.
39159         * modules/exit: Remove file.
39161 2011-05-01  Bruno Haible  <bruno@clisp.org>
39163         Update DEPENDENCIES.
39164         * DEPENDENCIES (gettext): Recommend the newest release.
39165         Reported by Simon Josefsson.
39167 2011-05-01  Bruno Haible  <bruno@clisp.org>
39169         gnulib-tool: Reduce code duplication.
39170         * gnulib-tool (func_emit_autoconf_snippets): New function.
39171         (func_import, func_create_testdir): Use it.
39173 2011-04-30  Eric Blake  <eblake@redhat.com>
39175         fclose: don't fail on non-seekable input stream
39176         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
39177         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
39178         since fflush is allowed to fail in that case.
39180 2011-04-30  Bruno Haible  <bruno@clisp.org>
39182         dup3: cleanup
39183         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
39185 2011-04-30  Bruno Haible  <bruno@clisp.org>
39187         netdb: Make it work in C++ mode.
39188         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
39189         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
39190         module.
39191         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
39192         gl_MODULE_INDICATOR_FOR_TESTS.
39193         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
39194         * modules/netdb-c++-tests: New file.
39195         * tests/test-netdb-c++.cc: New file.
39197 2011-04-30  Bruno Haible  <bruno@clisp.org>
39199         New modules 'vfscanf', 'vscanf'.
39200         * modules/vfscanf: New file.
39201         * modules/vscanf: New file.
39202         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
39203         here.
39204         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
39205         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
39207 2011-04-30  Bruno Haible  <bruno@clisp.org>
39209         passfd: Add comments.
39210         * lib/passfd.c: Add comments about platforms.
39212 2011-04-30  Bruno Haible  <bruno@clisp.org>
39214         sys_uio: Make <sys/uio.h> self-contained.
39215         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
39216         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
39218 2011-04-30  Bruno Haible  <bruno@clisp.org>
39220         sys_socket: Ensure 'struct iovec' definition.
39221         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
39222         <sys/socket.h>.
39223         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
39225 2011-04-30  Bruno Haible  <bruno@clisp.org>
39227         sys_uio: Protect definition of 'struct iovec'.
39228         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
39229         it as a C struct.
39231 2011-04-30  Bruno Haible  <bruno@clisp.org>
39233         manywarnings: fix indentation
39234         * m4/manywarnings.m4: Indent by 2 spaces consistently.
39236 2011-04-30  Pádraig Brady  <P@draigBrady.com>
39238         manywarnings: add -Wno-missing-field-initializers if needed.
39239         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
39240         option if it's needed to allow initialization with { 0, }
39242 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
39244         announce-gen: cosmetic improvement
39245         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
39247 2011-04-29  Jim Meyering  <meyering@redhat.com>
39249         vc-list-files: indent with spaces, not TABs
39250         * build-aux/vc-list-files: Convert leading TABs to spaces,
39251         to match the style of most other files in gnulib.
39253         announce-gen: indent with spaces, not TABs
39254         * build-aux/announce-gen: Convert all TABs to spaces, to match
39255         the style of most other files in gnulib.
39257 2011-04-29  Eric Blake  <eblake@redhat.com>
39259         quotearg: avoid uninitialized variable use
39260         * lib/quotearg.c (quoting_options_from_style): Initialize
39261         remaining fields, and ensure that custom styles are only used via
39262         quoting_options rather than quoting_style.
39264 2011-04-29  Jim Meyering  <meyering@redhat.com>
39266         maint.mk: remove unused VC-tag variable
39267         * top/maint.mk (VC-tag): Remove unused variable.
39269 2011-04-29  Bruno Haible  <bruno@clisp.org>
39271         netdb: fix gai_strerror replacements
39272         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
39273         * modules/netdb: Substitute it.
39275 2011-04-29  Jim Meyering  <meyering@redhat.com>
39277         test-getcwd.c: avoid new set-but-not-used warning
39278         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
39279         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
39280         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
39281         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
39283         test-hash.c: avoid a new shadowing warning
39284         * tests/test-hash.c (main): Don't shadow "dup".
39286 2011-04-28  Eric Blake  <eblake@redhat.com>
39288         getaddrinfo: fix gai_strerror signature
39289         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
39290         and work around mingw with UNICODE defined.
39291         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
39292         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
39293         * modules/netdb (Makefile.am): Substitute it.
39294         * lib/netdb.in.h (gai_strerror): Declare replacement.
39295         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
39296         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
39297         the fix.
39299         getsockopt: avoid compiler warning
39300         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
39301         Reported by Matthias Bolte.
39303         tests: drop unused link dependency
39304         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
39305         * modules/dirent-safer-tests (Makefile.am): Likewise.
39306         * modules/fdopendir-tests (Makefile.am): Likewise.
39307         * modules/mkfifoat-tests (Makefile.am): Likewise.
39308         * modules/openat-safer-tests (Makefile.am): Likewise.
39309         * modules/openat-tests (Makefile.am): Likewise.
39310         * modules/readlinkat-tests (Makefile.am): Likewise.
39311         * modules/symlinkat-tests (Makefile.am): Likewise.
39312         * modules/linkat-tests (Makefile.am): Likewise.
39313         (Depends-on): Switch to filenamecat-lgpl.
39314         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
39315         LIBINTL.
39316         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
39317         * tests/test-linkat.c (main): Don't require xalloc.
39319         hash, mgetgroups: drop xalloc dependency
39320         * lib/hash.c (includes): Adjust includes.
39321         * lib/mgetgroups.c (includes): Likewise.
39322         (xgetgroups): Move...
39323         * lib/xgetgroups.c: ...to new file.
39324         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
39325         * modules/xgetgroups: New file, split from...
39326         * modules/mgetgroups: ...here.
39327         (Depends-on): Add xalloc-oversized.
39328         * modules/hash (Depends-on): Likewise.
39329         * modules/hash-tests (Depends-on): Drop xalloc.
39330         (test_hash_LDADD): Drop unused library.
39331         * tests/test-hash.c (main): Break xalloc dependency.
39332         (includes): Drop unused include.
39334         xalloc-oversized: new module
39335         * modules/xalloc-oversized: New module.
39336         * modules/xalloc (Depends-on): Add it.
39337         * lib/xalloc.h (xalloc_oversized): Move...
39338         * lib/xalloc-oversized.h: ...into new file.
39340         utimecmp: drop dependency on xmalloc
39341         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
39342         due to memory pressure.
39343         * modules/utimecmp (Depends-on): Drop xalloc.
39345 2011-04-27  Eric Blake  <eblake@redhat.com>
39347         getcwd: fix mingw bugs
39348         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
39349         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
39350         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
39352 2011-04-27  Bruno Haible  <bruno@clisp.org>
39354         mkstemps: Ensure declaration on MacOS X 10.5.
39355         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
39356         * doc/glibc-functions/mkstemps.texi: Document header file problem on
39357         MacOS X.
39359 2011-04-27  Bruno Haible  <bruno@clisp.org>
39361         mkstemp: More documentation.
39362         * doc/posix-functions/mkstemp.texi: Document header file problem on
39363         MacOS X.
39365 2011-04-27  Bruno Haible  <bruno@clisp.org>
39367         mkstemp: Tweak configure message when cross-compiling.
39368         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
39369         result as a guess.
39371 2011-04-27  Bruno Haible  <bruno@clisp.org>
39373         clean-temp: Clarify what it does.
39374         * lib/clean-temp.h: Add more comments.
39375         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
39376         module.
39377         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
39378         * doc/glibc-functions/mkstemps.texi: Likewise.
39379         * doc/glibc-functions/mkostemps.texi: Likewise.
39381 2011-04-27  Eric Blake  <eblake@redhat.com>
39383         fchdir: avoid extra chdir and fix test
39384         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
39385         getcwd-lgpl.
39386         * lib/fchdir.c (get_name): Any absolute name will do; it does not
39387         have to be canonical.
39388         (canonicalize_file_name): Drop unused macro.
39389         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
39391         filenamecat-lgpl: fix licence
39392         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
39393         when it was first created.
39395         linkat, renameat: add missing dependency
39396         * modules/linkat (Depends-on): Require getcwd-lgpl.
39397         * modules/renameat (Depends-on): Likewise.
39399         tests: reduce dependencies
39400         * tests/test-linkat.c (main): Use lighter-weight getcwd.
39401         * tests/test-renameat.c (main): Likewise.
39402         * modules/linkat-tests (Depends-on): Relax dependency.
39403         * modules/renameat-tests (Depends-on): Likewise.
39404         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
39405         dependency explicit.
39407         save-cwd: reduce default dependency
39408         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
39409         * lib/save-cwd.c: Update comments.
39410         * NEWS: Document the semantic change.
39412         getcwd: enhance tests
39413         * tests/test-getcwd-lgpl.c: New file, taken from...
39414         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
39415         repeat long path stress tests from m4 probe.
39416         * modules/getcwd-lgpl-tests: New module.
39417         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
39418         * m4/getcwd-abort-bug.m4: Update comment.
39419         * m4/getcwd-path-max.m4: Likewise.
39421         getcwd-lgpl: new module
39422         * modules/getcwd-lgpl: New module.
39423         * lib/getcwd-lgpl.c: New file.
39424         * doc/posix-functions/getcwd.texi (getcwd): Document it.
39425         * MODULES.html.sh (lacking POSIX:2008): Likewise.
39426         * modules/getcwd (configure.ac): Set C witness.
39427         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
39429         getcwd: tweak comments
39430         * m4/getcwd-abort-bug.m4: Fix comments.
39431         * m4/getcwd-path-max.m4: Likewise.
39432         * m4/getcwd.m4: Likewise.
39434 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
39435         and Eric Blake  <eblake@redhat.com>
39437         mkstemp: replace if system version uses wrong permissions
39438         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
39439         read/write mode bits set in file created by mkstemp.
39440         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
39442 2011-04-27  Eric Blake  <eblake@redhat.com>
39444         passfd: avoid compiler warning
39445         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
39446         Reported by Laine Stump.
39448 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
39450         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
39451         required by the NetBSD (and perhaps other 4.4BSD derived) join.
39453 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
39454         and Eric Blake  <eblake@redhat.com>
39456         mkstemp: mention clean-temp module
39457         * lib/mkstemp.c: Add comment.
39458         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
39460 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
39462         inttypes: also provide default values for 32-bit tests
39463         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
39464         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
39466 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
39468         strtoumax: remove dependency on strtoimax
39469         This is like the strtoull change of yesterday.
39470         * modules/strtoumax (Files): Add lib/strtoimax.c.
39471         (Depends-on): Remove strtoimax and add verify.
39473         inttypes-incomplete: new module
39474         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
39475         all but the PRI* and SCN* parts of gl_INTTYPES_H.
39476         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
39477         of gl_INTTYPES_H.
39478         (gl_INTTYPES_H): Rewrite in terms of these new macros.
39479         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
39480         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
39481         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
39482         * modules/strtoumax, modules/xstrtol (Depends-on):
39483         Depend on inttypes-incomplete, not inttypes.
39484         * modules/inttypes-incomplete: New module, containing the contents
39485         of the old modules/inttypes module, except that the Files: section
39486         omits m4/inttypes-pri.m4, and the configure.ac section invokes
39487         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
39488         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
39489         (Depends-on): Depend only on inttypes-incomplete.
39490         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
39492         inttypes: omit now-redundant strtoimax and strtoumax work
39493         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
39494         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
39496         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
39497         This supports apps that need pointers to strtoimax and strtoumax,
39498         and ports to HP-UX 11.00 64.bit, which has macros that expand to
39499         nonexistent functions.  See
39500         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00241.html>
39501         et seq.
39502         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
39503         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
39504         a macro.
39505         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
39507 2011-04-25  Simon Josefsson  <simon@josefsson.org>
39509         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
39511 2011-04-25  Bruno Haible  <bruno@clisp.org>
39513         strtol, strtoul: Mark modules as obsolete.
39514         * modules/strtol (Status, Notice): New sections.
39515         * modules/strtoul (Status, Notice): New sections.
39517 2011-04-25  Bruno Haible  <bruno@clisp.org>
39519         strtod: Remove check for strtod, unless supporting old platforms.
39520         * modules/strtod-obsolete: New file.
39521         * m4/strtod-obsolete.m4: New file.
39522         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
39523         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
39524         * modules/strtod (Depends-on): Add strtod-obsolete.
39525         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
39527 2011-04-25  Bruno Haible  <bruno@clisp.org>
39529         strcase: Make module obsolete.
39530         * modules/strcase (Status, Notice): New sections.
39532 2011-04-25  Bruno Haible  <bruno@clisp.org>
39534         dup2: Remove check for dup2, unless supporting old obsolete platforms.
39535         * modules/dup2-obsolete: New file.
39536         * m4/dup2-obsolete.m4: New file.
39537         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
39538         gl_FUNC_DUP2_OBSOLETE is not also defined.
39539         * modules/dup2 (Depends-on): Add dup2-obsolete.
39540         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
39542 2011-04-25  Bruno Haible  <bruno@clisp.org>
39544         strnlen: Avoid memchr related link error on old obsolete platforms.
39545         * modules/memchr-obsolete: New file.
39546         * m4/memchr-obsolete.m4: New file.
39547         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
39548         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
39549         * modules/memchr (Depends-on): Add memchr-obsolete.
39550         * modules/strnlen (Depends-on): Likewise.
39551         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
39553 2011-04-25  Jim Meyering  <meyering@redhat.com>
39555         maint.mk: makefile_at_at_check extend and clean up
39556         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
39557         in addition to */Makefile.am.
39558         Exempt legitimate uses of @VAR@ notation, e.g.,
39559         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
39560         Remove obsolete coreutils-specific comment.
39561         Prompted by discussion here:
39562         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
39564 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
39566         strtoul: remove dependency on strtol
39567         This is so that 'configure' need not check for strtol merely because
39568         the application needs strtoul.
39569         * modules/strtoul (Files): Add lib/strtol.c.
39570         (Depends-on): Remove strtol.
39572         strtoull: remove dependency on strtoul
39573         This is like the strtoll change.
39574         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
39575         (Depends-on): Remove strtoul.
39577         strtoll: remove dependency on strtol
39578         This is so that 'configure' need not check for strtol merely because
39579         the application needs strtoll.
39580         * modules/strtoll (Files): Add lib/strtol.c.
39581         (Depends-on): Remove strtol.
39583 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
39585         inttypes: Move some configure check to module 'imaxdiv'.
39586         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
39587         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
39588         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
39590 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
39592         inttypes: Move some configure check to module 'imaxabs'.
39593         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
39594         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
39595         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
39597 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
39599         inttypes: Remove configure tests that are not needed since 2009-12-31.
39600         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
39601         gl_cv_header_working_inttypes_h.
39603 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
39605         * modules/strnlen (Depends-on): Remove memchr.
39606         The strnlen implementation doesn't need the memchr module's fixes; see
39607         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00237.html>.
39609         strtol: remove dependency on wchar
39610         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
39611         * modules/strtol (Depends-on): Remove wchar.
39613 2011-04-21  Eric Blake  <eblake@redhat.com>
39615         passfd: fix test regression on Linux
39616         * modules/passfd-tests (configure.ac): Correct socketpair check.
39618         passfd: speed up configure and drop unused code
39619         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
39620         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
39621         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
39622         Instead of probing at configure for unix_scm_rights_bsd44_way,
39623         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
39624         check to a struct member probe.
39625         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
39626         (sendfd, recvfd): Update preprocessor checks.
39627         * modules/passfd (Files): Reflect rename, and drop unused file.
39628         (Depends-on): Drop unused dependency.
39630         passfd: allow compilation on mingw
39631         * modules/sys_socket (Depends-on): Add sys_uio.
39632         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
39633         iovec and a minimal struct msghdr.
39634         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
39635         * tests/test-sys_socket.c (main): Enhance test.
39636         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
39637         guaranteed to provide what we need.
39638         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
39639         * modules/passfd-tests (Depends-on): Add sys_wait.
39640         * tests/test-passfd.c (main): Skip test on mingw, for now.
39641         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
39642         partial 'struct msghdr' implementation.
39644         sys_uio: new module
39645         * modules/sys_uio: New module.
39646         * modules/sys_uio-tests: Likewise.
39647         * lib/sys_uio.in.h: New file.
39648         * m4/sys_uio_h.m4: Likewise.
39649         * tests/test-sys_uio.c: Likewise.
39650         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
39651         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
39653 2011-04-20  Jim Meyering  <meyering@redhat.com>
39655         useless-if-before-free: avoid false-positive
39656         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
39657         disjunct so that it too requires a terminating ";".  Without that,
39658         this script would identify as useless one statement from gcc that
39659         was not:
39660           if (aligned_ptr)
39661             free (((void **) aligned_ptr) [-1]);
39663 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
39665         doc: update users.txt.
39666         * users.txt: Add barcode.
39668 2011-04-19  Bruno Haible  <bruno@clisp.org>
39670         ioctl: Remove link dependency on native Windows.
39671         * lib/fd-hook.h: Renamed from lib/close-hook.h.
39672         (gl_close_fn, gl_ioctl_fn): New types.
39673         (struct fd_hook): Renamed from struct close_hook. Change type of
39674         private_close_fn field. Add private_ioctl_fn field.
39675         (close_hook_fn): Add parameter for primary close method.
39676         (execute_close_hooks, execute_all_close_hooks): Likewise.
39677         (ioctl_hook_fn): New type.
39678         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
39679         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
39680         argument.
39681         (unregister_fd_hook): Renamed from unregister_close_hook.
39682         * lib/fd-hook.c: Renamed from lib/close-hook.c.
39683         Don't include <unistd.h>.
39684         (close): Remove undef.
39685         (anchor): Update.
39686         (execute_close_hooks): Add argument for primary close method.
39687         (execute_all_close_hooks): Likewise.
39688         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
39689         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
39690         argument. Allow each argument to be NULL.
39691         (unregister_fd_hook): Renamed from unregister_close_hook.
39692         * lib/close.c (rpl_close): Pass 'close' function pointer to
39693         execute_all_close_hooks.
39694         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
39695         (primary_ioctl): New function.
39696         (ioctl): Don't call ioctlsocket here. Instead, call
39697         execute_all_ioctl_hooks.
39698         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
39699         close method.
39700         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
39701         (fd_sockets_hook): Renamed from close_sockets_hook.
39702         (gl_sockets_startup, gl_sockets_cleanup): Update.
39703         * modules/fd-hook: Renamed from modules/close-hook. Update.
39704         * modules/close (Depends-on): Add fd-hook, remove close-hook.
39705         * modules/sockets (Depends-on): Likewise.
39706         * modules/ioctl (Depends-on): Add fd-hook.
39707         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
39708         GNULIB_SOCKET.
39710 2011-04-19  Bruno Haible  <bruno@clisp.org>
39712         Move the support of O_NONBLOCK in open() to the 'open' module.
39713         * modules/nonblocking (Depends-on): Remove 'open'.
39714         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
39715         gl_cv_have_open_O_NONBLOCK.
39716         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
39717         O_NONBLOCK support.
39718         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
39720 2011-04-17  Bruno Haible  <bruno@clisp.org>
39722         pipe2: Simplify code.
39723         * lib/pipe2.c (pipe2): Reduce code duplication.
39725 2011-04-17  Bruno Haible  <bruno@clisp.org>
39727         nonblocking: Add comment.
39728         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
39730 2011-04-17  Bruno Haible  <bruno@clisp.org>
39732         nonblocking: Add tests for sockets.
39733         * tests/test-nonblocking-socket.sh: New file.
39734         * tests/test-nonblocking-socket-main.c: New file.
39735         * tests/test-nonblocking-socket-child.c: New file.
39736         * tests/test-nonblocking-socket.h: New file.
39737         * tests/socket-server.h: New file.
39738         * tests/socket-client.h: New file.
39739         * modules/nonblocking-socket-tests: New file.
39740         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
39742 2011-04-17  Bruno Haible  <bruno@clisp.org>
39744         nonblocking: Add tests for pipes.
39745         * tests/test-nonblocking-pipe.sh: New file.
39746         * tests/test-nonblocking-pipe-main.c: New file.
39747         * tests/test-nonblocking-pipe-child.c: New file.
39748         * tests/test-nonblocking-pipe.h: New file.
39749         * tests/test-nonblocking-writer.h: New file.
39750         * tests/test-nonblocking-reader.h: New file.
39751         * tests/test-nonblocking-misc.h: New file.
39752         * modules/nonblocking-pipe-tests: New file.
39753         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
39755 2011-04-16  Bruno Haible  <bruno@clisp.org>
39757         gettext: Clarify the needed programmer actions.
39758         * modules/gettext (Notice): New field.
39759         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
39761 2011-04-16  Bruno Haible  <bruno@clisp.org>
39763         strchrnul: Tweak last commit.
39764         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
39765         bug.
39766         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
39767         as in _GL_FUNCDECL_SYS.
39768         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
39769         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
39771 2011-04-15  Eric Blake  <eblake@redhat.com>
39773         strchrnul: work around cygwin bug
39774         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
39775         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
39776         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
39777         * modules/string (Makefile.am): Substitute it.
39778         * lib/string.in.h (strchrnul): Use it.
39780 2011-04-15  Bruno Haible  <bruno@clisp.org>
39782         Don't require lib/stdio-write.c when only module 'stdio' is used.
39783         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
39784         invocation.
39785         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
39787 2011-04-14  Bruno Haible  <bruno@clisp.org>
39789         Support non-blocking pipe I/O in read() on native Windows.
39790         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
39791         (read): New declaration.
39792         * lib/read.c: New file.
39793         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
39794         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
39795         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
39796         vscanf): New declarations.
39797         * lib/stdio-read.c: New file.
39798         * m4/read.m4: New file.
39799         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
39800         REPLACE_READ.
39801         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
39802         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
39803         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
39804         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
39805         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
39806         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
39807         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
39808         * modules/read: New file.
39809         * modules/nonblocking (Files): Add lib/stdio-read.c.
39810         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
39811         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
39812         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
39813         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
39814         * modules/pread (Depends-on): Add read.
39815         * modules/safe-read (Depends-on): Likewise.
39816         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
39817         gets, scanf, vfscanf, vscanf): Verify signatures.
39818         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
39819         problem with non-blocking pipes.
39820         * doc/posix-functions/fgetc.texi: Likewise.
39821         * doc/posix-functions/fgets.texi: Likewise.
39822         * doc/posix-functions/fread.texi: Likewise.
39823         * doc/posix-functions/fscanf.texi: Likewise.
39824         * doc/posix-functions/getc.texi: Likewise.
39825         * doc/posix-functions/getchar.texi: Likewise.
39826         * doc/posix-functions/gets.texi: Likewise.
39827         * doc/posix-functions/scanf.texi: Likewise.
39828         * doc/posix-functions/vfscanf.texi: Likewise.
39829         * doc/posix-functions/vscanf.texi: Likewise.
39831 2011-04-14  Bruno Haible  <bruno@clisp.org>
39833         Support non-blocking pipe I/O in write() on native Windows.
39834         * lib/write.c (rpl_write): Split a write request that failed merely
39835         because the byte count was larger than the pipe buffer's size.
39836         * doc/posix-functions/write.texi: Mention the problem with large byte
39837         counts.
39839 2011-04-14  Bruno Haible  <bruno@clisp.org>
39841         wchar: Ensure that wchar_t gets defined on uClibc.
39842         * lib/wchar.in.h: On uClibc, include <stddef.h>.
39843         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
39845 2011-04-13  Bruno Haible  <bruno@clisp.org>
39847         safe-write, full-read: Avoid unnecessary compilation units.
39848         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
39849         (Depends-on): Remove safe-read. Add ssize_t.
39850         * modules/full-read (Files): Add lib/full-write.c.
39851         (Depends-on): Add full-write.
39853 2011-04-13  Bruno Haible  <bruno@clisp.org>
39855         Support non-blocking pipe I/O and SIGPIPE in pwrite().
39856         * modules/pwrite (Depends-on): Add 'write'.
39858 2011-04-13  Bruno Haible  <bruno@clisp.org>
39860         Support non-blocking pipe I/O in write() on native Windows.
39861         * lib/unistd.in.h (write): Enable replacement also if
39862         GNULIB_UNISTD_H_NONBLOCKING is 1.
39863         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
39864         (rpl_write): When failing to write on a non-blocking pipe, change
39865         errno from ENOSPC to EAGAIN.
39866         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
39867         putchar, puts, vfprintf, vprintf): Enable replacement also if
39868         GNULIB_STDIO_H_NONBLOCKING is 1.
39869         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
39870         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
39871         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
39872         CALL_WITH_SIGPIPE_EMULATION.
39873         (CALL_WITH_SIGPIPE_EMULATION): Use them.
39874         * m4/nonblocking.m4: New file.
39875         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
39876         for non-blocking I/O support.
39877         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
39878         GNULIB_UNISTD_H_NONBLOCKING.
39879         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
39880         required for non-blocking I/O support.
39881         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
39882         * modules/nonblocking (Files): Add m4/nonblocking.m4,
39883         lib/stdio-write.c, m4/asm-underscore.m4.
39884         (Depends-on): Add stdio, unistd.
39885         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
39886         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
39887         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
39888         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
39889         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
39890         problem with non-blocking pipes.
39891         * doc/posix-functions/fputc.texi: Likewise.
39892         * doc/posix-functions/fputs.texi: Likewise.
39893         * doc/posix-functions/fwrite.texi: Likewise.
39894         * doc/posix-functions/printf.texi: Likewise.
39895         * doc/posix-functions/putc.texi: Likewise.
39896         * doc/posix-functions/putchar.texi: Likewise.
39897         * doc/posix-functions/puts.texi: Likewise.
39898         * doc/posix-functions/vfprintf.texi: Likewise.
39899         * doc/posix-functions/vprintf.texi: Likewise.
39900         * doc/posix-functions/write.texi: Likewise.
39902 2011-04-10  Jim Meyering  <meyering@redhat.com>
39904         maint.mk: prohibit doubled words
39905         Detect them also when they're separated by a newline.
39906         There are 3 ways to customize it:
39907           - disable the test on a per file basis, as usual with rules using
39908             $(VC_LIST_EXCEPT)
39909           - replace the default doubled-word-selecting regexp (affects all files)
39910           - ignore a particular file-vs-doubled-word match
39911         I nearly used that last one to ignore the "is is" match in
39912         coreutils' NEWS file, since the text was "ls -is is ..."
39913         To do that, I would have added this line to cfg.mk:
39914           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
39915         but it would have ignored any "is is" match in NEWS.
39916         Low probability, but still...
39917         Instead, I changed the text, slightly:
39918           -  ls -is is now consistent with ls -lis in ignoring values returned
39919           +  "ls -is" is now consistent with ls -lis in ignoring values returned
39920         * top/maint.mk (prohibit_double_word_RE_): Provide default.
39921         (prohibit_doubled_word_): Define.
39922         (sc_prohibit_doubled_word): New rule.
39923         (sc_prohibit_the_the): Remove.  Subsumed by the above.
39925 2011-04-10  Jim Meyering  <meyering@redhat.com>
39927         maint: fix doubled-word typo in comment
39928         * m4/gethostname.m4: s/is is/it is/
39929         * m4/getdomainname.m4: Likewise.
39931 2011-04-10  Jim Meyering  <meyering@redhat.com>
39933         maint: remove doubled word: s/it it/it/
39934         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
39936 2011-04-10  Jim Meyering  <meyering@redhat.com>
39938         maint.mk: remove useless semicolon and backslash
39939         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
39940         semicolon and backslash.
39942 2011-04-10  Bruno Haible  <bruno@clisp.org>
39944         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
39945         * modules/stdint-tests (Depends-on): Add wchar.
39947 2011-04-10  Jim Meyering  <meyering@redhat.com>
39949         maint: remove doubled words in comments, e.g., s/a a/a/
39950         * lib/strptime.c (day_of_the_week): s/the the/the/
39951         * tests/test-chown.h (test_chown): s/a a/a/
39953         test-chown.h: correct a cast
39954         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
39955         when the destination is a stat.st_gid.
39957 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
39959         getaddrinfo: Fix test for sa_len member.
39960         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
39961         include <sys/types.h> before <sys/socket.h>.
39963 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
39965         maint: change "can not" to "cannot"
39966         * doc/posix-functions/iconv.texi (iconv): This one crossed line
39967         boundaries.
39969 2011-04-09  Jim Meyering  <meyering@redhat.com>
39971         maint: change "a a" to "a"
39972         * tests/test-lchown.h (test_lchown): s/a a/a/
39974         maint.mk: prohibit \<the the\>
39975         * top/maint.mk (sc_prohibit_the_the): New rule.
39977         maint: fix "the the" in comment
39978         * lib/count-one-bits.h: s/the the/the/
39980         maint: change "can not" to "cannot"
39981         But do not change the occurrences in maintain.texi or in
39982         build-aux/po/Makefile.in.in, which I presume comes from gettext.
39983         * doc/gnulib-tool.texi: s/can not/cannot/
39984         * doc/posix-functions/accept.texi (accept): Likewise.
39985         * doc/posix-functions/socket.texi (socket): Likewise.
39986         * lib/mbrtowc.c: Likewise.
39988         maint.mk: prohibit use of "can not"
39989         * top/maint.mk (sc_prohibit_can_not): New rule.
39990         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
39992 2011-04-09  Bruno Haible  <bruno@clisp.org>
39994         careadlinkat: Guard against misuse of careadlinkatcwd.
39995         * lib/careadlinkat.c: Include <stdlib.h>.
39996         (careadlinkatcwd): Check that the fd argument is as expected.
39998 2011-04-09  Bruno Haible  <bruno@clisp.org>
40000         careadlinkat: Use common coding style.
40001         * lib/careadlinkat.c: Move gnulib includes after system includes.
40003 2011-04-09  Bruno Haible  <bruno@clisp.org>
40005         careadlinkat: Clarify specification.
40006         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
40007         (careadlinkatcwd): Add comment.
40008         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
40010 2011-04-09  Bruno Haible  <bruno@clisp.org>
40012         areadlinkat: Avoid link error on many platforms.
40013         * modules/areadlinkat (Depends-on): Add areadlink.
40015 2011-04-09  Bruno Haible  <bruno@clisp.org>
40017         allocator, careadlinkat: Fix double-inclusion guard.
40018         * lib/allocator.h: Fix double-inclusion guard.
40019         * lib/careadlinkat.h: Likewise.
40021 2011-04-09  Bruno Haible  <bruno@clisp.org>
40023         relocatable-prog-wrapper: Update after module 'areadlink' changed.
40024         * lib/relocwrapper.c: Update dependencies hierarchy.
40025         * build-aux/install-reloc: Update list of files to be compiled.
40026         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
40027         lib/allocator.[hc].
40029 2011-04-08  Eric Blake  <eblake@redhat.com>
40031         strftime: silence gnulib-tool warning
40032         * modules/strftime-tests (Depends-on): Drop automatic dependency.
40034 2011-04-08  Bruno Haible  <bruno@clisp.org>
40036         verify: Fix syntax error with GCC 4.6 in C++ mode.
40037         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
40038         (HAVE_STATIC_ASSERT): New macro.
40039         (verify_true, verify): Use 'static_assert' if it is supported and
40040         '_Static_assert' is not supported.
40042 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
40044         allocator: New module.
40045         * modules/allocator, lib/allocator.c: New files.
40046         * lib/allocator.h (stdlib_allocator): New decl.
40047         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
40048         Remove.  Do not include <stdlib.h>.
40049         (careadlinkat): Use stdlib_allocator instead of rolling our own.
40050         * modules/careadlinkat (Files): Remove lib/allocator.h.
40051         (Depends-on): Add allocator.
40053         stdlib: let modules use system malloc, realloc
40054         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
40055         if !_GL_USE_STDLIB_ALLOC.
40056         (malloc, realloc): Limit this change to a smaller scope.
40058         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
40059         (malloc, realloc): Don't #undef; no longer needed.
40060         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
40061         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
40062         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
40063         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
40064         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
40065         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
40066         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
40067         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
40069         careadlinkat: rename members to avoid problem
40070         * lib/allocator.h (struct allocator): Rename members from
40071         malloc/realloc to allocate/reallocate, to avoid problems if malloc
40072         and realloc are #define'd.  Reported by Eric Blake in
40073         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00091.html>.
40074         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
40076 2011-04-08  Eric Blake  <eblake@redhat.com>
40078         nonblocking: reduce dependency
40079         * tests/test-nonblocking.c: Only test sockets when in use.
40080         * modules/nonblocking-tests (Depends-on): Drop socket.
40081         (Makefile.am): Link even if sockets are not present.
40082         * modules/pipe2-tests (Makefile.am): Likewise.
40083         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
40085         pipe2: fix O_NONBLOCK support on mingw
40086         * modules/pipe2 (Depends-on): Add nonblocking.
40087         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
40088         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
40089         * tests/test-nonblocking.c (main): Likewise.
40090         * modules/pipe2-tests (Makefile.am): Avoid link failure.
40092         fcntl-h: fix O_ACCMODE on cygwin
40093         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
40094         * lib/fcntl.in.h (O_ACCMODE): Fix it.
40096         pipe-filter: drop O_NONBLOCK workarounds
40097         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
40098         * modules/pipe-filter-ii (Depends-on): Likewise.
40099         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
40101         nonblocking: provide O_NONBLOCK for mingw
40102         * modules/nonblocking (Depends-on): Add open.
40103         (configure.ac): Set new witness macro.
40104         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
40105         * modules/fcntl-h (Makefile.am): Substitute it.
40106         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
40107         nonblocking module is in use.
40108         * lib/nonblocking.c: Adjust portability test.
40109         * lib/open.c (open): Don't let native open see gnulib flag.
40110         * tests/test-fcntl-h.c (main): Enhance test.
40111         * tests/test-open.h (test_open): Likewise.
40112         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
40114         careadlinkat: fix compilation error on mingw
40115         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
40116         within struct allocator.
40118 2011-04-06  Eric Blake  <eblake@redhat.com>
40120         binary-io: relicense under LGPLv2+
40121         * modules/binary-io (License): Relax to LGPLv2+.
40122         Requested for libvirt, and required by pipe2.
40124 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
40126         verify: use _Static_assert if available
40127         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
40128         (verify_true, verify): Use it if available.  This generates better
40129         diagnostics with GCC 4.6.0 and later.
40131 2011-04-05  Bruno Haible  <bruno@clisp.org>
40133         Remove leftover generated .h files after config.status changed.
40135         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
40136         GL_GENERATE_ALLOCA_H.
40137         * modules/alloca-opt (Makefile.am): Remove alloca.h if
40138         GL_GENERATE_ALLOCA_H evaluates to false.
40140         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
40141         GL_GENERATE_ARGZ_H.
40142         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
40143         evaluates to false.
40145         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
40146         GL_GENERATE_BYTESWAP_H.
40147         * modules/byteswap (Makefile.am): Remove byteswap.h if
40148         GL_GENERATE_BYTESWAP_H evaluates to false.
40150         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
40151         GL_GENERATE_ERRNO_H.
40152         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
40153         evaluates to false.
40155         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
40156         GL_GENERATE_FLOAT_H.
40157         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
40158         evaluates to false.
40160         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
40161         GL_GENERATE_FNMATCH_H.
40162         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
40163         GL_GENERATE_FNMATCH_H evaluates to false.
40165         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
40166         GL_GENERATE_GLOB_H.
40167         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
40168         evaluates to false.
40170         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
40171         automake conditional GL_GENERATE_ICONV_H.
40172         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
40173         evaluates to false.
40175         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
40176         GL_GENERATE_NETINET_IN_H.
40177         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
40178         GL_GENERATE_NETINET_IN_H evaluates to false.
40180         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
40181         conditional GL_GENERATE_PTHREAD_H.
40182         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
40183         * modules/pthread (Makefile.am): Remove pthread.h if
40184         GL_GENERATE_PTHREAD_H evaluates to false.
40186         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
40187         GL_GENERATE_SCHED_H.
40188         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
40189         evaluates to false.
40191         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
40192         conditional GL_GENERATE_SELINUX_CONTEXT_H.
40193         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
40194         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
40196         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
40197         GL_GENERATE_STDARG_H.
40198         * modules/stdarg (Makefile.am): Remove stdarg.h if
40199         GL_GENERATE_STDARG_H evaluates to false.
40201         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
40202         GL_GENERATE_STDBOOL_H.
40203         * modules/stdbool (Makefile.am): Remove stdbool.h if
40204         GL_GENERATE_STDBOOL_H evaluates to false.
40206         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
40207         conditional GL_GENERATE_STDDEF_H.
40208         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
40209         * modules/stddef (Makefile.am): Remove stddef.h if
40210         GL_GENERATE_STDDEF_H evaluates to false.
40212         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
40213         GL_GENERATE_STDINT_H.
40214         * modules/stdint (Makefile.am): Remove stdint.h if
40215         GL_GENERATE_STDINT_H evaluates to false.
40217         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
40218         GL_GENERATE_SYSEXITS_H.
40219         * modules/sysexits (Makefile.am): Remove sysexits.h if
40220         GL_GENERATE_SYSEXITS_H evaluates to false.
40222         Reported by Karl Berry and Ralf Wildenhues.
40224 2011-04-05  Bruno Haible  <bruno@clisp.org>
40226         Ensure to rebuild generated .h files when config.status has changed.
40227         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
40228         config.status.
40229         * modules/ctype (Makefile.am): Likewise.
40230         * modules/dirent (Makefile.am): Likewise.
40231         * modules/errno (Makefile.am): Likewise.
40232         * modules/fcntl-h (Makefile.am): Likewise.
40233         * modules/float (Makefile.am): Likewise.
40234         * modules/getopt-posix (Makefile.am): Likewise.
40235         * modules/glob (Makefile.am): Likewise.
40236         * modules/iconv-h (Makefile.am): Likewise.
40237         * modules/inttypes (Makefile.am): Likewise.
40238         * modules/langinfo (Makefile.am): Likewise.
40239         * modules/locale (Makefile.am): Likewise.
40240         * modules/math (Makefile.am): Likewise.
40241         * modules/netdb (Makefile.am): Likewise.
40242         * modules/netinet_in (Makefile.am): Likewise.
40243         * modules/poll-h (Makefile.am): Likewise.
40244         * modules/pthread (Makefile.am): Likewise.
40245         * modules/pty (Makefile.am): Likewise.
40246         * modules/sched (Makefile.am): Likewise.
40247         * modules/search (Makefile.am): Likewise.
40248         * modules/selinux-h (Makefile.am): Likewise.
40249         * modules/signal (Makefile.am): Likewise.
40250         * modules/spawn (Makefile.am): Likewise.
40251         * modules/stdarg (Makefile.am): Likewise.
40252         * modules/stdbool (Makefile.am): Likewise.
40253         * modules/stddef (Makefile.am): Likewise.
40254         * modules/stdint (Makefile.am): Likewise.
40255         * modules/stdio (Makefile.am): Likewise.
40256         * modules/stdlib (Makefile.am): Likewise.
40257         * modules/string (Makefile.am): Likewise.
40258         * modules/strings (Makefile.am): Likewise.
40259         * modules/sys_file (Makefile.am): Likewise.
40260         * modules/sys_ioctl (Makefile.am): Likewise.
40261         * modules/sys_select (Makefile.am): Likewise.
40262         * modules/sys_socket (Makefile.am): Likewise.
40263         * modules/sys_stat (Makefile.am): Likewise.
40264         * modules/sys_time (Makefile.am): Likewise.
40265         * modules/sys_times (Makefile.am): Likewise.
40266         * modules/sys_utsname (Makefile.am): Likewise.
40267         * modules/sys_wait (Makefile.am): Likewise.
40268         * modules/sysexits (Makefile.am): Likewise.
40269         * modules/termios (Makefile.am): Likewise.
40270         * modules/time (Makefile.am): Likewise.
40271         * modules/unistd (Makefile.am): Likewise.
40272         * modules/wchar (Makefile.am): Likewise.
40273         * modules/wctype-h (Makefile.am): Likewise.
40274         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
40276 2011-04-05  Bruno Haible  <bruno@clisp.org>
40278         pipe2: Relicense under LGPLv2+.
40279         * modules/pipe2 (License): Change to LGPLv2+.
40280         Requested by Eric Blake, for libvirt.
40282 2011-04-05  Bruce Korb  <bkorb@gnu.org>
40284         bootstrap: compute gnulib_extra_files after updating build_aux
40285         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
40286         change build_aux or also supply gnulib_extra_files.  Handle correctly.
40288 2011-04-05  Eric Blake  <eblake@redhat.com>
40290         bootstrap: preserve git whitelist item sorting
40291         * build-aux/bootstrap (sort_patterns): New function.
40292         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
40294 2011-04-05  Simon Josefsson  <simon@josefsson.org>
40296         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
40297         sc_space_tab check.
40299 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
40301         areadlink, areadlinkat: rewrite in terms of careadlinkat
40302         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
40303         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
40304         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
40305         (malloc, realloc): Remove #undefs.
40306         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
40307         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
40308         readlink, ssize_t, stdint, unistd.
40309         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
40310         areadlink, stdint.
40312         careadlinkat: new module
40313         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
40314         * modules/careadlinkat: New files, written by me with
40315         a review and feedback from Ben Pfaff in
40316         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00008.html>.
40318 2011-04-01  Bruno Haible  <bruno@clisp.org>
40320         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
40321         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
40322         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
40323         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
40324         Reported by Bruce Korb <bruce.korb@gmail.com>.
40326 2011-04-01  Bruno Haible  <bruno@clisp.org>
40328         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
40329         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
40330         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
40331         * modules/wcpcpy (Depends-on): Add extensions.
40332         * modules/wcpncpy (Depends-on): Likewise.
40333         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
40334         systems.
40335         * doc/posix-functions/wcpncpy.texi: Likewise.
40336         * doc/posix-functions/wcwidth.texi: Likewise.
40338 2011-03-31  Eric Blake  <eblake@redhat.com>
40340         nonblocking: fix mingw test failures
40341         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
40342         non-blocking flag on regular file.
40343         (get_nonblocking_flag): Set errno on invalid fd.
40344         * tests/test-nonblocking.c (main): Avoid test failure on
40345         directories if fchdir is not active.
40346         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
40348 2011-03-31  Bruno Haible  <bruno@clisp.org>
40350         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
40351         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
40352         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
40353         Reported by Simon Josefsson <simon@josefsson.org>.
40355 2011-03-31  Bruno Haible  <bruno@clisp.org>
40356         and Eric Blake  <eblake@redhat.com>
40358         nonblocking: new module
40359         * modules/nonblocking: New module.
40360         * modules/nonblocking-tests: Likewise.
40361         * lib/nonblocking.h: New file.
40362         * lib/nonblocking.c: Likewise.
40363         * tests/test-nonblocking.c: New test.
40364         * lib/ioctl.c (ioctl) [mingw]: Update comment.
40366 2011-03-30  Bruno Haible  <bruno@clisp.org>
40368         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
40369         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
40370         instead of 'printf' format for GCC >= 4.4.
40371         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
40372         (fprintf, printf, vfprintf, vprintf): Declare with
40373         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
40374         the system's vfprintf() function.
40375         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
40377 2011-03-30  Eric Blake  <eblake@redhat.com>
40379         passfd: fix scoping bug
40380         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
40381         before sendmsg/recvmsg.
40383         passfd: standardize coding conventions
40384         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
40385         can be learned at compile time.
40386         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
40387         ifdefs.
40388         (sendfd, recvfd): Follow gnulib code conventions.
40390         passfd: fix incorrect sendmsg arguments
40391         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
40392         incorrect msg_controllen value.
40393         * modules/passfd-tests (Depends-on): Check for alarm.
40394         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
40395         Reported by Bastien ROUCARIES.
40397 2011-03-30  Bruno Haible  <bruno@clisp.org>
40399         c-strcasestr: Relicense under LGPLv2+.
40400         * modules/c-strcasestr (License): Change to LGPLv2+.
40401         Requested by Eric Blake, for libvirt.
40403 2011-03-30  Simon Josefsson  <simon@josefsson.org>
40405         * users.txt: Add libidn2.  Fix libtasn1 link.
40407 2011-03-30  Jim Meyering  <meyering@redhat.com>
40409         tests: readlink* ("",... fails with EINVAL on newer kernels
40410         readlink and readlinkat have typically failed with ENOENT for
40411         the invalid, empty file name,  "".  However, with the advent
40412         of linux-2.6.39, they fail with EINVAL.
40413         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
40414         when operating on the empty file name.
40415         * tests/test-readlink.h (test_readlink): Likewise.
40417 2011-03-29  Bruno Haible  <bruno@clisp.org>
40419         Relicense some modules under LGPLv2+, for libidn2.
40420         * modules/array-mergesort (License): Change to LGPLv2+.
40421         * modules/c-strcaseeq (License): Likewise.
40422         * modules/striconveh (License): Likewise.
40423         * modules/striconveha (License): Likewise.
40424         * modules/uniconv/base (License): Likewise.
40425         * modules/uniconv/u8-conv-from-enc (License): Likewise.
40426         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
40427         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
40428         * modules/unictype/base (License): Likewise.
40429         * modules/unictype/bidiclass-of (License): Likewise.
40430         * modules/unictype/category-M (License): Likewise.
40431         * modules/unictype/category-none (License): Likewise.
40432         * modules/unictype/category-of (License): Likewise.
40433         * modules/unictype/category-test (License): Likewise.
40434         * modules/unictype/category-test-withtable (License): Likewise.
40435         * modules/unictype/combining-class (License): Likewise.
40436         * modules/unictype/joiningtype-of (License): Likewise.
40437         * modules/unictype/scripts (License): Likewise.
40438         * modules/uninorm/base (License): Likewise.
40439         * modules/uninorm/canonical-decomposition (License): Likewise.
40440         * modules/uninorm/composition (License): Likewise.
40441         * modules/uninorm/decompose-internal (License): Likewise.
40442         * modules/uninorm/decomposition-table (License): Likewise.
40443         * modules/uninorm/nfc (License): Likewise.
40444         * modules/uninorm/nfd (License): Likewise.
40445         * modules/uninorm/u32-normalize (License): Likewise.
40446         * modules/unistr/base (License): Likewise.
40447         * modules/unistr/u32-cpy (License): Likewise.
40448         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
40449         * modules/unistr/u32-to-u8 (License): Likewise.
40450         * modules/unistr/u32-uctomb (License): Likewise.
40451         * modules/unistr/u8-check (License): Likewise.
40452         * modules/unistr/u8-mblen (License): Likewise.
40453         * modules/unistr/u8-mbtouc (License): Likewise.
40454         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
40455         * modules/unistr/u8-mbtoucr (License): Likewise.
40456         * modules/unistr/u8-prev (License): Likewise.
40457         * modules/unistr/u8-strlen (License): Likewise.
40458         * modules/unistr/u8-to-u32 (License): Likewise.
40459         * modules/unistr/u8-uctomb (License): Likewise.
40460         * modules/unitypes (License): Likewise.
40461         Requested by Simon Josefsson.
40463 2011-03-29  Simon Josefsson  <simon@josefsson.org>
40465         lib-symbol-visibility: Add a notice.
40466         * modules/lib-symbol-visibility (Notice): New field.
40468 2011-03-29  Bruno Haible  <bruno@clisp.org>
40470         getaddrinfo: Doc fix.
40471         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
40472         section "fixed in Gnulib".
40474 2011-03-28  Simon Josefsson  <simon@josefsson.org>
40476         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
40477         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
40479 2011-03-26  Bruno Haible  <bruno@clisp.org>
40481         unictype/property-byname: Reduce the number of load-time relocations.
40482         * lib/unictype/pr_byname.c: Include <stdlib.h>.
40483         (UC_PROPERTY_INDEX_*): New enumeration values.
40484         (uc_property_byname): Convert an index from the lookup table to an
40485         uc_property_t.
40486         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
40487         values.
40489 2011-03-26  Bruno Haible  <bruno@clisp.org>
40491         unictype/property-byname: Allow omitted word separators and aliases.
40492         * lib/unictype/pr_byname.gperf: Add property names without word
40493         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
40494         for 'space'.
40496 2011-03-26  Bruno Haible  <bruno@clisp.org>
40498         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
40499         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
40500         also hyphens to space.
40501         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
40502         without spaces.
40503         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
40505 2011-03-26  Bruno Haible  <bruno@clisp.org>
40507         unictype/joiningtype-byname: Recognize long names as well.
40508         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
40509         a long name.
40510         * lib/unictype/joiningtype_byname.c: Include <string.h>,
40511         unictype/joiningtype_byname.h.
40512         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
40513         * lib/unictype/joiningtype_byname.gperf: New file.
40514         * modules/unictype/joiningtype-byname (Files): Add
40515         lib/unictype/joiningtype_byname.gperf.
40516         (Depends-on): Add gperf.
40517         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
40518         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
40519         long names.
40521         Tests for module 'unictype/joiningtype-longname'.
40522         * modules/unictype/joiningtype-longname-tests: New file.
40523         * tests/unictype/test-joiningtype_longname.c: New file.
40525         New module 'unictype/joiningtype-longname'.
40526         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
40527         * lib/unictype/joiningtype_longname.c: New file.
40528         * modules/unictype/joiningtype-longname: New file.
40529         * modules/unictype/joiningtype-all (Depends-on): Add
40530         unictype/joiningtype-longname.
40532 2011-03-26  Bruno Haible  <bruno@clisp.org>
40534         unictype/bidiclass-byname: Recognize long names as well.
40535         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
40536         name.
40537         * lib/unictype/bidi_byname.c: Include <string.h>,
40538         unictype/bidi_byname.h.
40539         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
40540         * lib/unictype/bidi_byname.gperf: New file.
40541         * modules/unictype/bidiclass-byname (Files): Add
40542         lib/unictype/bidi_byname.gperf.
40543         (Depends-on): Add gperf.
40544         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
40545         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
40546         long names.
40548         Tests for module 'unictype/bidiclass-longname'.
40549         * modules/unictype/bidiclass-longname-tests: New file.
40550         * tests/unictype/test-bidi_longname.c: New file.
40552         New module 'unictype/bidiclass-longname'.
40553         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
40554         * lib/unictype/bidi_longname.c: New file.
40555         * modules/unictype/bidiclass-longname: New file.
40556         * modules/unictype/bidiclass-all (Depends-on): Add
40557         unictype/bidiclass-longname.
40559 2011-03-26  Bruno Haible  <bruno@clisp.org>
40561         unictype/bidi*: Rename modules.
40562         * modules/unictype/bidiclass-all: Renamed from
40563         modules/unictype/bidicategory-all.
40564         * modules/unictype/bidiclass-name: Renamed from
40565         modules/unictype/bidiclass-name.
40566         (Description): Update.
40567         * modules/unictype/bidiclass-name-tests: Renamed from
40568         modules/unictype/bidicategory-name-tests.
40569         * modules/unictype/bidiclass-byname: Renamed from
40570         modules/unictype/bidicategory-byname.
40571         (Description): Update.
40572         * modules/unictype/bidiclass-byname-tests: Renamed from
40573         modules/unictype/bidicategory-byname-tests.
40574         * modules/unictype/bidiclass-of: Renamed from
40575         modules/unictype/bidicategory-of.
40576         (Description): Update.
40577         * modules/unictype/bidiclass-of-tests: Renamed from
40578         modules/unictype/bidicategory-of-tests.
40579         * modules/unictype/bidiclass-test: Renamed from
40580         modules/unictype/bidicategory-test.
40581         (Description): Update.
40582         * modules/unictype/bidiclass-test-tests: Renamed from
40583         modules/unictype/bidicategory-test-tests.
40584         * modules/unictype/bidicategory-all: New file, a simple redirection.
40585         * modules/unictype/bidicategory-name: Likewise.
40586         * modules/unictype/bidicategory-byname: Likewise.
40587         * modules/unictype/bidicategory-of: Likewise.
40588         * modules/unictype/bidicategory-test: Likewise.
40589         * modules/unictype/property-bidi-* (Dependencies): Update.
40590         * lib/unictype/bidi_*.c: Update comment.
40592 2011-03-26  Bruno Haible  <bruno@clisp.org>
40594         unictype/bidi*: Rename functions, part 2.
40595         * modules/unictype/bidicategory-name (configure.ac): Update required
40596         libunistring version.
40597         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
40599 2011-03-25  Bruno Haible  <bruno@clisp.org>
40601         New module 'unictype/combining-class-all'.
40602         * modules/unictype/combining-class-all: New file.
40604         Tests for module 'unictype/combining-class-byname'.
40605         * modules/unictype/combining-class-byname-tests: New file.
40606         * tests/unictype/test-combiningclass_byname.c: New file.
40608         New module 'unictype/combining-class-byname'.
40609         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
40610         * lib/unictype/combiningclass_byname.c: New file.
40611         * lib/unictype/combiningclass_byname.gperf: New file.
40612         * modules/unictype/combining-class-byname: New file.
40614         Tests for module 'unictype/combining-class-longname'.
40615         * modules/unictype/combining-class-longname-tests: New file.
40616         * tests/unictype/test-combiningclass_longname.c: New file.
40618         New module 'unictype/combining-class-longname'.
40619         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
40620         * lib/unictype/combiningclass_longname.c: New file.
40621         * modules/unictype/combining-class-longname: New file.
40623         Tests for module 'unictype/combining-class-name'.
40624         * modules/unictype/combining-class-name-tests: New file.
40625         * tests/unictype/test-combiningclass_name.c: New file.
40627         New module 'unictype/combining-class-name'.
40628         * lib/unictype.in.h (uc_combining_class_name): New declaration.
40629         * lib/unictype/combiningclass_name.c: New file.
40630         * modules/unictype/combining-class-name: New file.
40632 2011-03-25  Bruno Haible  <bruno@clisp.org>
40634         unictype/combining-class: Rename source files.
40635         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
40636         of unictype/combining.h.
40637         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
40638         Update.
40639         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
40640         * modules/unictype/combining-class (Description): Fix.
40641         (Files, Makefile.am): Update.
40642         * tests/unictype/test-combiningclass.c: Renamed from
40643         tests/unictype/test-combining.c.
40644         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
40646 2011-03-25  Bruno Haible  <bruno@clisp.org>
40648         unictype: Update list of canonical combining classes.
40649         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
40651 2011-03-25  Bruno Haible  <bruno@clisp.org>
40653         unictype/category-byname: Recognize long names as well.
40654         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
40655         a long name.
40656         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
40657         unictype/categ_byname.h.
40658         (UC_CATEGORY_INDEX_*): New enumeration values.
40659         (uc_general_category_byname): Use uc_general_category_lookup and
40660         convert from index to value.
40661         * lib/unictype/categ_byname.gperf: New file.
40662         * modules/unictype/category-byname (Files): Add
40663         lib/unictype/categ_byname.gperf.
40664         (Depends-on): Add gperf.
40665         (Makefile.am): Add rule for generating unictype/categ_byname.h.
40666         * tests/unictype/test-categ_byname.c (main): Test the recognition of
40667         long names.
40669         Tests for module 'unictype/category-longname'.
40670         * modules/unictype/category-longname-tests: New file.
40671         * tests/unictype/test-categ_longname.c: New file.
40673         New module 'unictype/category-longname'.
40674         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
40675         * lib/unictype/categ_longname.c: New file.
40676         * modules/unictype/category-longname: New file.
40677         * modules/unictype/category-all (Depends-on): Add it.
40679 2011-03-25  Bruno Haible  <bruno@clisp.org>
40681         Tests for module 'unictype/category-LC'.
40682         * modules/unictype/category-LC-tests: New file.
40683         * tests/unictype/test-categ_LC.c: New file, automatically generated.
40685         New module 'unictype/category-LC'.
40686         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
40687         (UC_CATEGORY_LC): New declaration.
40688         (UC_CASED_LETTER): New macro.
40689         * lib/gen-uni-tables.c (is_category_LC): New function.
40690         (output_categories): Also handle category LC.
40691         (UC_CATEGORY_MASK_LC): New enumeration value.
40692         (general_category_byname): Also handle category LC.
40693         * lib/unictype/categ_LC.c: New file.
40694         * lib/unictype/categ_LC.h: New file, automatically generated.
40695         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
40696         category LC.
40697         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
40698         * modules/unictype/category-LC: New file.
40699         * modules/unictype/category-byname (Depends-on): Add
40700         unictype/category-LC.
40701         * modules/unictype/category-all (Depends-on): Likewise.
40703 2011-03-25  Eric Blake  <eblake@redhat.com>
40705         xmalloc: revert yesterday's regression
40706         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
40707         realloc's underlying behavior (allowing allocation of zero-size
40708         objects, especially if malloc-gnu is also in use).
40710 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
40712         maint.mk: add missing version to VC-tag
40713         * top/maint.mk: git tag was missing actual tag name; add it.
40715         valgrind: do leak checking, and exit with code 1 on error (not 0)
40716         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
40717         to VALGRIND.
40719 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
40721         posix-modules: say what it does.
40722         * posix-modules: Add a line to the --help output saying what it does.
40724 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
40726         xmalloc: Do not leak if underlying realloc is C99 compatible.
40727         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
40728         This avoids a leak on C99-based systems.  See
40729         <http://lists.gnu.org/r/bug-gnulib/2011-03/msg00243.html>.
40731 2011-03-24  Eric Blake  <eblake@redhat.com>
40733         realloc: document portability problem
40734         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
40735         passing 0 size to realloc.
40737 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
40739         doc: update users.txt
40740         * users.txt: Add cvsps, tmpwatch
40742 2011-03-23  Matt Rice  <ratmice@gmail.com>
40744         doc: update users.txt
40745         * users.txt: Add gdb.
40747 2011-03-23  Jim Meyering  <meyering@redhat.com>
40749         doc: update users.txt
40750         Looking through matches up to the following URL (there are still
40751         several more pages), I found several projects that use gnulib:
40752         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
40753         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
40754         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
40756 2011-03-22  Bruno Haible  <bruno@clisp.org>
40758         unictype/bidi*: Rename functions.
40759         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
40760         uc_bidi_class, uc_is_bidi_class): New declarations.
40761         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
40762         uc_bidi_category_byname.
40763         (uc_bidi_category_byname): New function.
40764         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
40765         u_bidi_category_name.
40766         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
40767         (uc_bidi_category_name): New function.
40768         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
40769         uc_bidi_category.
40770         (uc_bidi_category): New function.
40771         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
40772         uc_is_bidi_category. Invoke uc_bidi_class.
40773         (uc_is_bidi_category): New function.
40774         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
40775         instead of uc_bidi_category_byname.
40776         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
40777         instead of uc_bidi_category_name.
40778         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
40779         uc_bidi_category.
40780         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
40781         instead of uc_is_bidi_category.
40783 2011-03-21  Bruno Haible  <bruno@clisp.org>
40785         New module 'unictype/joininggroup-all'.
40786         * modules/unictype/joininggroup-all: New file.
40788         Tests for module 'unictype/joininggroup-of'.
40789         * modules/unictype/joininggroup-of-tests: New file.
40790         * tests/unictype/test-joininggroup_of.c: New file.
40791         * tests/unictype/test-joininggroup_of.h: New file, automatically
40792         generated by gen-uni-tables.
40794         New module 'unictype/joininggroup-of'.
40795         * modules/unictype/joininggroup-of: New file.
40796         * lib/unictype/joininggroup_of.c: New file.
40797         * lib/unictype/joininggroup_of.h: New file, automatically generated by
40798         gen-uni-tables.
40800         Tests for module 'unictype/joininggroup-byname'.
40801         * modules/unictype/joininggroup-byname-tests: New file.
40802         * tests/unictype/test-joininggroup_byname.c: New file.
40804         New module 'unictype/joininggroup-byname'.
40805         * modules/unictype/joininggroup-byname: New file.
40806         * lib/unictype/joininggroup_byname.c: New file.
40807         * lib/unictype/joininggroup_byname.gperf: New file.
40809         Tests for module 'unictype/joininggroup-name'.
40810         * modules/unictype/joininggroup-name-tests: New file.
40811         * tests/unictype/test-joininggroup_name.c: New file.
40813         New module 'unictype/joininggroup-name'.
40814         * modules/unictype/joininggroup-name: New file.
40815         * lib/unictype/joininggroup_name.c: New file.
40816         * lib/unictype/joininggroup_name.h: New file.
40818         New module 'unictype/joiningtype-all'.
40819         * modules/unictype/joiningtype-all: New file.
40821         Tests for module 'unictype/joiningtype-of'.
40822         * modules/unictype/joiningtype-of-tests: New file.
40823         * tests/unictype/test-joiningtype_of.c: New file.
40824         * tests/unictype/test-joiningtype_of.h: New file, automatically
40825         generated by gen-uni-tables.
40827         New module 'unictype/joiningtype-of'.
40828         * modules/unictype/joiningtype-of: New file.
40829         * lib/unictype/joiningtype_of.c: New file.
40830         * lib/unictype/joiningtype_of.h: New file, automatically generated by
40831         gen-uni-tables.
40833         Tests for module 'unictype/joiningtype-byname'.
40834         * modules/unictype/joiningtype-byname-tests: New file.
40835         * tests/unictype/test-joiningtype_byname.c: New file.
40837         New module 'unictype/joiningtype-byname'.
40838         * modules/unictype/joiningtype-byname: New file.
40839         * lib/unictype/joiningtype_byname.c: New file.
40841         Tests for module 'unictype/joiningtype-name'.
40842         * modules/unictype/joiningtype-name-tests: New file.
40843         * tests/unictype/test-joiningtype_name.c: New file.
40845         New module 'unictype/joiningtype-name'.
40846         * modules/unictype/joiningtype-name: New file.
40847         * lib/unictype/joiningtype_name.c: New file.
40849         unictype: Add support for Arabic shaping properties.
40850         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
40851         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
40852         declarations.
40853         (UC_JOINING_GROUP_*): New enumeration values.
40854         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
40855         declarations.
40856         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
40857         (unicode_joining_type): New variable.
40858         (UC_JOINING_GROUP_*): New enumeration values.
40859         (unicode_joining_group): New variable.
40860         (fill_arabicshaping, joining_type_as_c_identifier,
40861         output_joining_type_test, output_joining_type,
40862         joining_group_as_c_identifier, output_joining_group_test,
40863         output_joining_group): New functions.
40864         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
40865         fill_arabicshaping and output_joining_type_test, output_joining_type,
40866         output_joining_group_test, output_joining_group.
40867         Reported by Simon Josefsson.
40869 2011-03-21  Jim Meyering  <meyering@redhat.com>
40871         strftime: fix a bug in yesterday's change
40872         * lib/strftime.c (add): Accommodate width's initial value of -1.
40873         Otherwise, nstrftime would copy uninitialized data into
40874         the result buffer.
40876 2011-03-21  Jim Meyering  <meyering@redhat.com>
40878         tests: add strftime-tests module
40879         * tests/test-strftime.c: New file.
40880         * modules/strftime-tests: New module.
40882 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
40884         strftime: don't assume a byte count fits in 'int'
40885         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
40886         found this problem by static analysis, using gcc -Wstrict-overflow
40887         (GCC 4.5.2, x86-64).  This reported an optimization that depended
40888         on an integer overflow having undefined behavior, but it turns out
40889         that the argument is a size, which might not fit in 'int' anyway,
40891 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
40893         stdio: don't require ignore_value around fwrite
40895         This patch works around libc bug 11959
40896         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
40897         Without this patch, applications must often write
40898         ignore_value (fwrite (...)) even though the ignore_value is
40899         not helpful here.  It's common to write many objects, using
40900         fwrite/printf/etc., and then use ferror to detect output error.
40902         I considered making this patch optional, but decided against it,
40903         because libc is obviously being inconsistent here: there is no
40904         reason libc should insist that user code must inspect fwrite
40905         return's value without also insisting that it inspect printf's,
40906         putchar's, etc.  If user code wants to have a strict style where
40907         all these functions' values are checked (so that ferror need not
40908         be checked), we could add support for that style in a new gnulib
40909         module, but in the meantime it's better to be consistent and to
40910         support common usage.
40912         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
40913         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
40914         that we are compiling in checking mode, and if not C++, and
40915         if not already wrapping fwrite for some other reason.
40916         (fwrite): #define to rpl_fwrite if the latter is defined.
40918 2011-03-20  Bruno Haible  <bruno@clisp.org>
40920         verror: Fix compilation error introduced on 2011-02-13.
40921         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
40922         instead of __attribute__.
40923         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40925 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
40926             Bruno Haible  <bruno@clisp.org>
40928         socklen: do not depend on sys_socket
40929         While trying to modify Emacs to use gnulib's socklen module,
40930         I discovered a circular dependency: socklen depends on sys_socket
40931         and vice versa.  Emacs can use socklen, but it does not need
40932         sys_socket because it has its own substitute for sys/socket.h.
40933         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
40934         gl_TYPE_SOCKLEN_T.
40935         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
40936         gl_PREREQ_SYS_H_SOCKET.
40937         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
40938         gl_PREREQ_SYS_H_SOCKET.
40939         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
40940         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
40941         * modules/socklen (Depends-on): Do not depend on sys_socket.
40942         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
40944 2011-03-20  Jim Meyering  <meyering@redhat.com>
40946         maint.mk: sort file names *after* new transformation
40947         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
40948         prefix would have led to an unwarranted failure in GNU parted.
40949         Sort after that transformation.
40951 2011-03-19  Jim Meyering  <meyering@redhat.com>
40953         maint.mk: fix po-file syntax-check rule
40954         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
40955         Patch by Bruno Haible.
40957 2011-03-19  Bruno Haible  <bruno@clisp.org>
40959         socklen: Update comment.
40960         * m4/socklen.m4: Update comment about platforms.
40962 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
40963             Bruno Haible  <bruno@clisp.org>
40965         inet_ntop, inet_pton: Simplify.
40966         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
40967         documented to provide socklen_t and we already depend on sys_socket.
40968         * modules/inet_pton (Depends-on): Likewise.
40969         * lib/arpa_inet.in.h: Adjust comment.
40971 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
40972             Bruno Haible  <bruno@clisp.org>
40974         netdb: Simplify.
40975         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
40976         documented to provide socklen_t and we already depend on sys_socket.
40977         * lib/netdb.in.h: Adjust comment.
40979 2011-03-19  Bruno Haible  <bruno@clisp.org>
40981         sys_socket, netdb: Document problem with socklen_t.
40982         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
40983         platforms.
40984         * doc/posix-headers/netdb.texi: Likewise.
40986 2011-03-18  Eric Blake  <eblake@redhat.com>
40988         maint.mk: let po check work in VPATH build
40989         * top/maint.mk (po_file): Allow cfg.mk override.
40990         (sc_po_check): Allow VPATH use.
40991         Reported by Jiri Denemark.
40993 2011-03-16  Jim Meyering  <meyering@redhat.com>
40995         maint.mk: allow fine-grained syntax-check exclusion via Make variables
40996         Before, you would have had to create one .x-sc_ file per rule in order
40997         to exempt offending files.  Now, you may instead use a Make variable --
40998         usually defined in cfg.mk -- whose name identifies the affected rule.
40999         * top/maint.mk (_sc_excl): Define.
41000         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
41001         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
41003 2011-03-13  Bruno Haible  <bruno@clisp.org>
41005         ignore-value tests: Avoid warnings.
41006         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
41007         empty for gcc < 3.4.
41009 2011-03-13  Bruno Haible  <bruno@clisp.org>
41011         passfd: Fix link error on Solaris.
41012         * modules/passfd (Description): Correct.
41013         (Depends-on): Add socketlib.
41014         (Link): New section.
41015         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
41017 2011-03-13  Bruno Haible  <bruno@clisp.org>
41019         passfd: Fix link error on AIX 5.2.
41020         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
41022 2011-03-13  Bruno Haible  <bruno@clisp.org>
41024         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
41025         * lib/sys_socket.in.h: Include <stddef.h>.
41026         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
41027         CMSG_FIRSTHDR. Remove unused variable.
41029 2011-03-13  Bruno Haible  <bruno@clisp.org>
41031         passfd: Fix compilation error on OpenBSD.
41032         * lib/passfd.c: Include <sys/uio.h>.
41034 2011-03-13  Bruno Haible  <bruno@clisp.org>
41036         passfd test: Fix warnings.
41037         * tests/test-passfd.c: Include <sys/wait.h>.
41038         (main): Fix typo.
41040 2011-03-13  Bruno Haible  <bruno@clisp.org>
41042         passfd module, part 4, tweaks.
41043         * tests/test-passfd.c: Reorder includes.
41044         (main): Fix perror and printf calls.
41046 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
41048         passfd module, part 4.
41049         * modules/passfd-tests: New file.
41050         * tests/test-passfd.c: New file.
41052 2011-03-13  Jim Meyering  <meyering@redhat.com>
41054         Makefile: rely on GNU make; derive syntax-check rule names
41055         Rather than requiring that each sc_ rule be listed as a dependent
41056         of "check", use features of GNU make to derive the list.
41057         * Makefile (syntax-check-rules): Define.
41058         (check): Depend on the new variable, not the hard-coded list.
41060 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
41061             Bruno Haible  <bruno@clisp.org>
41063         passfd module, part 3.
41064         * lib/passfd.h (recvfd): Add a flags argument.
41065         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
41066         (recvfd): Add a flags argument.
41067         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
41068         exists.
41069         * modules/passfd (Depends-on): Add cloexec.
41070         Suggested by Eric Blake.
41072 2011-03-13  Bruno Haible  <bruno@clisp.org>
41074         passfd module, part 2, tweaks.
41075         * modules/passfd (Files): Reorder.
41076         (Depends-on): Remove errno.
41077         (Include): Remove <sys/socket.h>, <sys/un.h>.
41078         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
41079         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
41080         specification header. Include <sys/socket.h> always. Don't include
41081         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
41082         (sendfd): Clarify that it sets errno when it fails.
41083         (recvfd): Fix specification.
41085 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
41087         passfd module, part 2.
41088         * modules/passfd: New file.
41089         * lib/passfd.h: New file.
41090         * lib/passfd.c: New file.
41092 2011-03-12  Bruno Haible  <bruno@clisp.org>
41094         wcswidth, mbswidth: Avoid integer overflow.
41095         * lib/wcswidth.c: Include <limits.h>.
41096         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
41097         * lib/mbswidth.c: Include <limits.h>.
41098         (mbsnwidth): Avoid 'int' overflow.
41099         Reported by Jim Meyering.
41101 2011-03-12  Bruno Haible  <bruno@clisp.org>
41103         futimens, utimensat: Avoid endless recursion on Solaris 10.
41104         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
41105         Solaris.
41106         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
41107         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
41109 2011-03-11  Jim Meyering  <meyering@redhat.com>
41111         maint.mk: relax a regexp to accommodate other formatting styles
41112         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
41113         between "ngettext" and the following "(".
41115 2011-03-11  Pádraig Brady  <P@draigBrady.com>
41117         maint.mk: suppress a false positive warning
41118         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
41119         diagnostics are marked with ngettext.
41121 2011-03-10  Eric Blake  <eblake@redhat.com>
41123         wchar: add explicit dependencies, for Tru64
41124         * modules/mbmemcasecoll (Depends-on): Add wchar.
41125         * modules/mbtowc (Depends-on): Likewise.
41126         * modules/vasnprintf (Depends-on): Likewise.
41127         * modules/unistdio/u-printf-args (Depends-on): Likewise.
41128         * modules/wctomb (Depends-on): Likewise.
41129         Reported by Peter O'Gorman.
41131 2011-03-08  Bruno Haible  <bruno@clisp.org>
41133         passfd module, part 1, tweaks.
41134         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
41135         Improve indentation. Improve AC_MSG_CHECKING messages.
41136         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
41137         gl_SOCKET_FAMILIES.
41139 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
41141         passfd module, part 1.
41142         * m4/afunix.m4: New file.
41143         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
41144         sockets.
41146 2011-03-08  Bruno Haible  <bruno@clisp.org>
41148         regex-quote: New API.
41149         * lib/regex-quote.h: Include <stdbool.h>.
41150         (struct regex_quote_spec): New type.
41151         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
41152         New declarations.
41153         (regex_quote_length, regex_quote_copy, regex_quote): Take a
41154         'const struct regex_quote_spec *' argument.
41155         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
41156         (pcre_special): New constant.
41157         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
41158         New functions.
41159         (regex_quote_length, regex_quote_copy, regex_quote): Take a
41160         'const struct regex_quote_spec *' argument.
41161         * modules/regex-quote (Depends-on): Add stdbool.
41162         * tests/test-regex-quote.c (check): Update for new API. Add test for
41163         anchored results.
41164         * NEWS: Mention the API change.
41165         Reported by Reuben Thomas and Eric Blake.
41167 2011-03-06  Bruno Haible  <bruno@clisp.org>
41169         regex-quote: Fix creation of POSIX extended regular expressions.
41170         * lib/regex-quote.c (ere_special): Add grouping and alternation
41171         operators.
41173 2011-03-05  Bruno Haible  <bruno@clisp.org>
41175         doc: Improve doc regarding autopoint vs. gnulib.
41176         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
41177         disable autopoint while running autoreconf.
41178         Suggested by Ralf Wildenhues.
41180 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41182         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
41183         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
41185 2011-03-03  Bruce Korb  <bkorb@gnu.org>
41187         parse-duration: remove xalloc.h dependency
41188         * lib/parse-duration.c (parse_period): handle NULL return from
41189         strdup instead of calling xstrdup().
41190         * modules/parse-duration: remove "xalloc" dependency
41192 2011-03-03  Matthew Booth  <mbooth@redhat.com>
41194         bootstrap: honor m4_base when running aclocal
41195         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
41197 2011-03-02  Jim Meyering  <meyering@redhat.com>
41199         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
41200         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
41201         on request from Matt Booth.
41203 2011-03-01  Eric Blake  <eblake@redhat.com>
41205         test-link: work on Hurd
41206         * tests/test-link.h (test_link): Hurd rejects linking directories
41207         with EISDIR instead of the POSIX-mandated EPERM.
41209 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
41211         stdio: simplify by moving files to printf-posix, sigpipe
41212         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
41213         since this symbol is needed only if printf is replaced.
41214         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
41215         Require gl_ASM_SYMBOL_PREFIX.
41216         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
41217         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
41218         (Depends-on): Add 'raise'.
41219         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
41220         * modules/stdio (Files): Remove lib/stdio-write.c,
41221         m4/asm-underscore.m4.
41222         (Depends-on): Remove 'raise'.
41224         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
41225         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
41226         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
41227         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
41229 2011-02-28  Bruno Haible  <bruno@clisp.org>
41231         localcharset: Assume ANSI C behaviour of free().
41232         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
41233         calling free().
41234         Suggested by Simon Josefsson <simon@josefsson.org>.
41236 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
41237             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
41238             Bruno Haible  <bruno@clisp.org>  (tiny change)
41240         On Cygwin, use /proc file system instead of win32 API.
41241         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
41242         Win32 file names.
41243         (DllMain): Simplify by removing Cygwin specific code.
41244         (find_shared_library_fullname): Use Linux specific implementation also
41245         for Cygwin.
41246         (get_shared_library_fullname): Update accordingly.
41247         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
41248         Win32 file names.
41249         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
41250         Cygwin specific code.
41252 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
41253             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
41255         Fix OpenMP flag detection for various Fortran compilers.
41256         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
41257         OpenMP-conditional compilation construct, to force compile
41258         failure with missing OpenMP flag.
41259         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
41261 2011-02-25  Eric Blake  <eblake@redhat.com>
41263         strstr: expand test coverage
41264         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
41265         compilation.
41266         * tests/test-memmem.c (main): Duplicate tests.
41267         * tests/test-strcasestr.c (main): Likewise.
41268         * tests/test-c-strcasestr.c (main): Likewise.
41270 2011-02-25  Jim Meyering  <meyering@redhat.com>
41272         maint.mk: detect missing-NL-at-EOF, too
41273         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
41274         it also detects when a file lacks a newline at EOF.
41275         (require_exactly_one_NL_at_EOF_): Renamed from
41276         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
41277         since people may well have .x-sc_... file names tied to the
41278         existing name.  Suggested by Eric Blake.
41280 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
41282         dirname: move m4/dos.m4 functionality into lib/dosname.h
41284         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
41285         extracts symbols from it, puts them into config.h; but it's much
41286         easier to use the symbols directly.  filename.h already does this,
41287         but it disagrees with dos.m4 in some respects.  This patch
41288         introduces a different include file dosname.h that packages up
41289         dos.m4, and then later we can work on merging filename.h and
41290         dosname.h.  Applications that need only the easy-to-configure
41291         symbols should consider including dosname.h rather than dirname.h.
41292         * NEWS: Mention incompatible changes.
41293         * m4/dos.m4: Remove.
41294         * lib/dosname.h, modules/dosname: New files.
41295         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
41296         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
41297         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
41298         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
41299         Include dosname.h, not dirname.h.
41300         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
41301         Include dosname.h, for definitions of symbols like ISSLASH
41302         that used to be in config.h.
41303         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
41304         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
41305         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
41306         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
41307         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
41308         * modules/rmdir (Files): Likewise.
41309         * modules/stat (Files): Likewise.
41310         * modules/unlink (Files): Likewise.
41311         * modules/dirname-lgpl (Depends-on): Add dosname.
41312         * modules/lstat (Depends-on): Likewise.
41313         * modules/openat (Depends-on): Likewise.
41314         * modules/rmdir (Depends-on): Likewise.
41315         * modules/savewd (Depends-on): Likewise.
41316         * modules/stat (Depends-on): Likewise.
41317         * modules/unlink (Depends-on): Likewise.
41318         * modules/openat (Depends-on): Remove dirname-lgpl.
41319         * modules/savewd (Depends-on): Likewise.
41320         * tests/test-dirname.c: Do not use removed symbols like
41321         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
41322         the remaining symbols, e.g., ISSLASH ('\\').
41324 2011-02-25  Eric Blake  <eblake@redhat.com>
41326         strstr: revert patches that introduced bug and pessimization
41327         * lib/str-two-way.h: Add another reference.
41328         (two_way_short_needle, two_way_long_needle): Revert changes from
41329         2011-02-24; they pessimize search speed.
41330         (critical_factorization): Partially revert changes from
41331         2010-06-22; they violate the requirement that the left half of the
41332         needle be smaller than the period of the needle.
41334 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
41336         filenamecat: remove unnecessary dependency on dirname-lgpl
41337         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
41338         is no direct dependency, just an indirect one via filenamecat-lgpl.
41340         remove: remove unnecessary use of m4/dos.m4
41341         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
41342         * modules/remove (FILES): Remove m4/dos.m4.
41344         * lib/openat-proc.c: Don't include dirname.h; not needed.
41346         backupfile: remove unnecessary use of m4/dos.m4
41347         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
41348         of its symbols are used by the backupfile code.  backupfile.c does
41349         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
41350         for the rare case of programs that want all their backup file
41351         names to live within 8+3 limits, and dos.m4 doesn't address that.
41352         * modules/backupfile (Files): Remove m4/dos.m4.
41354 2011-02-24  Jim Meyering  <meyering@redhat.com>
41356         strstr: fix a bug whereby strstr would mistakenly return NULL
41357         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
41358         in period calculation.
41359         (two_way_long_needle): Likewise.
41360         The original problem was reported by Mike Stump in
41361         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
41362         Ralf Wildenhues provided the short needle and haystack.
41363         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
41364         Add a more involved test to trigger the bug in two_way_long_needle.
41366 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
41368         gnulib-tool: remove use of bold display in help screen
41369         * gnulib-tool (func_usage): Do not use bold display anymore in the
41370         help screen.  That was just meant to be a temporary emphasis for a
41371         backward-incompatible change.
41373 2011-02-23  Bruno Haible  <bruno@clisp.org>
41375         Fix misindentation of preprocessor directives.
41376         * lib/argp-namefrob.h: Reindent preprocessor directives.
41377         * lib/getopt_int.h (struct _getopt_data): Likewise.
41378         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
41379         * lib/vasnprintf.c (decode_long_double): Likewise.
41380         * tests/test-argmatch.c: Insert blank lines, for clarity.
41381         * tests/test-exclude.c: Likewise.
41383 2011-02-22  Bruno Haible  <bruno@clisp.org>
41385         ioctl: Fix for MacOS X in 64-bit mode.
41386         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
41387         value.
41388         Suggested by Eric Blake.
41389         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
41391 2011-02-22  Jim Meyering  <meyering@redhat.com>
41393         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
41394         * Makefile (sc_cpp_indent_check): Don't limit the check to files
41395         in lib/.
41397 2011-02-22  Eric Blake  <eblake@redhat.com>
41399         maint: avoid any CDPATH issue
41400         * Makefile (sc_cpp_indent_check): Anchor cd argument.
41402         maint: adjust cpp indentation for my modules, as well
41403         * Makefile (sc_cpp_indent_check): Add my name.
41404         * lib/fbufmode.c: Filter through cppi.
41405         * lib/fpurge.c: Likewise.
41406         * lib/freadable.c: Likewise.
41407         * lib/freading.c: Likewise.
41408         * lib/fwritable.c: Likewise.
41409         * lib/fwriting.c: Likewise.
41410         * lib/sigaction.c: Likewise.
41412 2011-02-22  Jim Meyering  <meyering@redhat.com>
41414         maint: adjust cpp indentation to reflect nesting depth
41415         I.e., in a block of code that begins with an unnested "#if",
41416         put one space between the "#" in column 1 and following token.
41417         For example,
41418         -#include <sys/vfs.h>
41419         +# include <sys/vfs.h>
41420         Do this only in .c files that are part of a module I maintain.
41421         * lib/linkat.c: Filter through cppi.
41422         * lib/nanosleep.c: Likewise.
41423         * lib/openat.c: Likewise.
41424         * lib/openat-die.c: Likewise.
41425         * lib/dup3.c: Likewise.
41426         * lib/fchownat.c: Likewise.
41427         * lib/flock.c: Likewise.
41428         * lib/fsync.c: Likewise.
41429         * lib/fts.c: Likewise.
41430         * lib/getpass.c: Likewise.
41431         * lib/gettimeofday.c: Likewise.
41432         * lib/userspec.c: Likewise.
41433         * Makefile (sc_cpp_indent_check): New rule, to check this.
41435 2011-02-22  Bruno Haible  <bruno@clisp.org>
41437         New module 'wctomb'.
41438         * lib/stdlib.in.h (wctomb): New declaration.
41439         * lib/wctomb.c: New file.
41440         * lib/wctomb-impl.h: New file.
41441         * m4/wctomb.m4: New file.
41442         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
41443         REPLACE_WCTOMB.
41444         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
41445         REPLACE_WCTOMB.
41446         * modules/wctomb: New file.
41447         * tests/test-stdlib-c++.cc: Test signature of wctomb.
41448         * doc/posix-functions/wctomb.texi: Mention the new module.
41449         * modules/wctob (Depends-on): Add wctomb.
41451 2011-02-22  Bruno Haible  <bruno@clisp.org>
41453         New module 'mbtowc'.
41454         * lib/stdlib.in.h (mbtowc): New declaration.
41455         * lib/mbtowc.c: New file.
41456         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
41457         * m4/mbtowc.m4: New file.
41458         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
41459         REPLACE_MBTOWC.
41460         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
41461         REPLACE_MBTOWC.
41462         * modules/mbtowc: New file.
41463         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
41464         * doc/posix-functions/mbtowc.texi: Mention the new module.
41465         * modules/btowc (Depends-on): Add mbtowc.
41467 2011-02-22  Bruno Haible  <bruno@clisp.org>
41469         wcrtomb: Add more tests for native Windows platforms.
41470         * tests/test-wcrtomb-w32-1.sh: New file.
41471         * tests/test-wcrtomb-w32-2.sh: New file.
41472         * tests/test-wcrtomb-w32-3.sh: New file.
41473         * tests/test-wcrtomb-w32-4.sh: New file.
41474         * tests/test-wcrtomb-w32-5.sh: New file.
41475         * tests/test-wcrtomb-w32.c: New file.
41476         * modules/wcrtomb-tests (Files): Add them.
41477         (Makefile.am): Arrange to run these tests.
41478         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
41479         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
41481 2011-02-20  Bruno Haible  <bruno@clisp.org>
41483         wcrtomb: Enhance test.
41484         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
41486 2011-02-20  Bruno Haible  <bruno@clisp.org>
41488         mbrtowc: Tiny optimization.
41489         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
41491 2011-02-20  Jim Meyering  <meyering@redhat.com>
41493         test-exclude.c: remove unmatched #endif
41494         * tests/test-exclude.c: Remove stray #endif, left over from
41495         the change of a week ago.
41497 2011-02-19  Jim Meyering  <meyering@redhat.com>
41499         git-version-gen: skip "-dirty" check when appropriate
41500         * build-aux/git-version-gen: Don't run any git commands when the
41501         version string comes from .tarball-version.  Prior to this, we
41502         would run git update-index --refresh even from a just-unpacked
41503         tarball directory, and that could affect a .git/ directory in a
41504         parent of the build directory.  Reported by Mike Frysinger.
41506 2011-02-19  Bruno Haible  <bruno@clisp.org>
41508         unictype/property-byname: Reduce the size of the 'data' segment.
41509         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
41511 2011-02-19  Bruno Haible  <bruno@clisp.org>
41513         unictype/scripts: Reduce the size of the 'data' segment.
41514         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
41515         '%pic'.
41516         * lib/unictype/scripts_byname.gperf: Regenerated.
41518 2011-02-19  Bruno Haible  <bruno@clisp.org>
41520         stdint: Update documentation.
41521         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
41523 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
41525         stdint: omit redundant check for wchar.h
41526         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
41527         always tests whether wchar.h exists, so remove the now-redundant test.
41529 2011-02-18  Bruno Haible  <bruno@clisp.org>
41531         stdint: Cut dependency to module 'wchar'.
41532         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
41533         include the necessary prerequisites.
41534         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
41535         * modules/stdint (Depends-on): Remove wchar.
41536         (Makefile.am): Substitute HAVE_WCHAR_H.
41537         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
41539 2011-02-18  Eric Blake  <eblake@redhat.com>
41541         longlong: skip, rather than fail, on cross-compilation
41542         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
41543         when cross-compiling; regression from 2011-02-16.
41545 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
41547         * NEWS: Mention 2011-02-08 change to stdlib.
41549 2011-02-17  Bruno Haible  <bruno@clisp.org>
41551         getloadavg: Add comments about platforms.
41552         * m4/getloadavg.m4: Add comment.
41553         * lib/getloadavg.c: Likewise.
41555 2011-02-17  Bruno Haible  <bruno@clisp.org>
41557         getloadavg: Fix link error on Solaris 2.6.
41558         * modules/getloadavg (Link): New section.
41559         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
41560         linking test-getloadavg.
41561         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
41562         getloadavg.
41564 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
41566         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
41567         It was 'int', but this doesn't match the IRIX 6.5 manual.
41568         Suggested by Bruno Haible in
41569         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00207.html>.
41571 2011-02-17  Bruno Haible  <bruno@clisp.org>
41573         havelib: Fix comments.
41574         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
41575         change.
41577 2011-02-17  Bruno Haible  <bruno@clisp.org>
41579         havelib: Update config.rpath.
41580         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
41582 2011-02-17  Bruno Haible  <bruno@clisp.org>
41584         getloadavg test: Add some plausibility checks.
41585         * tests/test-getloadavg.c (check_avg): Print a warning when the value
41586         is improbable.
41588 2011-02-16  Eric Blake  <eblake@redhat.com>
41590         maintainer-makefile: make syntax-check a no-op from tarballs
41591         * top/maint.mk (no-vc-detected): New rule.
41592         (local-checks-available): Use it to avoid hanging if someone tries
41593         'make syntax-check' from a tarball.  Also append to any non-syntax
41594         checks already defined in cfg.mk.
41596 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
41598         longlong: tune, particularly for common case of c99
41600         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
41601         or running anything if c99, or if unsigned long long int does not
41602         work.  In either case, we know the answer without further tests.
41603         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
41604         it at most once, and use its results for both long long int and
41605         unsigned long long int.  This is more likely to be efficient in
41606         the common case where the program wants to check for both long
41607         long int and unsigned long long int.
41608         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
41609         since the answer is already known.
41611 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
41613         getloadavg: set errno
41614         * lib/getloadavg.c: Set errno when returning -1.  If no other
41615         error number looks appropriate, set it to ENOSYS if the getloadavg
41616         looks like it can't possibly ever work, ENOTSUP otherwise.
41617         Suggested by Bruno Haible in
41618         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00187.html>.
41620         getloadavg: trim unused parts and speed up 'configure'
41621         * NEWS: Document this.
41622         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
41623         always compiled if getloadavg is absent.
41624         Move test code to ...
41625         * tests/test-getloadavg.c: New file, containing previous
41626         contents of test from lib/getloadavg.c.  It also contains
41627         suggestions by Bruno Haible in
41628         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00186.html>.
41629         * modules/getloadavg-tests: New file.
41630         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
41631         Do tests in the same order as they're needed for getloadavg.c.
41632         Omit setgid-related tests that generate symbols KMEM_GROUP,
41633         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
41634         Do only the tests that are needed to see whether the system has
41635         getloadavg, moving the other tests into ...
41636         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
41637         NLIST_NAME_UNION; nobody should be using it.  Do not define
41638         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
41639         relevant, as the user of this module shouldn't care how getloadavg
41640         is implemented.
41642         getloadavg: omit unused var
41643         * lib/getloadavg.c (getloadavg): Omit unused local variable.
41645 2011-02-15  Jim Meyering  <meyering@redhat.com>
41647         doc: update users.txt
41648         * users.txt: Update iwhd's URL.
41650 2011-02-13  Bruno Haible  <bruno@clisp.org>
41652         Consistent macro naming for macros that use GCC __attribute__.
41653         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
41654         _ATTRIBUTE_NONNULL_.
41655         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
41656         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
41657         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
41658         ATTRIBUTE_DEPRECATED.
41659         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
41660         ATTRIBUTE_NORETURN.
41661         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
41662         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
41663         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
41664         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
41665         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
41666         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
41667         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
41668         ATTRIBUTE_SENTINEL.
41669         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
41670         ATTRIBUTE_RETURN_CHECK.
41671         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
41672         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
41673         ATTRIBUTE_NORETURN.
41674         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
41675         Reported by Paul Eggert.
41677 2011-02-13  Bruno Haible  <bruno@clisp.org>
41679         Don't interfere with a program's definition of __attribute__.
41680         * lib/argp.h (__attribute__): Remove definition.
41681         (_GL_ATTRIBUTE_FORMAT): New macro.
41682         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
41683         * lib/argp-fmtstream.h (__attribute__): Remove definition.
41684         (_GL_ATTRIBUTE_FORMAT): New macro.
41685         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
41686         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
41687         GCC 3 or newer.
41688         * lib/error.h (__attribute__): Remove definition.
41689         (_GL_ATTRIBUTE_FORMAT): New macro.
41690         (error, error_at_line): Use it.
41691         * lib/hash.h (__attribute__): Remove definition.
41692         (ATTRIBUTE_WUR): Update definition. Define always.
41693         * lib/openat.h (__attribute__): Remove definition.
41694         (ATTRIBUTE_NORETURN): Update definition. Define always.
41695         * lib/sigpipe-die.h (__attribute__): Remove definition.
41696         (ATTRIBUTE_NORETURN): Update definition. Define always.
41697         * lib/vasnprintf.h (__attribute__): Remove definition.
41698         (_GL_ATTRIBUTE_FORMAT): New macro.
41699         (asnprintf, vasnprintf): Use it.
41700         * lib/xalloc.h (__attribute__): Remove definition.
41701         (ATTRIBUTE_NORETURN): Update definition. Define always.
41702         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
41703         * lib/xmemdup0.h (__attribute__): Remove definition.
41704         (ATTRIBUTE_NORETURN): Update definition. Define always.
41705         * lib/xprintf.h (__attribute__): Remove definition.
41706         (_GL_ATTRIBUTE_FORMAT): New macro.
41707         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
41708         * lib/xstrtol.h (__attribute__): Remove definition.
41709         (ATTRIBUTE_NORETURN): Update definition. Define always.
41710         * lib/xvasprintf.h (__attribute__): Remove definition.
41711         (_GL_ATTRIBUTE_FORMAT): New macro.
41712         (xasprintf, xvasprintf): Use it.
41713         * tests/test-argmatch.c (__attribute__): Remove definition.
41714         (ATTRIBUTE_NORETURN): Update definition. Define always.
41715         * tests/test-exclude.c (__attribute__): Remove definition.
41716         (ATTRIBUTE_NORETURN): Update definition. Define always.
41717         Reported by Paul Eggert.
41719 2011-02-13  Bruno Haible  <bruno@clisp.org>
41721         mbrtowc: Add more tests for native Windows platforms.
41722         * tests/test-mbrtowc-w32-1.sh: New file.
41723         * tests/test-mbrtowc-w32-2.sh: New file.
41724         * tests/test-mbrtowc-w32-3.sh: New file.
41725         * tests/test-mbrtowc-w32-4.sh: New file.
41726         * tests/test-mbrtowc-w32-5.sh: New file.
41727         * tests/test-mbrtowc-w32.c: New file.
41728         * modules/mbrtowc-tests (Files): Add them.
41729         (Makefile.am): Arrange to run these tests.
41730         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
41731         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
41733 2011-02-13  Bruno Haible  <bruno@clisp.org>
41735         mbrtowc: Work around native Windows bug.
41736         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
41737         guess when no suitable locale for testing was found.
41738         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
41740 2011-02-13  Bruno Haible  <bruno@clisp.org>
41742         mbsinit: Work around mingw bug.
41743         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
41744         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
41745         Windows.
41746         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
41748 2011-02-13  Bruno Haible  <bruno@clisp.org>
41750         mbsinit: Don't crash for a NULL argument.
41751         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
41752         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
41754 2011-02-13  Bruno Haible  <bruno@clisp.org>
41756         Don't interfere with a program's definition of __attribute__.
41757         * lib/stdio.in.h (__attribute__): Remove definition.
41758         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
41759         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
41760         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
41761         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
41762         * lib/string.in.h (__attribute__): Remove definition.
41763         Reported by Paul Eggert.
41765 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
41767         stdlib: don't get in the way of non-GCC __attribute__
41768         See thread starting at
41769         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00161.html>.
41770         Revert previous stdlib change, installing the following instead:
41771         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
41772         to get in the way of a non-GCC compiler that supports __attribute__.
41773         (_GL_ATTRIBUTE_RETURN): New macro.
41774         (_Exit): Use it instead of __attribute__.
41776 2011-02-12  Bruno Haible  <bruno@clisp.org>
41778         quotearg test: Avoid test failure on mingw.
41779         * tests/test-quotearg.sh: Convert the locale identifier from native
41780         Windows syntax to Unix syntax.
41782 2011-02-12  Bruno Haible  <bruno@clisp.org>
41784         setlocale: Prefer gnulib's override over libintl's override.
41785         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
41786         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
41787         GNULIB_defined_setlocale is set.
41789 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
41791         stdlib: support non-GCC __attribute__
41793         Fix a serious and tricky problem encountered when attempting to
41794         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
41795         5.5, but it crashed due to memory corruption on Solaris 10 with
41796         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
41797         bits that are otherwise zero.  This tagging is optional inside
41798         Emacs but is preferred and is used when __attribute__ ((__aligned
41799         (8))) works, as it does with both recent-enough GCC and with Sun C
41800         5.11.  However, Sun C 5.11 is not GCC and does not #define
41801         __GNUC__ and __GNUC_MINOR__.
41803         When I added the getloadavg module to Emacs, it brought in
41804         stdlib.in.h, which contained this fragment:
41806            #ifndef __attribute__
41807            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
41808            #  define __attribute__(Spec)   /* empty */
41809            # endif
41810            #endif
41812         When files that include <stdlib.h> were compiled with Sun C 5.11,
41813         the above code disabled __attribute__ ((__aligned (8))), which
41814         caused variables to not be properly aligned, which eventually led
41815         to the pointer corruption mentioned above.  (This was a bit hard
41816         to diagnose, unfortunately.)
41818         Several "#define __attribute__(X) /* empty */" code snippets need
41819         to be eradicated from Gnulib to work with non-GCC compilers that
41820         support __attribute__.  The Autoconf way to do this is to test for
41821         each kind of attribute that we want support for, and selectively
41822         enable that in source code.
41824         Fix this problem just for stdlib.h, by adding a test for the
41825         __noreturn__ attribute, and change stdlib.in.h to use that test
41826         when needed.  This technique can be easily generalized to the
41827         other *.in.h files and attributes, and a similar technique can be
41828         used for *.h and *.c files.  This patch is enough to solve the
41829         problem for Emacs + getloadavg, and I thought I'd publish it for
41830         feedback before undertaking further, similar fixes in other
41831         modules.
41833         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
41834         because it's not needed for stdlib.h.  It merely substitutes the
41835         value directly into stdlib.h.  We may well need to #define it, or
41836         similar symbols, for other modules, but it's nice to also have an
41837         option to not #define it for applications like Emacs that do not
41838         need it.
41840         * lib/stdlib.in.h (__attribute__): Do not #define.
41841         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
41842         be defined only if the _Exit module is also used.
41843         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
41844         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
41845         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
41846         platforms.
41847         * modules/_Exit (Files): Add m4/attribute.m4.
41848         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
41849         * m4/attribute.m4: New file.
41851 2011-02-12  Bruno Haible  <bruno@clisp.org>
41853         wcsrtombs: Work around bug on native Windows.
41854         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
41855         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
41856         instead of len.
41857         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
41859 2011-02-12  Bruno Haible  <bruno@clisp.org>
41861         mbsrtowcs: Work around bug on native Windows.
41862         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
41863         against mingw bug.
41864         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
41866 2011-02-12  Bruno Haible  <bruno@clisp.org>
41868         Avoid setlocale bugs in tests.
41869         * modules/btowc (Dependencies): Add setlocale.
41870         * modules/c-strcase (Dependencies): Likewise.
41871         * modules/mbmemcasecmp (Dependencies): Likewise.
41872         * modules/mbmemcasecoll (Dependencies): Likewise.
41873         * modules/mbrtowc (Dependencies): Likewise.
41874         * modules/mbscasecmp (Dependencies): Likewise.
41875         * modules/mbscasestr (Dependencies): Likewise.
41876         * modules/mbschr (Dependencies): Likewise.
41877         * modules/mbscspn (Dependencies): Likewise.
41878         * modules/mbsinit (Dependencies): Likewise.
41879         * modules/mbsncasecmp (Dependencies): Likewise.
41880         * modules/mbsnrtowcs (Dependencies): Likewise.
41881         * modules/mbspbrk (Dependencies): Likewise.
41882         * modules/mbspcasecmp (Dependencies): Likewise.
41883         * modules/mbsrchr (Dependencies): Likewise.
41884         * modules/mbsrtowcs (Dependencies): Likewise.
41885         * modules/mbsspn (Dependencies): Likewise.
41886         * modules/mbsstr (Dependencies): Likewise.
41887         * modules/nl_langinfo (Dependencies): Likewise.
41888         * modules/quotearg (Dependencies): Likewise.
41889         * modules/unicase/locale-language (Dependencies): Likewise.
41890         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
41891         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
41892         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
41893         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
41894         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
41895         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
41896         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
41897         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
41898         * modules/vasnprintf-posix (Dependencies): Likewise.
41899         * modules/wcrtomb (Dependencies): Likewise.
41900         * modules/wcsnrtombs (Dependencies): Likewise.
41901         * modules/wcsrtombs (Dependencies): Likewise.
41903 2011-02-12  Bruno Haible  <bruno@clisp.org>
41905         setlocale: Workaround native Windows bug.
41906         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
41907         succeeds but sets LC_CTYPE to "C", report a failure.
41908         * tests/test-setlocale2.sh: New file.
41909         * tests/test-setlocale2.c: New file.
41910         * modules/setlocale-tests (Files): Add the new files.
41911         (Makefile.am): Enable test-setlocale2.sh test.
41912         * doc/posix-functions/setlocale.texi: Mention workaround.
41914 2011-02-11  Bruno Haible  <bruno@clisp.org>
41916         Tests for module 'setlocale'.
41917         * modules/setlocale-tests: New file.
41918         * tests/test-setlocale1.sh: New file.
41919         * tests/test-setlocale1.c: New file.
41921         New module 'setlocale'.
41922         * lib/locale.in.h (setlocale): New declaration.
41923         * lib/setlocale.c: New file, based on
41924         gettext/gettext-runtime/intl/setlocale.c.
41925         * m4/setlocale.m4: New file.
41926         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
41927         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
41928         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
41929         REPLACE_SETLOCALE.
41930         * modules/setlocale: New file.
41931         * tests/test-locale-c++.cc: Test the declaration of setlocale.
41932         * doc/posix-functions/setlocale.texi: Mention the new module.
41934 2011-02-11  Bruno Haible  <bruno@clisp.org>
41936         Prepare for locale dependent tests on mingw.
41937         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
41938         because it has the wrong locale encoding.
41939         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
41940         French_France.1252 instead of "fr".
41941         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
41942         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
41943         because it has the wrong locale encoding.
41944         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
41945         native Windows, try Turkish_Turkey.65001.
41946         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
41947         Chinese_China.54936.
41949         Prepare for locale dependent tests on mingw.
41950         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
41951         differently.
41952         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
41953         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
41954         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
41955         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
41957 2011-02-11  Eric Blake  <eblake@redhat.com>
41959         strptime: avoid compiler warnings
41960         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
41961         compiler warnings about dead code.
41962         Reported by Daniel P. Berrange.
41964 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
41966         doc: update users.txt
41967         * users.txt: Add rcs.
41969 2011-02-10  John W. Eaton  <jwe@gnu.org>
41971         doc: update users.txt
41972         * users.txt: Add octave.
41974 2011-02-10  Jim Meyering  <meyering@redhat.com>
41976         doc: update users.txt
41977         * users.txt: Add iwhd.
41979 2011-02-09  Bruno Haible  <bruno@clisp.org>
41981         gnulib-tool: Make copyright notice adjustment more robust.
41982         * gnulib-tool (func_import): In sed_transform_main_lib_file,
41983         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
41984         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
41985         License".
41986         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
41988 2011-02-06  Bruno Haible  <bruno@clisp.org>
41990         New module 'towctrans'.
41991         * modules/towctrans: New file.
41992         * lib/wctype.in.h (towctrans): New declaration.
41993         * lib/towctrans.c: New file.
41994         * lib/towctrans-impl.h: New file.
41995         * m4/towctrans.m4: New file.
41996         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
41997         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
41998         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
41999         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
42000         * doc/posix-functions/towctrans.texi: Mention the new module.
42002 2011-02-06  Bruno Haible  <bruno@clisp.org>
42004         New module 'wctrans'.
42005         * modules/wctrans: New file.
42006         * lib/wctype.in.h (wctrans): New declaration.
42007         * lib/wctrans.c: New file.
42008         * lib/wctrans-impl.h: New file.
42009         * m4/wctrans.m4: New file.
42010         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
42011         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
42012         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
42013         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
42014         * doc/posix-functions/wctrans.texi: Mention the new module.
42016 2011-02-06  Bruno Haible  <bruno@clisp.org>
42018         New module 'iswctype'.
42019         * modules/iswctype: New file.
42020         * lib/wctype.in.h (iswctype): New declaration.
42021         * lib/iswctype.c: New file.
42022         * lib/iswctype-impl.h: New file.
42023         * m4/iswctype.m4: New file.
42024         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
42025         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
42026         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
42027         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
42028         * doc/posix-functions/iswctype.texi: Mention the new module and the
42029         HP-UX 11.00 problem.
42031 2011-02-06  Bruno Haible  <bruno@clisp.org>
42033         New module 'wctype'.
42034         * modules/wctype: Change to represent the wctype() substitute.
42035         * lib/wctype.in.h (wctype): New declaration.
42036         * lib/wctype.c: New file.
42037         * lib/wctype-impl.h: New file.
42038         * m4/wctype.m4: New file.
42039         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
42040         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
42041         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
42042         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
42043         * doc/posix-functions/wctype.texi: Mention the new module and the
42044         HP-UX 11.00 problem.
42046 2011-02-06  Bruno Haible  <bruno@clisp.org>
42048         wctype-h: Ensure wctype_t and wctrans_t are defined.
42049         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
42050         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
42051         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
42052         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
42053         HAVE_WCTRANS_T.
42054         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
42056 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
42058         flock: fix license typo
42060         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
42061         omitted.
42063 2011-02-08  Bruno Haible  <bruno@clisp.org>
42065         Split large sed scripts, for HP-UX sed.
42066         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
42067         to avoid HP-UX limit of 99 commands, in the near future.
42068         * modules/stdlib (Makefile.am): Likewise.
42069         * modules/unistd (Makefile.am): Likewise.
42070         * modules/wchar (Makefile.am): Likewise.
42071         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
42072         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
42073         <http://lists.gnu.org/r/bug-gnulib/2010-01/msg00216.html>.
42075 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
42076             Bruno Haible  <bruno@clisp.org>
42078         stdlib: improve random_r modularization
42079         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
42080         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
42081         you also need the random_r module to get this material right.
42082         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
42083         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
42084         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
42086 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
42088         stdlib: don't depend on stdint
42089         * lib/stdlib.in.h: Don't include <stdint.h> merely because
42090         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
42091         be independent of whether stdint.h is needed.
42092         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
42093         here, instead of ...
42094         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
42095         struct random_data should be using the random_r module, not just
42096         the stdlib module (which wouldn't make sense: what package needs
42097         just struct random_data without also needing random_r?).
42098         * modules/stdlib (Depends-on): Remove stdint.
42100         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
42101         See the thread rooted at
42102         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00090.html>.
42103         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
42104         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
42105         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
42106         __VMS)); previously it was always included (via fcntl--.h).
42107         (getloadavg): Do not use c_strtod.  Instead, approximate it by
42108         hand; this is good enough for load averages.  Also, do not use
42109         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
42110         flags directly if available and don't bother otherwise.  (Packages
42111         that need the extra reliability should use the modules that define
42112         these flags on older platforms that lack them.)
42113         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
42114         fcntl-safer.
42116 2011-02-08  Jim Meyering  <meyering@redhat.com>
42118         di-set.h, ino-map.h: add multiple-inclusion guard
42119         Technically, the guard is required only for ino-map.h, due to its
42120         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
42121         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
42122         * lib/ino-map.h: Likewise.
42124 2011-02-06  Bruno Haible  <bruno@clisp.org>
42126         iswblank: Ensure declaration on glibc systems.
42127         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
42128         * modules/iswblank (Dependencies): Add 'extensions'.
42129         * doc/posix-functions/iswblank.texi: Document the glibc problem.
42131 2011-02-06  Bruno Haible  <bruno@clisp.org>
42133         New module 'iswblank'.
42134         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
42135         * modules/iswblank: New file.
42136         * modules/wctype-h (Files): Remove lib/iswblank.c.
42137         (Makefile.am): Substitute GNULIB_ISWBLANK.
42138         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
42139         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
42140         (gl_WCTYPE_H_DEFAULTS): New macro.
42141         (gl_WCTYPE_H): Require it. Remove iswblank related code.
42142         * modules/iswblank-tests: New file.
42143         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
42144         * tests/test-wctype-h.c (main): Remove iswblank tests.
42145         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
42146         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
42147         of 'wctype-h'.
42148         * NEWS: Mention the change.
42149         * modules/mbchar (Depends-on): Add iswblank.
42151 2011-02-08  Bruno Haible  <bruno@clisp.org>
42153         di-set tests: Refactor.
42154         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
42155         unnecessary includes.
42156         (ASSERT): Remove macro.
42157         (main): Make C90 compliant by avoiding variable declaration after
42158         statement.
42159         * modules/di-set-tests (Files): Add tests/macros.h.
42161 2011-02-08  Bruno Haible  <bruno@clisp.org>
42163         ino-map tests: Refactor.
42164         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
42165         unnecessary includes.
42166         (ASSERT): Remove macro.
42167         (main): Make C90 compliant by avoiding variable declaration after
42168         statement.
42169         * modules/ino-map-tests (Files): Add tests/macros.h.
42171 2011-02-08  Jim Meyering  <meyering@redhat.com>
42173         di-set: add "const" to a cast
42174         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
42175         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
42177 2011-02-06  Bruno Haible  <bruno@clisp.org>
42179         Rename module 'wctype' to 'wctype-h'.
42180         * modules/wctype-h: Renamed from modules/wctype.
42181         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
42182         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
42183         (Files, Depends-on, Makefile.am): Update.
42184         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
42185         (Files, Makefile.am): Update.
42186         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
42187         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
42188         * doc/posix-headers/wctype.texi: Update.
42189         * doc/posix-functions/iswalnum.texi: Update.
42190         * doc/posix-functions/iswalpha.texi: Update.
42191         * doc/posix-functions/iswblank.texi: Update.
42192         * doc/posix-functions/iswcntrl.texi: Update.
42193         * doc/posix-functions/iswdigit.texi: Update.
42194         * doc/posix-functions/iswgraph.texi: Update.
42195         * doc/posix-functions/iswlower.texi: Update.
42196         * doc/posix-functions/iswprint.texi: Update.
42197         * doc/posix-functions/iswpunct.texi: Update.
42198         * doc/posix-functions/iswspace.texi: Update.
42199         * doc/posix-functions/iswupper.texi: Update.
42200         * doc/posix-functions/iswxdigit.texi: Update.
42201         * doc/posix-functions/towlower.texi: Update.
42202         * doc/posix-functions/towupper.texi: Update.
42203         * NEWS: Mention the change.
42204         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
42205         * modules/mbchar (Dependencies): Likewise.
42206         * modules/mbswidth (Dependencies): Likewise.
42207         * modules/quotearg (Dependencies): Likewise.
42208         * modules/regex (Dependencies): Likewise.
42209         * modules/wcscasecmp (Dependencies): Likewise.
42210         * modules/wcsncasecmp (Dependencies): Likewise.
42211         * modules/wcwidth (Dependencies): Likewise.
42213 2011-02-06  Bruno Haible  <bruno@clisp.org>
42215         New module 'wcswidth'.
42216         * modules/wcswidth: New file.
42217         * lib/wchar.in.h (wcswidth): New declaration.
42218         * lib/wcswidth.c: New file.
42219         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
42220         * m4/wcswidth.m4: New file.
42221         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
42222         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
42223         REPLACE_WCSWIDTH.
42224         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
42225         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
42226         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
42227         * doc/posix-functions/wcswidth.texi: Mention the new module.
42229 2011-02-06  Bruno Haible  <bruno@clisp.org>
42231         New module 'wcstok'.
42232         * modules/wcstok: New file.
42233         * lib/wchar.in.h (wcstok): New declaration.
42234         * lib/wcstok.c: New file.
42235         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
42236         * m4/wcstok.m4: New file.
42237         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
42238         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
42239         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
42240         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
42241         * doc/posix-functions/wcstok.texi: Mention the new module.
42243 2011-02-06  Bruno Haible  <bruno@clisp.org>
42245         New module 'wcsstr'.
42246         * modules/wcsstr: New file.
42247         * lib/wchar.in.h (wcsstr): New declaration.
42248         * lib/wcsstr.c: New file.
42249         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
42250         * m4/wcsstr.m4: New file.
42251         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
42252         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
42253         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
42254         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
42255         * doc/posix-functions/wcsstr.texi: Mention the new module.
42257 2011-02-06  Bruno Haible  <bruno@clisp.org>
42259         New module 'wcspbrk'.
42260         * modules/wcspbrk: New file.
42261         * lib/wchar.in.h (wcspbrk): New declaration.
42262         * lib/wcspbrk.c: New file.
42263         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
42264         * m4/wcspbrk.m4: New file.
42265         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
42266         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
42267         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
42268         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
42269         * doc/posix-functions/wcspbrk.texi: Mention the new module.
42271 2011-02-06  Bruno Haible  <bruno@clisp.org>
42273         New module 'wcsspn'.
42274         * modules/wcsspn: New file.
42275         * lib/wchar.in.h (wcsspn): New declaration.
42276         * lib/wcsspn.c: New file.
42277         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
42278         * m4/wcsspn.m4: New file.
42279         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
42280         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
42281         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
42282         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
42283         * doc/posix-functions/wcsspn.texi: Mention the new module.
42285 2011-02-06  Bruno Haible  <bruno@clisp.org>
42287         New module 'wcscspn'.
42288         * modules/wcscspn: New file.
42289         * lib/wchar.in.h (wcscspn): New declaration.
42290         * lib/wcscspn.c: New file.
42291         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
42292         * m4/wcscspn.m4: New file.
42293         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
42294         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
42295         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
42296         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
42297         * doc/posix-functions/wcscspn.texi: Mention the new module.
42299 2011-02-06  Bruno Haible  <bruno@clisp.org>
42301         New module 'wcsrchr'.
42302         * modules/wcsrchr: New file.
42303         * lib/wchar.in.h (wcsrchr): New declaration.
42304         * lib/wcsrchr.c: New file.
42305         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
42306         * m4/wcsrchr.m4: New file.
42307         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
42308         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
42309         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
42310         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
42311         * doc/posix-functions/wcsrchr.texi: Mention the new module.
42313 2011-02-06  Bruno Haible  <bruno@clisp.org>
42315         New module 'wcschr'.
42316         * modules/wcschr: New file.
42317         * lib/wchar.in.h (wcschr): New declaration.
42318         * lib/wcschr.c: New file.
42319         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
42320         * m4/wcschr.m4: New file.
42321         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
42322         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
42323         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
42324         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
42325         * doc/posix-functions/wcschr.texi: Mention the new module.
42327 2011-02-06  Bruno Haible  <bruno@clisp.org>
42329         New module 'wcsdup'.
42330         * modules/wcsdup: New file.
42331         * lib/wchar.in.h (wcsdup): New declaration.
42332         * lib/wcsdup.c: New file.
42333         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
42334         * m4/wcsdup.m4: New file.
42335         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
42336         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
42337         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
42338         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
42339         * doc/posix-functions/wcsdup.texi: Mention the new module.
42341 2011-02-06  Bruno Haible  <bruno@clisp.org>
42343         New module 'wcsxfrm'.
42344         * modules/wcsxfrm: New file.
42345         * lib/wchar.in.h (wcsxfrm): New declaration.
42346         * lib/wcsxfrm.c: New file.
42347         * lib/wcsxfrm-impl.h: New file.
42348         * m4/wcsxfrm.m4: New file.
42349         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
42350         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
42351         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
42352         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
42353         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
42355 2011-02-06  Bruno Haible  <bruno@clisp.org>
42357         New module 'wcscoll'.
42358         * modules/wcscoll: New file.
42359         * lib/wchar.in.h (wcscoll): New declaration.
42360         * lib/wcscoll.c: New file.
42361         * lib/wcscoll-impl.h: New file.
42362         * m4/wcscoll.m4: New file.
42363         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
42364         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
42365         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
42366         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
42367         * doc/posix-functions/wcscoll.texi: Mention the new module.
42369 2011-02-06  Bruno Haible  <bruno@clisp.org>
42371         New module 'wcsncasecmp'.
42372         * modules/wcsncasecmp: New file.
42373         * lib/wchar.in.h (wcsncasecmp): New declaration.
42374         * lib/wcsncasecmp.c: New file.
42375         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
42376         * m4/wcsncasecmp.m4: New file.
42377         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
42378         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
42379         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
42380         HAVE_WCSNCASECMP.
42381         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
42382         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
42384 2011-02-06  Bruno Haible  <bruno@clisp.org>
42386         New module 'wcscasecmp'.
42387         * modules/wcscasecmp: New file.
42388         * lib/wchar.in.h (wcscasecmp): New declaration.
42389         * lib/wcscasecmp.c: New file.
42390         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
42391         * m4/wcscasecmp.m4: New file.
42392         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
42393         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
42394         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
42395         HAVE_WCSCASECMP.
42396         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
42397         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
42399 2011-02-05  Bruno Haible  <bruno@clisp.org>
42401         New module 'wcsncmp'.
42402         * modules/wcsncmp: New file.
42403         * lib/wchar.in.h (wcsncmp): New declaration.
42404         * lib/wcsncmp.c: New file.
42405         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
42406         * m4/wcsncmp.m4: New file.
42407         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
42408         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
42409         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
42410         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
42411         * doc/posix-functions/wcsncmp.texi: Mention the new module.
42413 2011-02-05  Bruno Haible  <bruno@clisp.org>
42415         New module 'wcscmp'.
42416         * modules/wcscmp: New file.
42417         * lib/wchar.in.h (wcscmp): New declaration.
42418         * lib/wcscmp.c: New file.
42419         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
42420         * m4/wcscmp.m4: New file.
42421         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
42422         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
42423         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
42424         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
42425         * doc/posix-functions/wcscmp.texi: Mention the new module.
42427 2011-02-05  Bruno Haible  <bruno@clisp.org>
42429         New module 'wcsncat'.
42430         * modules/wcsncat: New file.
42431         * lib/wchar.in.h (wcsncat): New declaration.
42432         * lib/wcsncat.c: New file.
42433         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
42434         * m4/wcsncat.m4: New file.
42435         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
42436         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
42437         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
42438         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
42439         * doc/posix-functions/wcsncat.texi: Mention the new module.
42441 2011-02-05  Bruno Haible  <bruno@clisp.org>
42443         New module 'wcscat'.
42444         * modules/wcscat: New file.
42445         * lib/wchar.in.h (wcscat): New declaration.
42446         * lib/wcscat.c: New file.
42447         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
42448         * m4/wcscat.m4: New file.
42449         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
42450         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
42451         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
42452         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
42453         * doc/posix-functions/wcscat.texi: Mention the new module.
42455 2011-02-05  Bruno Haible  <bruno@clisp.org>
42457         New module 'wcpncpy'.
42458         * modules/wcpncpy: New file.
42459         * lib/wchar.in.h (wcpncpy): New declaration.
42460         * lib/wcpncpy.c: New file.
42461         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
42462         * m4/wcpncpy.m4: New file.
42463         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
42464         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
42465         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
42466         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
42467         * doc/posix-functions/wcpncpy.texi: Mention the new module.
42469 2011-02-05  Bruno Haible  <bruno@clisp.org>
42471         New module 'wcsncpy'.
42472         * modules/wcsncpy: New file.
42473         * lib/wchar.in.h (wcsncpy): New declaration.
42474         * lib/wcsncpy.c: New file.
42475         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
42476         * m4/wcsncpy.m4: New file.
42477         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
42478         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
42479         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
42480         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
42481         * doc/posix-functions/wcsncpy.texi: Mention the new module.
42483 2011-02-05  Bruno Haible  <bruno@clisp.org>
42485         New module 'wcpcpy'.
42486         * modules/wcpcpy: New file.
42487         * lib/wchar.in.h (wcpcpy): New declaration.
42488         * lib/wcpcpy.c: New file.
42489         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
42490         * m4/wcpcpy.m4: New file.
42491         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
42492         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
42493         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
42494         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
42495         * doc/posix-functions/wcpcpy.texi: Mention the new module.
42497 2011-02-05  Bruno Haible  <bruno@clisp.org>
42499         New module 'wcscpy'.
42500         * modules/wcscpy: New file.
42501         * lib/wchar.in.h (wcscpy): New declaration.
42502         * lib/wcscpy.c: New file.
42503         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
42504         * m4/wcscpy.m4: New file.
42505         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
42506         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
42507         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
42508         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
42509         * doc/posix-functions/wcscpy.texi: Mention the new module.
42511 2011-02-05  Bruno Haible  <bruno@clisp.org>
42513         New module 'wcsnlen'.
42514         * modules/wcsnlen: New file.
42515         * lib/wchar.in.h (wcsnlen): New declaration.
42516         * lib/wcsnlen.c: New file.
42517         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
42518         * m4/wcsnlen.m4: New file.
42519         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
42520         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
42521         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
42522         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
42523         * doc/posix-functions/wcsnlen.texi: Mention the new module.
42525 2011-02-05  Bruno Haible  <bruno@clisp.org>
42527         New module 'wcslen'.
42528         * modules/wcslen: New file.
42529         * lib/wchar.in.h (wcslen): New declaration.
42530         * lib/wcslen.c: New file.
42531         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
42532         * m4/wcslen.m4: New file.
42533         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
42534         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
42535         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
42536         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
42537         * doc/posix-functions/wcslen.texi: Mention the new module.
42539 2011-02-05  Bruno Haible  <bruno@clisp.org>
42541         New module 'wmemset'.
42542         * modules/wmemset: New file.
42543         * lib/wchar.in.h (wmemset): New declaration.
42544         * lib/wmemset.c: New file.
42545         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
42546         * m4/wmemset.m4: New file.
42547         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
42548         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
42549         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
42550         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
42551         * doc/posix-functions/wmemset.texi: Mention the new module.
42553 2011-02-05  Bruno Haible  <bruno@clisp.org>
42555         New module 'wmemmove'.
42556         * modules/wmemmove: New file.
42557         * lib/wchar.in.h (wmemmove): New declaration.
42558         * lib/wmemmove.c: New file.
42559         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
42560         * m4/wmemmove.m4: New file.
42561         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
42562         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
42563         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
42564         HAVE_WMEMMOVE.
42565         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
42566         * doc/posix-functions/wmemmove.texi: Mention the new module.
42568 2011-02-05  Bruno Haible  <bruno@clisp.org>
42570         New module 'wmemcpy'.
42571         * modules/wmemcpy: New file.
42572         * lib/wchar.in.h (wmemcpy): New declaration.
42573         * lib/wmemcpy.c: New file.
42574         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
42575         * m4/wmemcpy.m4: New file.
42576         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
42577         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
42578         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
42579         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
42580         * doc/posix-functions/wmemcpy.texi: Mention the new module.
42582 2011-02-05  Bruno Haible  <bruno@clisp.org>
42584         New module 'wmemcmp'.
42585         * modules/wmemcmp: New file.
42586         * lib/wchar.in.h (wmemcmp): New declaration.
42587         * lib/wmemcmp.c: New file.
42588         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
42589         * m4/wmemcmp.m4: New file.
42590         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
42591         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
42592         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
42593         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
42594         * doc/posix-functions/wmemcmp.texi: Mention the new module.
42596 2011-02-07  Jim Meyering  <meyering@redhat.com>
42598         di-set, ino-map: new modules, from coreutils
42599         * lib/di-set.c: New file.
42600         * lib/di-set.h: Likewise.
42601         * lib/ino-map.c: Likewise.
42602         * lib/ino-map.h: Likewise.
42603         * modules/di-set: Likewise.
42604         * modules/di-set-tests: Likewise.
42605         * modules/ino-map: Likewise.
42606         * modules/ino-map-tests: Likewise.
42607         * tests/test-di-set.c: Likewise.
42608         * tests/test-ino-map.c: Likewise.
42610 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
42612         getloadavg: merge minor changes from Emacs
42614         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
42615         (getloadavg): Use memset, not bzero.
42617         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
42618         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
42619         clash (bug#86).
42621 2010-11-14  Bruno Haible  <bruno@clisp.org>
42623         Allow multiple gnulib generated replacements to coexist.
42624         * lib/getopt.in.h (struct option): Avoid identical redefinition.
42625         * lib/inttypes.in.h (imaxdiv_t): Likewise.
42626         * lib/langinfo.in.h (nl_item): Likewise.
42627         * lib/math.in.h (_NaN, NAN): Likewise.
42628         * lib/netdb.in.h (struct addrinfo): Likewise.
42629         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
42630         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
42631         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
42632         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
42633         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
42634         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
42635         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
42636         pthread_mutexattr_init, pthread_mutexattr_settype,
42637         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
42638         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
42639         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
42640         pthread_spin_trylock, pthread_spin_unlock): Likewise.
42641         * lib/sched.in.h (struct sched_param): Likewise.
42642         * lib/se-selinux.in.h (security_class_t, security_context_t,
42643         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
42644         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
42645         lsetfilecon, fsetfilecon, security_check_context,
42646         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
42647         Likewise.
42648         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
42649         Likewise.
42650         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
42651         _gl_function_taking_int_returning_void_t, union sigval,
42652         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
42653         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
42654         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
42655         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
42656         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
42657         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
42658         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
42659         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
42660         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
42661         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
42662         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
42663         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
42664         socklen_t, rpl_fd_isset): Likewise.
42665         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
42666         * lib/sys_time.in.h (struct timeval): Likewise.
42667         * lib/sys_times.in.h (struct tms): Likewise.
42668         * lib/sys_utsname.in.h (struct utsname):
42669         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
42670         * lib/unistd.in.h (getpagesize): Likewise.
42671         * lib/wchar.in.h (mbstate_t): Likewise.
42672         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
42673         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
42674         towlower, towupper): Likewise.
42675         Reported by Sam Steingold <sds@gnu.org>.
42677 2011-02-05  Eric Blake  <eblake@redhat.com>
42679         unsetenv: work around Haiku issues
42680         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
42681         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
42683 2010-12-30  Bruce Korb  <bkorb@gnu.org>
42685         libposix: avoid calling error() within libposix
42686         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
42687         is defined.
42689 2011-02-05  Eric Blake  <eblake@redhat.com>
42691         strerror_r-posix: port to cygwin
42692         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
42693         implementation.
42694         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
42695         * tests/test-strerror_r.c (main): Fix test.
42696         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
42697         issue.
42699 2011-02-05  Bruno Haible  <bruno@clisp.org>
42701         New module 'wmemchr'.
42702         * modules/wmemchr: New file.
42703         * lib/wchar.in.h (wmemchr): New declaration.
42704         * lib/wmemchr.c: New file.
42705         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
42706         * m4/wmemchr.m4: New file.
42707         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
42708         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
42709         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
42710         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
42711         * doc/posix-functions/wmemchr.texi: Mention the new module.
42713 2011-02-04  Eric Blake  <eblake@redhat.com>
42715         fdopendir: detect FreeBSD bug
42716         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
42717         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
42719 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
42721         stdbool: do not define HAVE_STDBOOL_H
42722         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
42723         AC_HEADER_STDBOOL.  All uses changed.  Do not define
42724         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
42725         imported from the latest Autoconf git.  It was motivated by Emacs,
42726         which uses gnulib but does not need HAVE_STDBOOL_H.
42728 2011-02-04  Bruno Haible  <bruno@clisp.org>
42730         wcsnrtombs: Prepare for new module wwcsnrtombs.
42731         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
42732         * lib/wcsnrtombs.c: Include it.
42733         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
42735         wcsrtombs: Prepare for new module wwcsrtombs.
42736         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
42737         * lib/wcsrtombs.c: Include it.
42738         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
42740         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
42741         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
42742         * lib/mbsnrtowcs.c: Include it.
42743         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
42745         mbsrtowcs: Prepare for new module mbsrtowwcs.
42746         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
42747         * lib/mbsrtowcs.c: Include it.
42748         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
42750 2011-02-04  Bruno Haible  <bruno@clisp.org>
42752         vasnprintf: Reduce use of malloc for small format strings.
42753         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
42754         (arguments): Add room for the first 7 arguments.
42755         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
42756         (char_directives, u8_directives, u16_directives, u32_directives): Add
42757         room for the first 7 directives.
42758         * lib/printf-parse.c: Include <string.h>.
42759         (PRINTF_PARSE): Change memory handling code so that it uses the first
42760         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
42761         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
42762         Reported by Pádraig Brady <P@draigbrady.com>.
42764 2011-01-31  Eric Blake  <eblake@redhat.com>
42766         dup2: work around Haiku bug
42767         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
42768         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
42769         * doc/posix-functions/dup2.texi (dup2): Document the bug.
42770         * tests/test-dup2.c (main): Enhance test.
42772 2011-01-31  Simon Josefsson  <simon@josefsson.org>
42774         doc: off_t is not available in eglibc 2.11.2 stdio.h.
42775         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
42776         declared by eglibc 2.11.2.
42777         * lib/stdio.in.h: Likewise.
42779 2011-01-31  Eric Blake  <eblake@redhat.com>
42781         ignore-value: add missing test dependency
42782         * tests/test-ignore-value.c: Revert previous change; stdio.h
42783         provides off_t.
42784         * modules/ignore-value-tests (Depends-on): Add missing dependency.
42786 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
42788         mktime: clarify long_int width checking
42789         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
42790         the top level, to make it clearer that the assumption about
42791         long_int width is being checked.  See
42792         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00554.html>.
42794 2011-01-30  Simon Josefsson  <simon@josefsson.org>
42796         ignore-value: Fix self-test.
42797         * tests/test-ignore-value.c: Include sys/types.h for off_t.
42799 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
42801         TYPE_MAXIMUM: avoid theoretically undefined behavior
42802         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
42803         negative number, which the C Standard says has undefined behavior.
42804         In practice this is not a problem, but might as well do it by the book.
42805         Reported by Rich Felker and Eric Blake; see
42806         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00493.html>.
42807         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
42808         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
42809         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
42810         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
42811         * m4/stdint.m4 (gl_STDINT_H): Likewise.
42812         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
42814         mktime: #undef mktime before #defining it
42815         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
42817         mktime: systematically normalize tm_isdst comparisons
42818         * lib/mktime.c (isdst_differ): New function.
42819         (__mktime_internal): Use it systematically for all isdst comparisons.
42820         This completes the fix for libc BZ #6723, and removes the need for
42821         normalizing tm_isdst.  See
42822         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
42823         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
42825         mktime: fix some integer overflow issues and sidestep the rest
42827         This was prompted by a bug report by Benjamin Lindner for MinGW
42828         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00472.html>.
42829         His bug is due to signed integer overflow (0 - INT_MIN), and I
42830         I scanned through mktime.c looking for other integer overflow
42831         problems, fixing all the bugs I found.
42833         Although the C Standard says the resulting code is still not safe
42834         in the presence of integer overflow, in practice it should be good
42835         enough for all real-world two's-complement implementations, except
42836         for debugging environments that deliberately trap on integer
42837         overflow (e.g., gcc -ftrapv).
42839         * lib/mktime.c (WRAPV): New macro.
42840         (SHR): Also check that long_int and time_t shift right in the
42841         usual way, before using the fast-but-unportable method.
42842         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
42843         used.  The code already assumed two's complement, so there's
42844         no need to test for alternatives.  All uses removed.
42845         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
42846         the C standard.  Problem reported by Rich Felker in
42847         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00488.html>.
42848         (twos_complement_arithmetic): Also check long_int and time_t.
42849         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
42850         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
42851         (__mktime_internal): Avoid integer overflow with unary subtraction
42852         in two instances where -1 - X is an adequate replacement for -X,
42853         since the calculations are approximate.
42855 2011-01-29  Eric Blake  <eblake@redhat.com>
42857         mktime: avoid infinite loop
42858         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
42859         type; behavior is still undefined but portable to all known targets.
42860         Reported by Rich Felker.
42862 2011-01-29  Simon Josefsson  <simon@josefsson.org>
42864         rename, unlink, same-inode: Relicense.
42865         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
42866         * modules/unlink (License): Likewise.
42867         * modules/same-inode (License): Likewise.
42869 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
42871         mktime: avoid problems on NetBSD 5 / i386
42872         * lib/mktime.c (long_int): New type.  This works around a problem
42873         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
42874         but time_t is 64 bits, and where I expect the existing code is
42875         wrong in some cases.
42876         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
42877         (ydhms_diff): Bring back the compile-time check for wide-enough
42878         year and yday.
42880         mktime: fix misspelling in comment
42881         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
42882         This merges all recent glibc changes of importance.
42884 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42886         move-if-change: cope with concurrent mv of identical file.
42887         * build-aux/move-if-change (CMPPROG): Accept environment
42888         variable as an override for `cmp'.
42889         (usage): Document CMPPROG.
42890         Adjust comparison to drop stdout.  Cope with failure of mv if
42891         the target file exists and is identical to the source, for
42892         parallel builds.
42893         Report from H.J. Lu against binutils in PR binutils/12283.
42895 2011-01-28  Bruce Korb  <bkorb@gnu.org>
42897         * users.txt: Mention sharutils.
42899 2011-01-28  Simon Josefsson  <simon@josefsson.org>
42901         * users.txt: Mention OATH Toolkit.
42903 2011-01-27  Bruno Haible  <bruno@clisp.org>
42905         Prepare for supporting FreeBSD 10.
42906         * build-aux/config.libpath: Remove handling of freebsd1*.
42908 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
42910         Prepare for supporting FreeBSD 10.
42911         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
42912         match FreeBSD 10.0.
42914 2011-01-27  Bruno Haible  <bruno@clisp.org>
42916         vma-iter, get-rusage-as: Add OpenBSD support.
42917         * modules/vma-iter (configure.ac): Test for mquery.
42918         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
42919         * lib/vma-iter.c: Include <sys/mman.h>.
42920         (vma_iterate): Add an implementation based on mquery().
42921         * lib/resource-ext.h (get_rusage_as): Update comments.
42922         * lib/get-rusage-as.c: Likewise.
42923         * lib/get-rusage-data.c: Likewise.
42925 2011-01-26  Karl Berry  <karl@gnu.org>
42927         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
42928         variables to make it easier to override the makeinfo program used.
42930 2011-01-26  Eric Blake  <eblake@redhat.com>
42932         fcntl: work around Haiku F_DUPFD bugs
42933         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
42934         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
42935         cloexec bit on duplication.
42936         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
42938 2011-01-26  Bruno Haible  <bruno@clisp.org>
42940         Enable memory leak tests on AIX.
42941         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
42942         * tests/test-fprintf-posix3.c (main): Likewise.
42944 2011-01-26  Bruno Haible  <bruno@clisp.org>
42946         Tests for module 'get-rusage-data'.
42947         * modules/get-rusage-data-tests: New file.
42948         * tests/test-get-rusage-data.c: New file.
42950         New module 'get-rusage-data'.
42951         * lib/resource-ext.h (get_rusage_data): New declaration.
42952         * lib/get-rusage-data.c: New file.
42953         * modules/get-rusage-data: New file.
42955 2011-01-25  Bruno Haible  <bruno@clisp.org>
42957         get-rusage-as: Allow for easier testing.
42958         * lib/resource-ext.h (get_rusage_as): Add comment.
42959         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
42960         (main): New function for interactive testing.
42962 2011-01-25  Bruno Haible  <bruno@clisp.org>
42964         vma-iter: Treat Haiku like BeOS.
42965         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
42966         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
42968 2011-01-25  Eric Blake  <eblake@redhat.com>
42970         c-stack: fix regression on cygwin when libsigsegv is present
42971         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
42973 2011-01-24  Bruno Haible  <bruno@clisp.org>
42975         vma-iter: Avoid empty intervals.
42976         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
42977         on an empty interval.
42979 2011-01-24  Jim Meyering  <meyering@redhat.com>
42981         u64: remove unnecessary #include
42982         * lib/u64.h: Don't include <stddef.h>.  It was not used.
42984 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
42986         Allow the user to avoid the HAVE_RAW_DECL_* macros.
42987         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
42989 2011-01-23  Bruno Haible  <bruno@clisp.org>
42991         New module 'vma-iter'.
42992         * lib/vma-iter.h: New file.
42993         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
42994         * modules/vma-iter: New file.
42995         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
42996         for get_rusage_as_via_iterator.
42997         (vma_iterate_callback): New function.
42998         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
42999         * modules/get-rusage-as (Depends-on): Add vma-iter.
43001 2011-01-23  Bruno Haible  <bruno@clisp.org>
43003         uninorm: Tweak includes.
43004         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
43005         Reported by Jim Meyering.
43007 2011-01-23  Bruno Haible  <bruno@clisp.org>
43009         get-rusage-as: Improve on NetBSD.
43010         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
43011         /proc, like on FreeBSD.
43013 2011-01-23  Jim Meyering  <meyering@redhat.com>
43015         xreadlink.h: remove unnecessary #include
43016         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
43018         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
43019         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
43021 2011-01-23  Bruno Haible  <bruno@clisp.org>
43023         get-rusage-as: Fix bug.
43024         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
43025         original limit when aborting the first loop.
43027 2011-01-23  Bruno Haible  <bruno@clisp.org>
43029         wctype: Ensure valid C syntax.
43030         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
43031         unconditionally, instead of gl_NEXT_HEADERS conditionally.
43033 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
43035         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
43036         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
43037         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
43038         as they are needed only for configure's test case.
43039         This removes two unnecessary symbols from config.h.
43041         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
43042         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
43043         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
43044         AC_CHECK_HEADERS_ONCE on a header that we also invoke
43045         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
43046         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
43047         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
43048         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
43049         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
43050         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
43051         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
43052         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
43053         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
43054         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
43055         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
43056         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
43057         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
43058         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
43060 2011-01-21  Eric Blake  <eblake@redhat.com>
43062         maintainer-makefile: work with older git for submodule check
43063         * top/maint.mk (public-submodule-commit): Rewrite to avoid
43064         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
43065         Reported by Matthias Bolte.
43067         bootstrap: minor portability fixes
43068         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
43069         (usage): Omit leading capital and trailing . on help phrases, per
43070         GNU Coding Standards.
43071         (check_versions, top level): Prefix messages with script name.
43073 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
43075         bootstrap: support --no-git option
43076         * build-aux/bootstrap: Add --no-git option, to be used when
43077         --gnulib-srcdir points to the exact desired checkout.
43079 2011-01-21  Eric Blake  <eblake@redhat.com>
43081         strerror_r-posix: work with glibc 2.13
43082         * lib/strerror_r.c (strerror_r): Fix return type.
43084 2011-01-21  Pádraig Brady  <P@draigBrady.com>
43085             Bruno Haible  <bruno@clisp.org>
43087         uN_strstr: New unit tests.
43088         * modules/unistr/u8-strstr-tests: New file.
43089         * modules/unistr/u16-strstr-tests: New file.
43090         * modules/unistr/u32-strstr-tests: New file.
43091         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
43092         * tests/unistr/test-u8-strstr.c: New file.
43093         * tests/unistr/test-u16-strstr.c: New file.
43094         * tests/unistr/test-u32-strstr.c: New file.
43096 2011-01-21  Pádraig Brady  <P@draigBrady.com>
43097             Bruno Haible  <bruno@clisp.org>
43099         Make uN_strstr functions O(n) worst-case.
43100         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
43101         16-bit and 32-bit unit cases, use the unibyte algorithm from
43102         lib/mbsstr.c.
43103         * lib/unistr/u8-strstr.c: Include <string.h>.
43104         (UNIT_IS_UINT8_T): New macro.
43105         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
43106         (U_STRLEN, U_STRNLEN): New macros.
43107         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
43108         (U_STRLEN, U_STRNLEN): New macros.
43109         * modules/unistr/u8-strstr (Depends-on): Add strstr.
43110         (configure.ac): Update required libunistring version.
43111         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
43112         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
43113         malloca.
43114         (configure.ac): Update required libunistring version.
43115         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
43116         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
43117         malloca.
43118         (configure.ac): Update required libunistring version.
43120 2011-01-21  Pádraig Brady  <P@draigBrady.com>
43121             Bruno Haible  <bruno@clisp.org>
43123         Prepare for faster uN_strstr functions.
43124         * lib/str-kmp.h: Support definable UNITs.
43125         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
43126         needle_len argument.
43127         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
43128         * lib/mbscasestr.c (mbscasestr): Likewise.
43130 2011-01-21  Pádraig Brady  <P@draigBrady.com>
43132         malloca-tests: make faster by unsetting MALLOC_PERTURB_
43133         * tests/test-malloca.c (main): Unset the environment variable
43134         to greatly speed up the test.
43135         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
43136         * modules/malloca-tests: Depend on unsetenv.
43138 2011-01-21  Pádraig Brady  <P@draigBrady.com>
43140         ignore-value: remove stdint dependency
43141         * lib/ignore-value.h: Remove <stdint.h>
43142         * modules/ignore-value: Remove stdint dependency.
43144 2011-01-21  Jim Meyering  <meyering@redhat.com>
43146         maint.mk: adjust variable name to be consistent with other gl_ vars
43147         * top/maint.mk (gl_public_submodule_commit): Rename the variable
43148         to be lower case.
43150 2011-01-20  Jim Meyering  <meyering@redhat.com>
43152         maint.mk: make "check" depend on public-submodule-commit by default
43153         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
43155 2011-01-20  Bruno Haible  <bruno@clisp.org>
43157         mbfile, mbiter: Complete change from 2008-12-21.
43158         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
43159         * m4/mbiter.m4 (gl_MBITER): Likewise.
43161 2011-01-20  Jim Meyering  <meyering@redhat.com>
43163         init.sh: insert space between each function name and "()"
43164         * tests/init.sh: Make it a little easier to see that a function's
43165         name is "warn_", and not "warn" when looking at the first part of
43166         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
43168 2011-01-20  Jim Meyering  <meyering@redhat.com>
43170         mountlist: clean up code formatting
43171         * lib/mountlist.c (read_file_system_list): Split a long line,
43172         correct bracing style, use NULL in place of "(struct statfs *)0",
43173         don't parenthesize return value, add spaces around "=" and after
43174         ";-in-for-stmt".
43176 2011-01-14  Markus Duft  <mduft@gentoo.org>
43178         mountlist: add support for Interix
43179         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
43180         Apply statvfs to all entries of /dev/fs.
43181         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
43182         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
43184 2011-01-20  Jim Meyering  <meyering@redhat.com>
43186         maint.mk: improve the public-submodule-commit rule
43187         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
43188         to suppress printing of its commands... unless V=1.
43189         Add git submodule's --quiet option to suppress printing of e.g.,
43190         "Entering gnulib" output.
43191         "cd" into $(srcdir) before running git submodule.
43193 2011-01-20  Bruno Haible  <bruno@clisp.org>
43195         include_next: Fix bug introduced on 2011-01-18.
43196         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
43197         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
43198         ac_cv_header_... variable if the second argument is not 'check'.
43199         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
43200         gl_NEXT_HEADERS_INTERNAL.
43202 2011-01-20  Bruno Haible  <bruno@clisp.org>
43204         Allow the user to avoid the GNULIB_TEST_* macros.
43205         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
43206         Suggested by Paul Eggert.
43208 2011-01-14  Jim Meyering  <meyering@redhat.com>
43210         bootstrap: avoid failure when there is no .gitmodules file
43211         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
43212         has been assigned to, even when its value is the empty string.
43213         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
43214         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
43215         Reported by John W. Eaton <jwe@gnu.org>.
43217 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
43219         assume <ctype.h>, ..., <time.h> exist
43220         For years gnulib has been assuming the existence of the headers
43221         <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
43222         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
43223         them, since they don't appear to be needed.
43224         * README (Portability guidelines): Document this.
43225         * lib/flock.c: Assume <fcntl.h> exists.
43226         * lib/regex_internal.h: Assume <locale.h> exists.
43227         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
43228         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
43229         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
43230         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
43231         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
43232         * m4/regex.m4 (gl_REGEX): Likewise.
43233         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
43234         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
43235         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
43236         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
43237         * tests/test-argp.c: Likewise.
43238         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
43240         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
43241         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
43242         AA_APPLE_UNIVERSAL_BUILD.  See
43243         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00247.html>.
43244         * NEWS: Document this.
43246 2011-01-19  Eric Blake  <eblake@redhat.com>
43248         c-stack: assume stack overflow if SA_SIGINFO unsupported
43249         * lib/c-stack.c (SIGACTION_WORKS): Rename...
43250         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
43251         sigaction will work.
43252         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
43253         behavior match Linux.
43254         * tests/test-c-stack.c (main): Prefer NULL for pointers.
43256         stdbool-tests: accommodate Haiku
43257         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
43259         binary-io: fix O_TEXT on Haiku
43260         * modules/binary-io (Depends-on): Add fcntl-h.
43261         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
43262         than blindly undefining O_TEXT.
43263         Reported by Scott McCreary.
43265 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
43267         include_next: do not check for standard headers like stddef.h
43269         I found this problem when modifying Emacs to use gnulib.
43270         I noticed that it added HAVE_STDDEF_H to config.h, even though
43271         gnulib always assumes <stddef.h> exists as per README and this
43272         symbol is unnecessary.
43273         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
43274         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
43275         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
43276         faster for headers like stddef.h that are known to exist.
43277         (gl_CHECK_NEXT_HEADERS): Use it.
43278         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
43279         rather than gl_CHECK_NEXT_HEADERS.
43280         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
43281         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
43283 2011-01-18  Eric Blake  <eblake@redhat.com>
43285         ansi-c++-opt: skip C++ dependency style if C++ is unused
43286         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
43287         tests when we know C++ compilation is not desired.
43288         Reported by Scott McCreary.
43290 2011-01-18  Bruno Haible  <bruno@clisp.org>
43292         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
43293         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
43294         (main): Perform test also when getrlimit and setrlimit don't exist or
43295         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
43296         limiting the address space size using setrlimit, compare the address
43297         space size before and after the test.
43298         * tests/test-dprintf-posix2.c: Likewise.
43299         * tests/test-fprintf-posix3.sh: Update skip messages.
43300         * tests/test-dprintf-posix2.sh: Likewise.
43301         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
43302         * modules/dprintf-posix-tests (Depends-on): Likewise.
43303         Reported by Bruce Korb <bkorb@gnu.org> and
43304         Gary V. Vaughan <gary@gnu.org>.
43306 2011-01-18  Bruno Haible  <bruno@clisp.org>
43308         get-rusage-as: Improvement for Cygwin.
43309         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
43310         areas that are merely reserved.
43312 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
43314         strftime: remove dependencies on multibyte modules
43316         strftime depended on mbrlen, mbsinit, and wchar, but these modules
43317         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
43318         only if __osf__ is defined, and I suspect OSF doesn't need these
43319         other modules.  If my guess is wrong, we'll need to come up with a
43320         variant of strftime that doesn't need the multibyte modules.
43322         I discovered this problem when attempting modify Emacs to use the
43323         strftime module.  With the previous gnulib, this caused Emacs to
43324         need 31 new files, ranging from lib/config.charset to
43325         m4/wint_t.m4.  This was overkill and I expect would be offputting
43326         to the Emacs maintainers.  After this change, only 6 new files are
43327         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
43328         stdbool.m4, and tm_gmtoff.m4.
43330         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
43331         Suggested by Bruno Haible in
43332         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00238.html>.
43333         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
43334         and do not check for wchar.h.
43335         * modules/strftime (Files): Remove m4/mbstate_t.m4.
43336         (Depends-on): Remove mbrlen, mbsinit, wchar.
43338 2011-01-18  Bruno Haible  <bruno@clisp.org>
43340         Tests for module 'get-rusage-as'.
43341         * modules/get-rusage-as-tests: New file.
43342         * tests/test-get-rusage-as.c: New file.
43344         New module 'get-rusage-as'.
43345         * modules/get-rusage-as: New file.
43346         * lib/resource-ext.h: New file.
43347         * lib/get-rusage-as.c: New file.
43349 2011-01-17  Eric Blake  <eblake@redhat.com>
43351         sigaction: relax license from LGPLv3+ to LGPLv2+
43352         * modules/sigaction (License): Relax to LGPLv2+.
43354 2011-01-14  Bruno Haible  <bruno@clisp.org>
43356         filemode: Make function declarations usable in C++ mode.
43357         * lib/filemode.h: Enclose function declarations in extern "C" block.
43358         Reported by John W. Eaton <jwe@gnu.org>.
43360 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
43362         save-cwd: no longer include "xgetcwd.h"
43363         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
43364         This avoids a compilation failure in projects that use save-cwd
43365         without also using the xgetcwd module.
43367 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
43369         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
43370         This is so that a program like Emacs, which needs only dtoastr,
43371         does not have to bother with distributing and compiling ftoastr
43372         and ldtoastr.
43373         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
43374         * modules/dtoastr, modules/ldtoastr: New files.
43375         * modules/ftoastr: Now works just for 'float'.
43376         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
43377         (Makefile.am): Remove ftoastr.h (not needed and no effect),
43378         dtoastr.c, ldtoastr.c.
43380 2011-01-11  Jim Meyering  <meyering@redhat.com>
43382         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
43383         There is no need to work around the lack of the fchdir function,
43384         since gnulib can now provide a replacement when required.
43385         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
43386         * modules/save-cwd (Depends-on): Add fchdir.
43388 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
43390         openat, save-cwd: avoid xmalloc
43392         This removes a direct (but undocumented) dependency of openat on
43393         xalloc, along with an indirect dependency via save-cwd.  It also
43394         removes a dependency of save-cwd on xgetcwd, and thereby
43395         indirectly on xalloc.  This change causes the openat substitute
43396         to fall back on save_cwd when memory is tight, and for save_cwd to
43397         fail instead of dying when memory is tight, but that's good enough.
43398         Problem and initial idea for fix reported by Bastien Roucaries in
43399         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00170.html>.
43401         * lib/openat-proc.c: Include stdlib.h (for malloc), not
43402         xalloc.h (for xmalloc).
43403         (openat_proc_name): Use malloc, not xmalloc.
43404         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
43405         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
43407         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
43408         This avoids heap allocation for file names whose lengths are in
43409         the range 512..1023, with the upper bound increasing to at most
43410         4031 depending on the platform's PATH_MAX.  (We do not want
43411         pathmax.h here as it might supply a non-constant PATH_MAX.)
43412         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
43413         Perhaps they should be moved to malloca.h?
43414         (OPENAT_BUFFER_SIZE): Use them.
43416 2011-01-10  Bruno Haible  <bruno@clisp.org>
43418         doc: Update users.txt.
43419         * users.txt: Add recutils.
43421 2011-01-09  Karl Berry  <karl@gnu.org>
43423         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
43425         * doc/configmake.texi: New file.
43426         * doc/gnulib.texi: Include it.
43427         * modules/configmake: Move documentation from here.
43429 2011-01-09  Bruno Haible  <bruno@clisp.org>
43431         Update to Unicode 6.0.0.
43432         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
43433         (get_lbp): Update for Unicode 6.0.0.
43434         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
43435         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
43436         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
43437         U+11001, U+11038..U+11046. Remove U+06DE.
43438         (uc_width): Fix bounds of planes.
43439         * tests/uniwidth/test-uc_width2.sh: Same updates as in
43440         lib/uniwidth/width.c.
43441         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
43442         trailing whitespace removed.
43443         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
43444         without comments, but with the original copyright notice.
43445         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
43446         * lib/unicase/ignorable.h: Likewise.
43447         * lib/unicase/tocasefold.h: Likewise.
43448         * lib/unicase/tolower.h: Likewise.
43449         * lib/unicase/totitle.h: Likewise.
43450         * lib/unicase/toupper.h: Likewise.
43451         * lib/unictype/bidi_of.h: Likewise.
43452         * lib/unictype/blocks.h: Likewise.
43453         * lib/unictype/categ_C.h: Likewise.
43454         * lib/unictype/categ_Cn.h: Likewise.
43455         * lib/unictype/categ_L.h: Likewise.
43456         * lib/unictype/categ_Ll.h: Likewise.
43457         * lib/unictype/categ_Lm.h: Likewise.
43458         * lib/unictype/categ_Lo.h: Likewise.
43459         * lib/unictype/categ_Lu.h: Likewise.
43460         * lib/unictype/categ_M.h: Likewise.
43461         * lib/unictype/categ_Mc.h: Likewise.
43462         * lib/unictype/categ_Me.h: Likewise.
43463         * lib/unictype/categ_Mn.h: Likewise.
43464         * lib/unictype/categ_N.h: Likewise.
43465         * lib/unictype/categ_Nd.h: Likewise.
43466         * lib/unictype/categ_No.h: Likewise.
43467         * lib/unictype/categ_P.h: Likewise.
43468         * lib/unictype/categ_Po.h: Likewise.
43469         * lib/unictype/categ_S.h: Likewise.
43470         * lib/unictype/categ_Sc.h: Likewise.
43471         * lib/unictype/categ_Sk.h: Likewise.
43472         * lib/unictype/categ_Sm.h: Likewise.
43473         * lib/unictype/categ_So.h: Likewise.
43474         * lib/unictype/categ_of.h: Likewise.
43475         * lib/unictype/combining.h: Likewise.
43476         * lib/unictype/ctype_alnum.h: Likewise.
43477         * lib/unictype/ctype_alpha.h: Likewise.
43478         * lib/unictype/ctype_graph.h: Likewise.
43479         * lib/unictype/ctype_lower.h: Likewise.
43480         * lib/unictype/ctype_print.h: Likewise.
43481         * lib/unictype/ctype_punct.h: Likewise.
43482         * lib/unictype/ctype_upper.h: Likewise.
43483         * lib/unictype/decdigit.h: Likewise.
43484         * lib/unictype/digit.h: Likewise.
43485         * lib/unictype/numeric.h: Likewise.
43486         * lib/unictype/pr_alphabetic.h: Likewise.
43487         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
43488         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
43489         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
43490         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
43491         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
43492         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
43493         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
43494         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
43495         * lib/unictype/pr_case_ignorable.h: Likewise.
43496         * lib/unictype/pr_cased.h: Likewise.
43497         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
43498         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
43499         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
43500         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
43501         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
43502         * lib/unictype/pr_combining.h: Likewise.
43503         * lib/unictype/pr_composite.h: Likewise.
43504         * lib/unictype/pr_currency_symbol.h: Likewise.
43505         * lib/unictype/pr_decimal_digit.h: Likewise.
43506         * lib/unictype/pr_deprecated.h: Likewise.
43507         * lib/unictype/pr_format_control.h: Likewise.
43508         * lib/unictype/pr_grapheme_base.h: Likewise.
43509         * lib/unictype/pr_grapheme_extend.h: Likewise.
43510         * lib/unictype/pr_grapheme_link.h: Likewise.
43511         * lib/unictype/pr_id_continue.h: Likewise.
43512         * lib/unictype/pr_id_start.h: Likewise.
43513         * lib/unictype/pr_ideographic.h: Likewise.
43514         * lib/unictype/pr_lowercase.h: Likewise.
43515         * lib/unictype/pr_math.h: Likewise.
43516         * lib/unictype/pr_numeric.h: Likewise.
43517         * lib/unictype/pr_other_alphabetic.h: Likewise.
43518         * lib/unictype/pr_other_id_continue.h: Likewise.
43519         * lib/unictype/pr_other_math.h: Likewise.
43520         * lib/unictype/pr_punctuation.h: Likewise.
43521         * lib/unictype/pr_sentence_terminal.h: Likewise.
43522         * lib/unictype/pr_terminal_punctuation.h: Likewise.
43523         * lib/unictype/pr_unassigned_code_value.h: Likewise.
43524         * lib/unictype/pr_unified_ideograph.h: Likewise.
43525         * lib/unictype/pr_uppercase.h: Likewise.
43526         * lib/unictype/pr_xid_continue.h: Likewise.
43527         * lib/unictype/pr_xid_start.h: Likewise.
43528         * lib/unictype/scripts.h: Likewise.
43529         * lib/unictype/scripts_byname.gperf: Likewise.
43530         * lib/unictype/sy_java_ident.h: Likewise.
43531         * lib/unigbrk/gbrkprop.h: Likewise.
43532         * lib/unilbrk/lbrkprop1.h: Likewise.
43533         * lib/unilbrk/lbrkprop2.h: Likewise.
43534         * lib/uninorm/decomposition-table2.h: Likewise.
43535         * lib/uniwbrk/wbrkprop.h: Likewise.
43536         * tests/unicase/test-cased.c: Likewise.
43537         * tests/unicase/test-ignorable.c: Likewise.
43538         * tests/unicase/test-uc_tolower.c: Likewise.
43539         * tests/unicase/test-uc_totitle.c: Likewise.
43540         * tests/unicase/test-uc_toupper.c: Likewise.
43541         * tests/unictype/test-categ_C.c: Likewise.
43542         * tests/unictype/test-categ_Cn.c: Likewise.
43543         * tests/unictype/test-categ_L.c: Likewise.
43544         * tests/unictype/test-categ_Ll.c: Likewise.
43545         * tests/unictype/test-categ_Lm.c: Likewise.
43546         * tests/unictype/test-categ_Lo.c: Likewise.
43547         * tests/unictype/test-categ_Lu.c: Likewise.
43548         * tests/unictype/test-categ_M.c: Likewise.
43549         * tests/unictype/test-categ_Mc.c: Likewise.
43550         * tests/unictype/test-categ_Me.c: Likewise.
43551         * tests/unictype/test-categ_Mn.c: Likewise.
43552         * tests/unictype/test-categ_N.c: Likewise.
43553         * tests/unictype/test-categ_Nd.c: Likewise.
43554         * tests/unictype/test-categ_No.c: Likewise.
43555         * tests/unictype/test-categ_P.c: Likewise.
43556         * tests/unictype/test-categ_Po.c: Likewise.
43557         * tests/unictype/test-categ_S.c: Likewise.
43558         * tests/unictype/test-categ_Sc.c: Likewise.
43559         * tests/unictype/test-categ_Sk.c: Likewise.
43560         * tests/unictype/test-categ_Sm.c: Likewise.
43561         * tests/unictype/test-categ_So.c: Likewise.
43562         * tests/unictype/test-ctype_alnum.c: Likewise.
43563         * tests/unictype/test-ctype_alpha.c: Likewise.
43564         * tests/unictype/test-ctype_graph.c: Likewise.
43565         * tests/unictype/test-ctype_lower.c: Likewise.
43566         * tests/unictype/test-ctype_print.c: Likewise.
43567         * tests/unictype/test-ctype_punct.c: Likewise.
43568         * tests/unictype/test-ctype_upper.c: Likewise.
43569         * tests/unictype/test-decdigit.h: Likewise.
43570         * tests/unictype/test-digit.h: Likewise.
43571         * tests/unictype/test-numeric.h: Likewise.
43572         * tests/unictype/test-pr_alphabetic.c: Likewise.
43573         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
43574         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
43575         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
43576         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
43577         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
43578         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
43579         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
43580         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
43581         * tests/unictype/test-pr_case_ignorable.c: Likewise.
43582         * tests/unictype/test-pr_cased.c: Likewise.
43583         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
43584         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
43585         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
43586         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
43587         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
43588         * tests/unictype/test-pr_combining.c: Likewise.
43589         * tests/unictype/test-pr_composite.c: Likewise.
43590         * tests/unictype/test-pr_currency_symbol.c: Likewise.
43591         * tests/unictype/test-pr_decimal_digit.c: Likewise.
43592         * tests/unictype/test-pr_deprecated.c: Likewise.
43593         * tests/unictype/test-pr_format_control.c: Likewise.
43594         * tests/unictype/test-pr_grapheme_base.c: Likewise.
43595         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
43596         * tests/unictype/test-pr_grapheme_link.c: Likewise.
43597         * tests/unictype/test-pr_id_continue.c: Likewise.
43598         * tests/unictype/test-pr_id_start.c: Likewise.
43599         * tests/unictype/test-pr_ideographic.c: Likewise.
43600         * tests/unictype/test-pr_lowercase.c: Likewise.
43601         * tests/unictype/test-pr_math.c: Likewise.
43602         * tests/unictype/test-pr_numeric.c: Likewise.
43603         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
43604         * tests/unictype/test-pr_other_id_continue.c: Likewise.
43605         * tests/unictype/test-pr_other_math.c: Likewise.
43606         * tests/unictype/test-pr_punctuation.c: Likewise.
43607         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
43608         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
43609         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
43610         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
43611         * tests/unictype/test-pr_uppercase.c: Likewise.
43612         * tests/unictype/test-pr_xid_continue.c: Likewise.
43613         * tests/unictype/test-pr_xid_start.c: Likewise.
43614         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
43615         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
43616         changes.
43617         * lib/unictype/categ_Cc.h: Likewise.
43618         * lib/unictype/categ_Cf.h: Likewise.
43619         * lib/unictype/categ_Co.h: Likewise.
43620         * lib/unictype/categ_Cs.h: Likewise.
43621         * lib/unictype/categ_Lt.h: Likewise.
43622         * lib/unictype/categ_Nl.h: Likewise.
43623         * lib/unictype/categ_Pc.h: Likewise.
43624         * lib/unictype/categ_Pd.h: Likewise.
43625         * lib/unictype/categ_Pe.h: Likewise.
43626         * lib/unictype/categ_Pf.h: Likewise.
43627         * lib/unictype/categ_Pi.h: Likewise.
43628         * lib/unictype/categ_Ps.h: Likewise.
43629         * lib/unictype/categ_Z.h: Likewise.
43630         * lib/unictype/categ_Zl.h: Likewise.
43631         * lib/unictype/categ_Zp.h: Likewise.
43632         * lib/unictype/categ_Zs.h: Likewise.
43633         * lib/unictype/ctype_blank.h: Likewise.
43634         * lib/unictype/ctype_cntrl.h: Likewise.
43635         * lib/unictype/ctype_digit.h: Likewise.
43636         * lib/unictype/ctype_space.h: Likewise.
43637         * lib/unictype/ctype_xdigit.h: Likewise.
43638         * lib/unictype/mirror.h: Likewise.
43639         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
43640         * lib/unictype/pr_bidi_block_separator.h: Likewise.
43641         * lib/unictype/pr_bidi_common_separator.h: Likewise.
43642         * lib/unictype/pr_bidi_control.h: Likewise.
43643         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
43644         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
43645         * lib/unictype/pr_bidi_european_digit.h: Likewise.
43646         * lib/unictype/pr_bidi_pdf.h: Likewise.
43647         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
43648         * lib/unictype/pr_bidi_whitespace.h: Likewise.
43649         * lib/unictype/pr_dash.h: Likewise.
43650         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
43651         * lib/unictype/pr_diacritic.h: Likewise.
43652         * lib/unictype/pr_extender.h: Likewise.
43653         * lib/unictype/pr_hex_digit.h: Likewise.
43654         * lib/unictype/pr_hyphen.h: Likewise.
43655         * lib/unictype/pr_ids_binary_operator.h: Likewise.
43656         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
43657         * lib/unictype/pr_ignorable_control.h: Likewise.
43658         * lib/unictype/pr_iso_control.h: Likewise.
43659         * lib/unictype/pr_join_control.h: Likewise.
43660         * lib/unictype/pr_left_of_pair.h: Likewise.
43661         * lib/unictype/pr_line_separator.h: Likewise.
43662         * lib/unictype/pr_logical_order_exception.h: Likewise.
43663         * lib/unictype/pr_non_break.h: Likewise.
43664         * lib/unictype/pr_not_a_character.h: Likewise.
43665         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
43666         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
43667         * lib/unictype/pr_other_id_start.h: Likewise.
43668         * lib/unictype/pr_other_lowercase.h: Likewise.
43669         * lib/unictype/pr_other_uppercase.h: Likewise.
43670         * lib/unictype/pr_paired_punctuation.h: Likewise.
43671         * lib/unictype/pr_paragraph_separator.h: Likewise.
43672         * lib/unictype/pr_pattern_syntax.h: Likewise.
43673         * lib/unictype/pr_pattern_white_space.h: Likewise.
43674         * lib/unictype/pr_private_use.h: Likewise.
43675         * lib/unictype/pr_quotation_mark.h: Likewise.
43676         * lib/unictype/pr_radical.h: Likewise.
43677         * lib/unictype/pr_soft_dotted.h: Likewise.
43678         * lib/unictype/pr_space.h: Likewise.
43679         * lib/unictype/pr_titlecase.h: Likewise.
43680         * lib/unictype/pr_variation_selector.h: Likewise.
43681         * lib/unictype/pr_white_space.h: Likewise.
43682         * lib/unictype/pr_zero_width.h: Likewise.
43683         * lib/unictype/sy_c_ident.h: Likewise.
43684         * lib/unictype/sy_c_whitespace.h: Likewise.
43685         * lib/unictype/sy_java_whitespace.h: Likewise.
43686         * lib/uninorm/composition-table.gperf: Likewise.
43687         * lib/uninorm/decomposition-table1.h: Likewise.
43688         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
43689         LB8.
43690         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
43691         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
43692         * modules/unictype/*: Bump version number of expected libunistring
43693         version.
43695 2011-01-09  Bruno Haible  <bruno@clisp.org>
43697         Update to Unicode 5.2.0.
43698         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
43699         trailing whitespace removed.
43701 2011-01-09  Bruno Haible  <bruno@clisp.org>
43703         New Unicode character properties, from Unicode 5.2.0.
43704         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
43705         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
43706         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
43707         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
43708         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
43709         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
43710         uc_is_property_cased, uc_is_property_case_ignorable,
43711         uc_is_property_changes_when_lowercased,
43712         uc_is_property_changes_when_uppercased,
43713         uc_is_property_changes_when_titlecased,
43714         uc_is_property_changes_when_casefolded,
43715         uc_is_property_changes_when_casemapped): New declarations.
43716         * lib/unictype/pr_byname.gperf: Add the new properties.
43717         * modules/unictype/property-byname (Depends-on): Depend on the new
43718         properties modules.
43719         * modules/unictype/property-all (Depends-on): Likewise.
43720         * MODULES.html.sh (Unicode string functions): Add
43721         unictype/property-case-ignorable, unictype/property-cased,
43722         unictype/property-changes-when-casefolded,
43723         unictype/property-changes-when-casemapped,
43724         unictype/property-changes-when-lowercased,
43725         unictype/property-changes-when-titlecased,
43726         unictype/property-changes-when-uppercased.
43728         New module 'unictype/property-changes-when-casemapped'.
43729         * modules/unictype/property-changes-when-casemapped: New file.
43730         * lib/unictype/pr_changes_when_casemapped.c: New file.
43731         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
43732         generated by gen-uni-tables.
43733         * modules/unictype/property-changes-when-casemapped-tests: New file.
43734         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
43735         automatically generated by gen-uni-tables.
43737         New module 'unictype/property-changes-when-casefolded'.
43738         * modules/unictype/property-changes-when-casefolded: New file.
43739         * lib/unictype/pr_changes_when_casefolded.c: New file.
43740         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
43741         generated by gen-uni-tables.
43742         * modules/unictype/property-changes-when-casefolded-tests: New file.
43743         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
43744         automatically generated by gen-uni-tables.
43746         New module 'unictype/property-changes-when-titlecased'.
43747         * modules/unictype/property-changes-when-titlecased: New file.
43748         * lib/unictype/pr_changes_when_titlecased.c: New file.
43749         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
43750         generated by gen-uni-tables.
43751         * modules/unictype/property-changes-when-titlecased-tests: New file.
43752         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
43753         automatically generated by gen-uni-tables.
43755         New module 'unictype/property-changes-when-uppercased'.
43756         * modules/unictype/property-changes-when-uppercased: New file.
43757         * lib/unictype/pr_changes_when_uppercased.c: New file.
43758         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
43759         generated by gen-uni-tables.
43760         * modules/unictype/property-changes-when-uppercased-tests: New file.
43761         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
43762         automatically generated by gen-uni-tables.
43764         New module 'unictype/property-changes-when-lowercased'.
43765         * modules/unictype/property-changes-when-lowercased: New file.
43766         * lib/unictype/pr_changes_when_lowercased.c: New file.
43767         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
43768         generated by gen-uni-tables.
43769         * modules/unictype/property-changes-when-lowercased-tests: New file.
43770         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
43771         automatically generated by gen-uni-tables.
43773         New module 'unictype/property-case-ignorable'.
43774         * modules/unictype/property-case-ignorable: New file.
43775         * lib/unictype/pr_case_ignorable.c: New file.
43776         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
43777         by gen-uni-tables.
43778         * modules/unictype/property-case-ignorable-tests: New file.
43779         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
43780         generated by gen-uni-tables.
43782         New module 'unictype/property-cased'.
43783         * modules/unictype/property-cased: New file.
43784         * lib/unictype/pr_cased.c: New file.
43785         * lib/unictype/pr_cased.h: New file, automatically generated by
43786         gen-uni-tables.
43787         * modules/unictype/property-cased-tests: New file.
43788         * tests/unictype/test-pr_cased.c: New file, automatically generated by
43789         gen-uni-tables.
43791 2011-01-09  Bruno Haible  <bruno@clisp.org>
43793         Update to Unicode 5.2.0.
43794         * lib/gen-uni-tables.c (output_predicate, output_category,
43795         output_combclass, output_bidi_category, output_decimal_digit_test,
43796         output_decimal_digit, output_digit_test, output_digit,
43797         output_numeric_test, output_numeric, output_mirror, output_scripts,
43798         output_scripts_byname, output_blocks, output_ident_category): Fix
43799         comment header.
43800         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
43801         get_wbp.
43802         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
43803         items.
43804         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
43805         Changes_When_Lowercased, Changes_When_Uppercased,
43806         Changes_When_Titlecased, Changes_When_Casefolded,
43807         Changes_When_Casemapped.
43808         (is_property_alphabetic, is_property_default_ignorable_code_point):
43809         Update for Unicode 5.2.0.
43810         (is_property_cased, is_property_case_ignorable,
43811         is_property_changes_when_lowercased,
43812         is_property_changes_when_uppercased,
43813         is_property_changes_when_titlecased,
43814         is_property_changes_when_casefolded,
43815         is_property_changes_when_casemapped): New functions.
43816         (output_properties): Output also the properties cased, case_ignorable,
43817         changes_when_lowercased, changes_when_uppercased,
43818         changes_when_titlecased, changes_when_casefolded,
43819         changes_when_casemapped.
43820         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
43821         Unicode TR#11 revision 17 -> 19.
43822         (LBP_CP): New enumeration value.
43823         (LBP_*): Adjust values accordingly.
43824         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
43825         TR#14 revision 22 -> 24.
43826         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
43827         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
43828         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
43829         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
43830         is_WBP_MIDLETTER.
43831         (output_composition_tables): Allow for 24 bits instead of 16 bits in
43832         the code1 and code2 of each composition rule.
43833         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
43834         * lib/unicase/ignorable.h: Likewise.
43835         * lib/unicase/tocasefold.h: Likewise.
43836         * lib/unicase/tolower.h: Likewise.
43837         * lib/unicase/totitle.h: Likewise.
43838         * lib/unicase/toupper.h: Likewise.
43839         * lib/unictype/bidi_of.h: Likewise.
43840         * lib/unictype/blocks.h: Likewise.
43841         * lib/unictype/categ_C.h: Likewise.
43842         * lib/unictype/categ_Cf.h: Likewise.
43843         * lib/unictype/categ_Cn.h: Likewise.
43844         * lib/unictype/categ_L.h: Likewise.
43845         * lib/unictype/categ_Ll.h: Likewise.
43846         * lib/unictype/categ_Lm.h: Likewise.
43847         * lib/unictype/categ_Lo.h: Likewise.
43848         * lib/unictype/categ_Lu.h: Likewise.
43849         * lib/unictype/categ_M.h: Likewise.
43850         * lib/unictype/categ_Mc.h: Likewise.
43851         * lib/unictype/categ_Mn.h: Likewise.
43852         * lib/unictype/categ_N.h: Likewise.
43853         * lib/unictype/categ_Nd.h: Likewise.
43854         * lib/unictype/categ_Nl.h: Likewise.
43855         * lib/unictype/categ_No.h: Likewise.
43856         * lib/unictype/categ_P.h: Likewise.
43857         * lib/unictype/categ_Pd.h: Likewise.
43858         * lib/unictype/categ_Po.h: Likewise.
43859         * lib/unictype/categ_S.h: Likewise.
43860         * lib/unictype/categ_Sc.h: Likewise.
43861         * lib/unictype/categ_So.h: Likewise.
43862         * lib/unictype/categ_of.h: Likewise.
43863         * lib/unictype/combining.h: Likewise.
43864         * lib/unictype/ctype_alnum.h: Likewise.
43865         * lib/unictype/ctype_alpha.h: Likewise.
43866         * lib/unictype/ctype_graph.h: Likewise.
43867         * lib/unictype/ctype_lower.h: Likewise.
43868         * lib/unictype/ctype_print.h: Likewise.
43869         * lib/unictype/ctype_punct.h: Likewise.
43870         * lib/unictype/ctype_upper.h: Likewise.
43871         * lib/unictype/decdigit.h: Likewise.
43872         * lib/unictype/digit.h: Likewise.
43873         * lib/unictype/numeric.h: Likewise.
43874         * lib/unictype/pr_alphabetic.h: Likewise.
43875         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
43876         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
43877         * lib/unictype/pr_bidi_european_digit.h: Likewise.
43878         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
43879         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
43880         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
43881         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
43882         * lib/unictype/pr_combining.h: Likewise.
43883         * lib/unictype/pr_composite.h: Likewise.
43884         * lib/unictype/pr_currency_symbol.h: Likewise.
43885         * lib/unictype/pr_dash.h: Likewise.
43886         * lib/unictype/pr_decimal_digit.h: Likewise.
43887         * lib/unictype/pr_deprecated.h: Likewise.
43888         * lib/unictype/pr_diacritic.h: Likewise.
43889         * lib/unictype/pr_extender.h: Likewise.
43890         * lib/unictype/pr_grapheme_base.h: Likewise.
43891         * lib/unictype/pr_grapheme_extend.h: Likewise.
43892         * lib/unictype/pr_grapheme_link.h: Likewise.
43893         * lib/unictype/pr_id_continue.h: Likewise.
43894         * lib/unictype/pr_id_start.h: Likewise.
43895         * lib/unictype/pr_ideographic.h: Likewise.
43896         * lib/unictype/pr_ignorable_control.h: Likewise.
43897         * lib/unictype/pr_logical_order_exception.h: Likewise.
43898         * lib/unictype/pr_lowercase.h: Likewise.
43899         * lib/unictype/pr_numeric.h: Likewise.
43900         * lib/unictype/pr_other_alphabetic.h: Likewise.
43901         * lib/unictype/pr_punctuation.h: Likewise.
43902         * lib/unictype/pr_sentence_terminal.h: Likewise.
43903         * lib/unictype/pr_terminal_punctuation.h: Likewise.
43904         * lib/unictype/pr_unassigned_code_value.h: Likewise.
43905         * lib/unictype/pr_unified_ideograph.h: Likewise.
43906         * lib/unictype/pr_uppercase.h: Likewise.
43907         * lib/unictype/pr_xid_continue.h: Likewise.
43908         * lib/unictype/pr_xid_start.h: Likewise.
43909         * lib/unictype/pr_zero_width.h: Likewise.
43910         * lib/unictype/scripts.h: Likewise.
43911         * lib/unictype/scripts_byname.gperf: Likewise.
43912         * lib/unictype/sy_java_ident.h: Likewise.
43913         * lib/unigbrk/gbrkprop.h: Likewise.
43914         * lib/unilbrk/lbrkprop1.h: Likewise.
43915         * lib/unilbrk/lbrkprop2.h: Likewise.
43916         * lib/unilbrk/lbrktables.h: Likewise.
43917         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
43918         LBP_CP. Implement rule LB30.
43919         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
43920         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
43921         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
43922         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
43923         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
43924         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
43925         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
43926         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
43927         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
43928         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
43929         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
43930         bits instead of 16 bits in the code1 and code2 of each composition
43931         rule.
43932         (uc_composition): Update for Unicode 5.2.0.
43933         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
43934         * lib/uninorm/decomposition-table2.h: Likewise.
43935         * lib/uniwbrk/wbrkprop.h: Likewise.
43936         * tests/unicase/test-cased.c: Likewise.
43937         * tests/unicase/test-ignorable.c: Likewise.
43938         * tests/unicase/test-uc_tolower.c: Likewise.
43939         * tests/unicase/test-uc_totitle.c: Likewise.
43940         * tests/unicase/test-uc_toupper.c: Likewise.
43941         * tests/unictype/test-categ_C.c: Likewise.
43942         * tests/unictype/test-categ_Cf.c: Likewise.
43943         * tests/unictype/test-categ_Cn.c: Likewise.
43944         * tests/unictype/test-categ_L.c: Likewise.
43945         * tests/unictype/test-categ_Ll.c: Likewise.
43946         * tests/unictype/test-categ_Lm.c: Likewise.
43947         * tests/unictype/test-categ_Lo.c: Likewise.
43948         * tests/unictype/test-categ_Lu.c: Likewise.
43949         * tests/unictype/test-categ_M.c: Likewise.
43950         * tests/unictype/test-categ_Mc.c: Likewise.
43951         * tests/unictype/test-categ_Mn.c: Likewise.
43952         * tests/unictype/test-categ_N.c: Likewise.
43953         * tests/unictype/test-categ_Nd.c: Likewise.
43954         * tests/unictype/test-categ_Nl.c: Likewise.
43955         * tests/unictype/test-categ_No.c: Likewise.
43956         * tests/unictype/test-categ_P.c: Likewise.
43957         * tests/unictype/test-categ_Pd.c: Likewise.
43958         * tests/unictype/test-categ_Po.c: Likewise.
43959         * tests/unictype/test-categ_S.c: Likewise.
43960         * tests/unictype/test-categ_Sc.c: Likewise.
43961         * tests/unictype/test-categ_So.c: Likewise.
43962         * tests/unictype/test-ctype_alnum.c: Likewise.
43963         * tests/unictype/test-ctype_alpha.c: Likewise.
43964         * tests/unictype/test-ctype_graph.c: Likewise.
43965         * tests/unictype/test-ctype_lower.c: Likewise.
43966         * tests/unictype/test-ctype_print.c: Likewise.
43967         * tests/unictype/test-ctype_punct.c: Likewise.
43968         * tests/unictype/test-ctype_upper.c: Likewise.
43969         * tests/unictype/test-decdigit.h: Likewise.
43970         * tests/unictype/test-digit.h: Likewise.
43971         * tests/unictype/test-numeric.h: Likewise.
43972         * tests/unictype/test-pr_alphabetic.c: Likewise.
43973         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
43974         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
43975         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
43976         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
43977         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
43978         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
43979         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
43980         * tests/unictype/test-pr_combining.c: Likewise.
43981         * tests/unictype/test-pr_composite.c: Likewise.
43982         * tests/unictype/test-pr_currency_symbol.c: Likewise.
43983         * tests/unictype/test-pr_dash.c: Likewise.
43984         * tests/unictype/test-pr_decimal_digit.c: Likewise.
43985         * tests/unictype/test-pr_deprecated.c: Likewise.
43986         * tests/unictype/test-pr_diacritic.c: Likewise.
43987         * tests/unictype/test-pr_extender.c: Likewise.
43988         * tests/unictype/test-pr_grapheme_base.c: Likewise.
43989         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
43990         * tests/unictype/test-pr_grapheme_link.c: Likewise.
43991         * tests/unictype/test-pr_id_continue.c: Likewise.
43992         * tests/unictype/test-pr_id_start.c: Likewise.
43993         * tests/unictype/test-pr_ideographic.c: Likewise.
43994         * tests/unictype/test-pr_ignorable_control.c: Likewise.
43995         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
43996         * tests/unictype/test-pr_lowercase.c: Likewise.
43997         * tests/unictype/test-pr_numeric.c: Likewise.
43998         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
43999         * tests/unictype/test-pr_punctuation.c: Likewise.
44000         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
44001         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
44002         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
44003         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
44004         * tests/unictype/test-pr_uppercase.c: Likewise.
44005         * tests/unictype/test-pr_xid_continue.c: Likewise.
44006         * tests/unictype/test-pr_xid_start.c: Likewise.
44007         * tests/unictype/test-pr_zero_width.c: Likewise.
44008         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
44009         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
44010         changed behaviour: line breaking is now disallowed between a letter
44011         or '=' and '('.
44012         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
44013         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
44014         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
44015         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
44016         * tests/uniwidth/test-uc_width2.sh: Same updates as in
44017         lib/uniwidth/width.c.
44018         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
44019         without comments, but with the original copyright notice.
44020         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
44021         changes.
44022         * lib/unictype/categ_Cc.h: Likewise.
44023         * lib/unictype/categ_Co.h: Likewise.
44024         * lib/unictype/categ_Cs.h: Likewise.
44025         * lib/unictype/categ_Lt.h: Likewise.
44026         * lib/unictype/categ_Me.h: Likewise.
44027         * lib/unictype/categ_Pc.h: Likewise.
44028         * lib/unictype/categ_Pe.h: Likewise.
44029         * lib/unictype/categ_Pf.h: Likewise.
44030         * lib/unictype/categ_Pi.h: Likewise.
44031         * lib/unictype/categ_Ps.h: Likewise.
44032         * lib/unictype/categ_Sk.h: Likewise.
44033         * lib/unictype/categ_Sm.h: Likewise.
44034         * lib/unictype/categ_Z.h: Likewise.
44035         * lib/unictype/categ_Zl.h: Likewise.
44036         * lib/unictype/categ_Zp.h: Likewise.
44037         * lib/unictype/categ_Zs.h: Likewise.
44038         * lib/unictype/ctype_blank.h: Likewise.
44039         * lib/unictype/ctype_cntrl.h: Likewise.
44040         * lib/unictype/ctype_digit.h: Likewise.
44041         * lib/unictype/ctype_space.h: Likewise.
44042         * lib/unictype/ctype_xdigit.h: Likewise.
44043         * lib/unictype/mirror.h: Likewise.
44044         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
44045         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
44046         * lib/unictype/pr_bidi_block_separator.h: Likewise.
44047         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
44048         * lib/unictype/pr_bidi_common_separator.h: Likewise.
44049         * lib/unictype/pr_bidi_control.h: Likewise.
44050         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
44051         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
44052         * lib/unictype/pr_bidi_pdf.h: Likewise.
44053         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
44054         * lib/unictype/pr_bidi_whitespace.h: Likewise.
44055         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
44056         * lib/unictype/pr_format_control.h: Likewise.
44057         * lib/unictype/pr_hex_digit.h: Likewise.
44058         * lib/unictype/pr_hyphen.h: Likewise.
44059         * lib/unictype/pr_ids_binary_operator.h: Likewise.
44060         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
44061         * lib/unictype/pr_iso_control.h: Likewise.
44062         * lib/unictype/pr_join_control.h: Likewise.
44063         * lib/unictype/pr_left_of_pair.h: Likewise.
44064         * lib/unictype/pr_line_separator.h: Likewise.
44065         * lib/unictype/pr_math.h: Likewise.
44066         * lib/unictype/pr_non_break.h: Likewise.
44067         * lib/unictype/pr_not_a_character.h: Likewise.
44068         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
44069         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
44070         * lib/unictype/pr_other_id_continue.h: Likewise.
44071         * lib/unictype/pr_other_id_start.h: Likewise.
44072         * lib/unictype/pr_other_lowercase.h: Likewise.
44073         * lib/unictype/pr_other_math.h: Likewise.
44074         * lib/unictype/pr_other_uppercase.h: Likewise.
44075         * lib/unictype/pr_paired_punctuation.h: Likewise.
44076         * lib/unictype/pr_paragraph_separator.h: Likewise.
44077         * lib/unictype/pr_pattern_syntax.h: Likewise.
44078         * lib/unictype/pr_pattern_white_space.h: Likewise.
44079         * lib/unictype/pr_private_use.h: Likewise.
44080         * lib/unictype/pr_quotation_mark.h: Likewise.
44081         * lib/unictype/pr_radical.h: Likewise.
44082         * lib/unictype/pr_soft_dotted.h: Likewise.
44083         * lib/unictype/pr_space.h: Likewise.
44084         * lib/unictype/pr_titlecase.h: Likewise.
44085         * lib/unictype/pr_variation_selector.h: Likewise.
44086         * lib/unictype/pr_white_space.h: Likewise.
44087         * lib/unictype/sy_c_ident.h: Likewise.
44088         * lib/unictype/sy_c_whitespace.h: Likewise.
44089         * lib/unictype/sy_java_whitespace.h: Likewise.
44090         * modules/uni*/*: Bump version number of expected libunistring version.
44091         Reported by Simon Josefsson.
44093 2011-01-09  Karl Heuer  <kwzh@gnu.org>
44095         useless-if-before-free: fix typo in --help and make the internal,
44096         automatic version date update process work once again.
44097         --help output contained a NUL character instead of the
44098         backslash-zero that was intended.  Also, the "must lie within
44099         the first 8 lines" line is on line 9, and hence not getting
44100         automatically updated.
44101         * build-aux/useless-if-before-free: Fix the former by adding a
44102         backslash, and the latter by condensing the three lines of what-it-does
44103         to a single line, leaving one line of slack for the future.
44105 2011-01-09  Bruno Haible  <bruno@clisp.org>
44107         uniwidth/width: Fix width of U+1D173..U+1D17A.
44108         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
44109         symbolic_width, output_width_property_test): New functions.
44110         (main): Invoke output_nonspacing_property, output_width_property_test.
44111         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
44112         U+1D173..U+1D17A.
44113         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
44114         1.
44115         * modules/uniwidth/*: Bump version number of expected libunistring
44116         version.
44117         * modules/unilbrk/*: Likewise.
44119 2011-01-08  Bruno Haible  <bruno@clisp.org>
44121         uninorm tests: Preserve copyright of Unicode data file.
44122         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
44123         Mention modifications.
44125 2011-01-08  Bruno Haible  <bruno@clisp.org>
44127         gen-uni-tables: Prepare for Unicode 5.2.0.
44128         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
44129         (debug_output_lbp, output_lbp): Update.
44131 2011-01-08  Bruno Haible  <bruno@clisp.org>
44133         unilbrk: Clarify gen-uni-tables.c code.
44134         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
44135         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
44136         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
44138 2011-01-07  Bruno Haible  <bruno@clisp.org>
44140         strtod: Restore errno when successfully parsing Infinity or NaN.
44141         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
44142         restore the original errno.
44144 2011-01-07  Bruno Haible  <bruno@clisp.org>
44146         remove test: Avoid failure on HP-UX 11.
44147         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
44149 2011-01-07  Bruno Haible  <bruno@clisp.org>
44151         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
44152         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
44153         error code.
44155 2011-01-07  Pádraig Brady  <P@draigBrady.com>
44157         ignore-value: fixup comments, and add Eric Blake
44158         as an author since he rewrote the macros.
44159         * lib/ignore-value.h (ignore_value):  State that
44160         we now support aggregates.  Also specify exactly
44161         when the GCC warn_unused_result feature was added.
44163 2011-01-06  Eric Blake  <eblake@redhat.com>
44165         ignore-value: support aggregate types
44166         * lib/ignore-value.h (ignore_value): Provide separate gcc
44167         definition.
44168         * modules/ignore-value-tests: New test module.
44169         * tests/test-ignore-value.c: New test.
44171         maint.mk: improve sc_prohibit_strcmp regex
44172         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
44173         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
44174         definition of STRNEQ.
44176         signal: work around Haiku issue with SIGBUS
44177         * lib/siglist.h: Add comment.
44178         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
44179         strsignal's favoring of SIGSEGV.
44180         * tests/test-signal.c (main): Avoid test failure.
44181         * doc/posix-headers/signal.texi (signal.h): Document the issue.
44182         Reported by Scott McCreary.
44184         maint.mk: add pre-release check to ensure submodule commits are public
44185         * top/maint.mk (public-submodule-commit): New rule.
44186         (submodule-checks): New variable.
44187         (alpha beta stable): Depend on the variable.
44189 2011-01-05  Pádraig Brady  <P@draigBrady.com>
44190         and Jim Meyering  <meyering@redhat.com>
44192         ignore-value: make ignore_value more generic; deprecate ignore_ptr
44193         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
44194         (ATTRIBUTE_DEPRECATED): Define.
44195         (_ignore_case): New function.
44196         (ignore_value): New macro, to replace the old function.
44197         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
44198         * modules/ignore-value (Depends-on): Add stdint.
44200 2011-01-04  Eric Blake  <eblake@redhat.com>
44202         doc: regenerate INSTALL
44203         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
44204         @firstparagraphindent support, now that autoconf dropped it.
44205         (INSTALL_PRELUDE): Reinstate old macro.
44206         * doc/install.texi: Resync from autoconf.
44207         * doc/INSTALL: Reflect recent autoconf update.
44208         * doc/INSTALL.ISO: Likewise.
44209         * doc/INSTALL.UTF-8: Likewise.
44210         Reported by Karl Berry.
44212 2011-01-04  Bruce Korb  <address@hidden>
44214         git-version-gen: avoid a sub-shell
44215         * build-aux/git-version-gen: Redirect stderr in `...` via
44216         "exec 2>...", rather than via an added sub-shell.
44218 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
44220         git-version-gen: use (...) rather than sh -c '...'
44221         * build-aux/git-version-gen: Rather than hard-coding a shell's name
44222         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
44224 2011-01-03  Jim Meyering  <meyering@redhat.com>
44226         git-version-gen: convert leading TABs to spaces
44227         * build-aux/git-version-gen: Expand leading TABs.
44229         git-version-gen: handle failed "git rev-list"
44230         * build-aux/git-version-gen: Rather than leaking a "fatal" error
44231         from git and proceeding as if it had succeeded but printed no SHA1
44232         checksums, suppress the diagnostic and handle the failure.
44233         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
44235         git-version-gen: include command name in one more diagnostic
44236         * build-aux/git-version-gen: When the required .tarball-version file
44237         was missing or unreadable, you might see the diagnostic from "cat",
44238         but no trace of the name of the invoking script.  Now, you still see
44239         the diagnostic from cat, but also get one from "git-version-gen: ".
44240         Inspired by a patch from Bruce Korb.
44242         update-copyright: adjust test to match changed code
44243         * tests/test-update-copyright.sh: Change test's expected output
44244         to match new actual output.
44246 2011-01-02  Bruno Haible  <bruno@clisp.org>
44248         getlogin_r: Avoid test failure on HP-UX 11.
44249         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
44250         ERANGE when the second argument is zero.
44251         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
44252         portability problem.
44254 2011-01-02  Bruce Korb  <bkorb@gnu.org>
44256         * build-aux/update-copyright: doc Simon's changes
44258 2011-01-02  Simon Josefsson  <simon@josefsson.org>
44260         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
44261         environment variable.
44263 2011-01-02  Bruno Haible  <bruno@clisp.org>
44265         unigbrk: Avoid gcc warnings.
44266         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
44267         unused variable.
44268         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
44269         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
44270         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
44271         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
44272         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
44273         Change type of first argument to 'const char *'.
44274         (main): Remove unused variable.
44275         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
44276         type of first argument to 'const char *'.
44277         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
44278         Likewise.
44279         (main): Change type of variable 's'.
44280         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
44281         to 'int'.
44283 2011-01-02  Bruno Haible  <bruno@clisp.org>
44285         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
44286         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
44287         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
44288         bug.
44289         * lib/pwrite.c: Undo 2010-12-31 patch.
44290         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
44292 2011-01-02  Bruno Haible  <bruno@clisp.org>
44294         pread: Fix test whether it works.
44295         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
44297 2011-01-02  Bruno Haible  <bruno@clisp.org>
44299         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
44300         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
44301         ends in "6". Don't require a specific month name. Try also the locale
44302         names found on HP-UX 11 and Solaris 7.
44304 2011-01-02  Bruno Haible  <bruno@clisp.org>
44306         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
44307         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
44308         C linkage.
44309         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
44311 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
44313         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
44314         for consistency, since the "cluster" term is not used elsewhere.
44315         * lib/unigbrk.in.h: Update name.
44316         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
44317         * lib/unigbrk/u16-grapheme-next.c: Update name.
44318         * lib/unigbrk/u16-grapheme-prev.c: Update name.
44319         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
44320         * lib/unigbrk/u32-grapheme-next.c: Update name.
44321         * lib/unigbrk/u32-grapheme-prev.c: Update name.
44322         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
44323         * lib/unigbrk/u8-grapheme-next.c: Update name.
44324         * lib/unigbrk/u8-grapheme-prev.c: Update name.
44325         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
44326         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
44327         Suggested by Bruno Haible.
44329 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
44331         Remove module 'u8-grapheme-len' as too redundant with
44332         'u8-grapheme-next'.
44333         * modules/unigbrk/u8-grapheme-len: Delete file.
44334         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
44335         * lib/unigbrk.in.h: Remove prototype for deleted function.
44336         * lib/unigbrk/u8-grapheme-len.c: Delete file.
44337         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
44339         Remove module 'u16-grapheme-len' as too redundant with
44340         'u16-grapheme-next'.
44341         * modules/unigbrk/u16-grapheme-len: Delete file.
44342         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
44343         * lib/unigbrk.in.h: Remove prototype for deleted function.
44344         * lib/unigbrk/u16-grapheme-len.c: Delete file.
44345         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
44347         Remove module 'u32-grapheme-len' as too redundant with
44348         'u32-grapheme-next'.
44349         * modules/unigbrk/u32-grapheme-len: Delete file.
44350         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
44351         * lib/unigbrk.in.h: Remove prototype for deleted function.
44352         * lib/unigbrk/u32-grapheme-len.c: Delete file.
44353         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
44355         Suggested by Bruno Haible.
44357 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
44359         * unigbrk.in.h: Fix typo: "ben" => "been".
44360         Reported by Bruno Haible.
44362 2011-01-01  Jim Meyering  <meyering@redhat.com>
44364         maint: update almost all copyright ranges to include 2011
44365         Run the new "make update-copyright" rule.
44367 2011-01-01  Jim Meyering  <meyering@redhat.com>
44369         maint: update-copyright: exempt doc/INSTALL*
44370         * Makefile (update-copyright): Also exclude doc/INSTALL*,
44371         since they are generated.  Suggested by Bruno Haible.
44373 2011-01-01  Jim Meyering  <meyering@redhat.com>
44375         maint: refine the update-copyright rule
44376         * Makefile (update-copyright): Also exclude any file that includes
44377         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
44378         code that merely generates the comment.
44380 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
44382         New module 'u8-grapheme-len'.
44383         * modules/unigbrk/u8-grapheme-len: New file.
44384         * modules/unigbrk/u8-grapheme-len-tests: New file.
44385         * lib/unigbrk.in.h: Add prototype for new function.
44386         * lib/unigbrk/u8-grapheme-len.c: New file.
44387         * tests/unigbrk/test-u8-grapheme-len.c: New file.
44389         New module 'u16-grapheme-len'.
44390         * modules/unigbrk/u16-grapheme-len: New file.
44391         * modules/unigbrk/u16-grapheme-len-tests: New file.
44392         * lib/unigbrk.in.h: Add prototype for new function.
44393         * lib/unigbrk/u16-grapheme-len.c: New file.
44394         * tests/unigbrk/test-u16-grapheme-len.c: New file.
44396         New module 'u32-grapheme-len'.
44397         * modules/unigbrk/u32-grapheme-len: New file.
44398         * modules/unigbrk/u32-grapheme-len-tests: New file.
44399         * lib/unigbrk.in.h: Add prototype for new function.
44400         * lib/unigbrk/u32-grapheme-len.c: New file.
44401         * tests/unigbrk/test-u32-grapheme-len.c: New file.
44403         New module 'u8-grapheme-next'.
44404         * modules/unigbrk/u8-grapheme-next: New file.
44405         * modules/unigbrk/u8-grapheme-next-tests: New file.
44406         * lib/unigbrk.in.h: Add prototype for new function.
44407         * lib/unigbrk/u8-grapheme-next.c: New file.
44408         * tests/unigbrk/test-u8-grapheme-next.c: New file.
44410         New module 'u16-grapheme-next'.
44411         * modules/unigbrk/u16-grapheme-next: New file.
44412         * modules/unigbrk/u16-grapheme-next-tests: New file.
44413         * lib/unigbrk.in.h: Add prototype for new function.
44414         * lib/unigbrk/u16-grapheme-next.c: New file.
44415         * tests/unigbrk/test-u16-grapheme-next.c: New file.
44417         New module 'u32-grapheme-next'.
44418         * modules/unigbrk/u32-grapheme-next: New file.
44419         * modules/unigbrk/u32-grapheme-next-tests: New file.
44420         * lib/unigbrk.in.h: Add prototype for new function.
44421         * lib/unigbrk/u32-grapheme-next.c: New file.
44422         * tests/unigbrk/test-u32-grapheme-next.c: New file.
44424         New module 'u8-grapheme-prev'.
44425         * modules/unigbrk/u8-grapheme-prev: New file.
44426         * modules/unigbrk/u8-grapheme-prev-tests: New file.
44427         * lib/unigbrk.in.h: Add prototype for new function.
44428         * lib/unigbrk/u8-grapheme-prev.c: New file.
44429         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
44431         New module 'u16-grapheme-prev'.
44432         * modules/unigbrk/u16-grapheme-prev: New file.
44433         * modules/unigbrk/u16-grapheme-prev-tests: New file.
44434         * lib/unigbrk.in.h: Add prototype for new function.
44435         * lib/unigbrk/u16-grapheme-prev.c: New file.
44436         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
44438         New module 'u32-grapheme-prev'.
44439         * modules/unigbrk/u32-grapheme-prev: New file.
44440         * modules/unigbrk/u32-grapheme-prev-tests: New file.
44441         * lib/unigbrk.in.h: Add prototype for new function.
44442         * lib/unigbrk/u32-grapheme-prev.c: New file.
44443         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
44445         New module 'u8-grapheme-breaks'.
44446         * modules/unigbrk/u8-grapheme-breaks: New file.
44447         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
44448         * lib/unigbrk.in.h: Add prototype for new function.
44449         * lib/unigbrk/u8-grapheme-breaks.c: New file.
44450         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
44452         New module 'u16-grapheme-breaks'.
44453         * modules/unigbrk/u16-grapheme-breaks: New file.
44454         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
44455         * lib/unigbrk.in.h: Add prototype for new function.
44456         * lib/unigbrk/u16-grapheme-breaks.c: New file.
44457         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
44459         New module 'u32-grapheme-breaks'.
44460         * modules/unigbrk/u32-grapheme-breaks: New file.
44461         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
44462         * lib/unigbrk.in.h: Add prototype for new function.
44463         * lib/unigbrk/u32-grapheme-breaks.c: New file.
44464         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
44466         New module 'ulc-grapheme-breaks'.
44467         * modules/unigbrk/ulc-grapheme-breaks: New file.
44468         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
44469         * m4/locale-ar.m4: New file.
44470         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
44471         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
44472         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
44474 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
44476         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
44477         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
44478         modified how this file was generated before I initially submitted
44479         the module, but failed to regenerate it.  This meant that several
44480         of the level2 entries were wrong.
44481         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
44482         Remove the division-by-2 that is folded into the table now that
44483         gbrkprop.h has been regenerated properly.  Now -1 entries are
44484         handled correctly.
44486         New module 'unigbrk/uc-gbrk-prop-tests'.
44487         * modules/unigbrk/uc-gbrk-prop-tests: New file.
44488         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
44489         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
44490         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
44492 2011-01-01  Bruno Haible  <bruno@clisp.org>
44494         Avoid use of hexadecimal escapes.
44495         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
44496         instead of hexadecimal escapes.
44498 2011-01-01  Jim Meyering  <meyering@redhat.com>
44500         maint: new rule to update copyright year ranges
44501         * Makefile (update-copyright): New rule.
44503         maint: indent with TABs in Makefile
44504         * Makefile: Expand leading sequences of spaces to TABs
44506         version-etc: update the copyright year it reports
44507         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
44509 2010-12-31  Bruno Haible  <bruno@clisp.org>
44511         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
44512         * lib/isfinite.c (zerof, zerod, zerol): New variables.
44513         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
44514         zero.
44516 2010-12-31  Bruno Haible  <bruno@clisp.org>
44518         pwrite: Work around HP-UX 11.11 bug.
44519         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
44520         works and set REPLACE_PWRITE if not.
44521         * lib/pwrite.c (pwrite): Add an implementation that uses the system
44522         function.
44523         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
44525 2010-12-31  Bruno Haible  <bruno@clisp.org>
44527         pread: Work around HP-UX 11 bugs.
44528         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
44529         and set REPLACE_PREAD if not.
44530         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
44532 2010-12-31  Eric Blake  <eblake@redhat.com>
44534         nl_langinfo: fix YESEXPR on Irix 6.5
44535         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
44536         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
44537         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
44538         it.
44540 2010-12-31  Bruno Haible  <bruno@clisp.org>
44542         iconv: Document HP-UX 11 bug.
44543         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
44545 2010-12-31  Bruno Haible  <bruno@clisp.org>
44547         ldexpl: Fix link error on HP-UX 11.
44548         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
44549         LDEXPL_LIBM, using $ISNANL_LIBM.
44551 2010-12-31  Eric Blake  <eblake@redhat.com>
44553         ftello: avoid compilation failure with SunStudio c89
44554         * lib/ftello.c (ftello): Use lseek, not llseek.
44556         tests: avoid failing coreutils tests on cygwin
44557         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
44558         (create_exe_shims_): Return 0 when skipping.
44560 2010-12-31  Bruno Haible  <bruno@clisp.org>
44562         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
44563         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
44565 2010-12-31  Bruno Haible  <bruno@clisp.org>
44567         waitpid: Fix link error in C++ mode.
44568         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
44570 2010-12-31  Bruno Haible  <bruno@clisp.org>
44572         isnan: Use GCC built-ins when possible.
44573         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
44574         __builtin_isnan.
44575         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
44576         (isnan): Define using GCC built-ins for GCC >= 4.0.
44578 2010-12-31  Bruno Haible  <bruno@clisp.org>
44580         isnand: Fix mistake.
44581         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
44582         __builtin_isnand.
44584 2010-12-31  Bruno Haible  <bruno@clisp.org>
44586         open: Avoid C++ error on HP-UX 11.
44587         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
44589 2010-12-31  Bruno Haible  <bruno@clisp.org>
44591         time_r: Add missing declarations on HP-UX 11.
44592         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
44593         instead of HAVE_LOCALTIME_R.
44594         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
44595         HAVE_LOCALTIME_R always.
44596         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
44597         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
44598         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
44599         HAVE_LOCALTIME_R.
44600         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
44601         * doc/posix-functions/localtime_r.texi: Likewise.
44603 2010-12-29  Eric Blake  <eblake@redhat.com>
44605         mountlist: tweak previous commit
44606         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
44607         Reported by Paul Eggert.
44609         mountlist: fix local drive detection on cygwin
44610         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
44611         that works for cygwin.
44613 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
44615         ftoastr, snprintf: ftoastr + snprintf module
44616         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
44617         since the snprintf module now should be good enough here.
44618         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
44619         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
44620         and gl_MODULE_INDICATOR([snprintf]), but the former enables
44621         GNULIB_SNPRINTF only for the test directory, and the latter
44622         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
44623         seems to suffice by itself.
44625 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
44627         alloca: one step towards thread-safety
44628         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
44629         need for a static variable.  All callers changed.  This does not
44630         make the alloca replacement thread-safe, but it's one step.
44632         tests: minor indenting change
44633         * tests/init.sh: Sync from coreutils housekeeping patch
44634         <http://lists.gnu.org/r/coreutils/2010-12/msg00116.html>
44635         to keep lines within 80 columns.
44637 2010-12-28  Jim Meyering  <meyering@redhat.com>
44639         regex: don't infloop on persistent failing calloc
44640         * lib/regexec.c (build_trtable): Return failure indication upon
44641         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
44642         In glibc, this was fixed for version 2.13:
44643         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
44645 2010-12-28  Bruno Haible  <bruno@clisp.org>
44646             Paul Eggert <eggert@cs.ucla.edu>
44648         linkat: Make implementation robust against system behaviour variations.
44649         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
44650         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
44651         way, and to -2 if it needs a generic runtime test.
44652         * lib/linkat.c (solaris_optimized_link_immediate,
44653         solaris_optimized_link_follow): New functions.
44654         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
44655         (check_same_link): Use it.
44657 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
44659         New module 'unigbrk/base'.
44660         * modules/unigbrk/base: New file.
44661         * lib/unigbrk.in.h: New file.
44663         New module 'unigbrk/uc-gbrk-prop'.
44664         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
44665         * modules/unigbrk/uc-gbrk-prop: New file.
44666         * lib/unigbrk/gbrkprop.h: New file.
44667         * lib/unigbrk/uc-gbrk-prop.c: New file.
44669         New module 'unigbrk/uc-is-grapheme-break'.
44670         * modules/unigbrk/uc-is-grapheme-break: New file.
44671         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
44672         * lib/unigbrk/uc-is-grapheme-break.c: New file.
44673         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
44674         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
44675         * tests/unigbrk/GraphemeBreakTest.txt: New file.
44677         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
44679 2010-12-27  Bruno Haible  <bruno@clisp.org>
44681         linkat test: Avoid failure on Solaris 11 2010-11.
44682         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
44684 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
44686         utimens: work around glibc rounding bug on more platforms
44687         * lib/utimens.c (fdutimens): Work around rounding bug even if
44688         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
44689         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00298.html>.
44691 2010-12-27  Bruno Haible  <bruno@clisp.org>
44693         select tests: Improve comments.
44694         * tests/test-select.c (do_select): Add comments.
44696 2010-12-27  Bruno Haible  <bruno@clisp.org>
44698         select tests: Safer way of handling timeout.
44699         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
44700         at every invocation.
44702 2010-12-27  Bruno Haible  <bruno@clisp.org>
44704         select tests: Use 'bool' where appropriate.
44705         * tests/test-select.c (connect_to_socket): Change argument type to
44706         'bool'.
44708 2010-12-27  Bruno Haible  <bruno@clisp.org>
44710         select tests: Use existing modules.
44711         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
44712         (configure.ac): Don't test for unistd.h.
44713         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
44714         declared in <unistd.h>.
44716 2010-12-27  Bruno Haible  <bruno@clisp.org>
44718         mbrtowc: Work around a Solaris 7 bug.
44719         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
44720         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
44721         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
44722         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
44723         MBRTOWC_NULL_ARG1_BUG.
44724         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
44725         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
44726         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
44727         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
44729 2010-12-27  Jim Meyering  <meyering@redhat.com>
44731         read-file.c: tweak syntax
44732         * lib/read-file.c (fread_file): Remove space after "*" in function
44733         definitions.
44735 2010-12-27  Bruno Haible  <bruno@clisp.org>
44737         times test: Avoid gcc warnings on OSF/1.
44738         * tests/test-times.c (main): Cast printf arguments from clock_t to
44739         'long int'.
44741 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
44743         utimens: work around glibc rounding bug on older Linux kernels
44744         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
44745         on Linux with a glibc whose utimes might not work, then work
44746         around a longstanding glibc bug involving rounding rather than
44747         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
44748         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
44750 2010-12-26  Bruno Haible  <bruno@clisp.org>
44752         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
44753         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
44754         _GL_CXXALIAS_SYS.
44755         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
44757 2010-12-26  Bruno Haible  <bruno@clisp.org>
44759         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
44760         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
44761         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
44762         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
44763         looking for the declaration.
44764         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
44765         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
44766         problem.
44767         * doc/posix-functions/inet_pton.texi: Likewise.
44769 2010-12-26  Bruno Haible  <bruno@clisp.org>
44771         arpa_inet: Use the common idioms with C++ support.
44772         * lib/arpa_inet.in.h: Include c++defs.h.
44773         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
44774         support.
44775         * modules/arpa_inet (Depends-on): Add c++defs.
44776         (Makefile.am): Substitute the contents of c++defs.h.
44777         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
44778         * modules/arpa_inet-c++-tests: New file.
44779         * tests/test-arpa_inet-c++.cc: New file.
44781 2010-12-25  Bruno Haible  <bruno@clisp.org>
44783         Fix more C++ link errors on Solaris 8.
44784         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
44785         $(LIB_EACCESS).
44786         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
44787         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
44788         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
44789         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
44790         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
44792 2010-12-25  Bruno Haible  <bruno@clisp.org>
44794         printf-posix: Fix link error when a non-GCC compiler is used.
44795         * lib/stdio.in.h (printf): When not using GCC, override printf
44796         correctly.
44797         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
44799 2010-12-25  Bruno Haible  <bruno@clisp.org>
44801         strerror_r-posix: Update doc.
44802         * doc/posix-functions/strerror_r.texi: Update doc about the return
44803         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
44805 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
44807         utimens: simplify the logic of the previous change
44808         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
44809         This should not affect whether the test succeeds or fails.
44811         utimens: configure better on hosts with NFS clock skew
44812         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
44813         uses the clock of the local host.  It might use the clock of the
44814         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
44815         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
44817 2010-12-25  Bruno Haible  <bruno@clisp.org>
44819         ptsname test: Avoid failure on Solaris.
44820         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
44821         open a pseudo-terminal; don't use BSD-style ptys.
44822         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
44824 2010-12-25  Bruno Haible  <bruno@clisp.org>
44826         ptsname: Avoid ERANGE failure on some systems.
44827         * lib/ptsname.c (buffer): Increase size.
44829 2010-12-25  Bruno Haible  <bruno@clisp.org>
44831         rename, renameat: Avoid test failures at NFS mounted locations.
44832         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
44833         so that subsequent mkdir calls succeed.
44835 2010-12-25  Bruno Haible  <bruno@clisp.org>
44837         iswblank: Fix C++ link error on Solaris 8.
44838         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
44839         _GL_FUNCDECL_SYS.
44841 2010-12-25  Bruno Haible  <bruno@clisp.org>
44843         unistd: Fix C++ link error on Solaris 8.
44844         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
44846 2010-12-25  Bruno Haible  <bruno@clisp.org>
44848         readlink doc: Mention an old glibc bug.
44849         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
44851 2010-12-25  Bruno Haible  <bruno@clisp.org>
44853         fcntl-h: Fix for use of C++ on glibc systems.
44854         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
44855         also on glibc systems in C++ mode.
44856         Reported by Gary V. Vaughan <gary@gnu.org>.
44858 2010-12-25  Bruno Haible  <bruno@clisp.org>
44860         roundl-ieee: Make it work on OSF/1 5.1 with cc.
44861         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
44863 2010-12-25  Bruno Haible  <bruno@clisp.org>
44865         truncl-ieee: Make it work on OSF/1 5.1 with cc.
44866         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
44867         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
44868         test whether truncl works according to ISO C 99 with IEC 60559.
44869         * m4/truncl-ieee.m4: New file.
44870         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
44871         m4/signbit.m4.
44872         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
44874 2010-12-25  Bruno Haible  <bruno@clisp.org>
44876         ceill-ieee: Make it work on OSF/1 5.1 with cc.
44877         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
44878         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
44879         test whether ceill works according to ISO C 99 with IEC 60559.
44880         * m4/ceill-ieee.m4: New file.
44881         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
44882         m4/signbit.m4.
44883         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
44885 2010-12-25  Bruno Haible  <bruno@clisp.org>
44887         Ensure all prerequisites of <wchar.h> are included.
44888         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
44889         before <wchar.h>.
44890         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
44891         gl_MBRLEN_NUL_RETVAL): Likewise.
44892         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
44893         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
44894         AC_FUNC_MBRTOWC): Likewise.
44895         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
44896         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
44897         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
44898         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
44899         Likewise.
44900         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
44901         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
44902         (gl_WCHAR_H): Improve comments.
44903         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
44905 2010-12-25  Bruno Haible  <bruno@clisp.org>
44907         strtok_r: Fix C syntax error in autoconf macro.
44908         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
44909         characters in test program.
44911 2010-12-24  Bruno Haible  <bruno@clisp.org>
44913         ceil, trunc, round: Fix gcc warnings.
44914         * lib/ceil.c (MIN): Undefine before redefining.
44915         * lib/trunc.c (MIN): Likewise.
44916         * lib/round.c (MIN): Likewise.
44917         Include <math.h> first.
44919 2010-12-24  Bruno Haible  <bruno@clisp.org>
44921         select tests: Avoid failures on OSF/1 5.1.
44922         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
44923         failure of closing the last socket; it may fail with ECONNRESET.
44925 2010-12-24  Eric Blake  <eblake@redhat.com>
44927         stdint: avoid HP-UX 10.20 preprocessor bug
44928         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
44929         than #if.
44930         * tests/test-floor2.c (main): Likewise.
44931         Reported by Peter O'Gorman.
44933         pipe: make obsoletion transition easier
44934         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
44935         * modules/pipe (Files): Include revived file.
44936         (Include): Drop reference, to mirror getdate's behavior.
44938 2010-12-24  Bruno Haible  <bruno@clisp.org>
44940         sys_socket: Hide mismatch of declarations on NonStop Kernel.
44941         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
44942         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
44943         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
44945 2010-12-24  Bruno Haible  <bruno@clisp.org>
44947         gethostname: Ensure declaration on NonStop Kernel.
44948         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
44949         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
44951 2010-12-24  Bruno Haible  <bruno@clisp.org>
44953         sys_select: Ensure all necessary types on NonStop Kernel.
44954         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
44955         include <sys/time.h>.
44956         * doc/posix-headers/sys_select.texi: Mention that it's missing on
44957         NonStop Kernel.
44958         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
44960 2010-12-24  Bruno Haible  <bruno@clisp.org>
44962         sys_select: Remove unneeded include.
44963         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
44964         have <sys/select.h>.
44966 2010-12-24  Bruno Haible  <bruno@clisp.org>
44968         gethostname: Provide a fallback for HOST_NAME_MAX.
44969         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
44970         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
44971         instead.
44972         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
44974 2010-12-24  Bruno Haible  <bruno@clisp.org>
44976         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
44977         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
44978         (SA_RESTART): Likewise.
44979         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
44981 2010-12-24  Bruno Haible  <bruno@clisp.org>
44983         signal: Define NSIG.
44984         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
44985         * tests/test-signal.c (nsig): New variable.
44986         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
44988 2010-12-24  Bruno Haible  <bruno@clisp.org>
44990         rename, renameat: Avoid test failures on OSF/1 5.1.
44991         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
44992         alternative error codes.
44993         * tests/test-renameat.c (main): Likewise.
44995 2010-12-24  Bruno Haible  <bruno@clisp.org>
44997         *printf: Detect large precisions bug on Solaris 10/SPARC.
44998         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
44999         by Paul Eggert.
45000         * tests/test-snprintf-posix.h (test_function): Add this test code here
45001         too.
45002         * tests/test-sprintf-posix.h (test_function): Likewise.
45003         * tests/test-vasnprintf-posix.c (test_function): Likewise.
45004         * tests/test-vasprintf-posix.c (test_function): Likewise.
45005         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
45006         around by gnulib.
45007         * doc/posix-functions/printf.texi: Likewise.
45008         * doc/posix-functions/snprintf.texi: Likewise.
45009         * doc/posix-functions/sprintf.texi: Likewise.
45010         * doc/posix-functions/vfprintf.texi: Likewise.
45011         * doc/posix-functions/vprintf.texi: Likewise.
45012         * doc/posix-functions/vsnprintf.texi: Likewise.
45013         * doc/posix-functions/vsprintf.texi: Likewise.
45014         * doc/posix-functions/dprintf.texi: Undo last commit.
45015         * doc/posix-functions/vdprintf.texi: Likewise.
45017 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
45019         tests: port test-fdutimensat.c to Solaris 8
45020         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
45021         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
45022         On Solaris 8, it fails with errno == ENOSYS, because there is no
45023         futimens (so it can't use the fd), and there is no lutimens (so it
45024         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
45026         vsnprintf: make more consistent with snprintf; doc fixes
45028         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
45029         the byte count return problem was promoted from the snprintf-posix
45030         to the snprintf module.
45031         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
45032         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
45033         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
45034         * tests/test-snprintf.c (main): Check the byte count returned.
45035         * tests/test-vsnprintf.c (main): Likewise.
45037 2010-12-23  Eric Blake  <eblake@redhat.com>
45039         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
45040         * modules/sigpipe (License): Relax license.
45042 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
45044         doc: document Solaris printf bug with large float precisions
45045         * doc/posix-functions/dprintf.texi (dprintf):
45046         * doc/posix-functions/fprintf.texi (fprintf):
45047         * doc/posix-functions/printf.texi (printf):
45048         * doc/posix-functions/snprintf.texi (snprintf):
45049         * doc/posix-functions/sprintf.texi (sprintf):
45050         * doc/posix-functions/vdprintf.texi (vdprintf):
45051         * doc/posix-functions/vfprintf.texi (vfprintf):
45052         * doc/posix-functions/vprintf.texi (vprintf):
45053         * doc/posix-functions/vsnprintf.texi (vsnprintf):
45054         * doc/posix-functions/vsprintf.texi (vsprintf):
45055         Mention that these functions mishandle large floating point
45056         precisions on Solaris 10.  The same bug is also present in Solaris
45057         8, and I assume earlier.  This causes "cd gnulib-tests; make
45058         check" to fail on Solaris 8 (and I assume, later) when building
45059         the latest coreutils, in test-vasprintf-posix's call to
45060         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
45061         the wide flavors (e.g., wprintf) so this patch just updates the
45062         documentation for the narrow ones.
45064         test-posixtm.c: add two tests
45065         * tests/test-posixtm.c: Add two tests, to highlight the
45066         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
45067         around this bug; this is merely to document it.
45069 2010-12-22  Bruno Haible  <bruno@clisp.org>
45071         getlogin_r: Work around portability problem on OSF/1.
45072         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
45073         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
45074         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
45075         test for a truncated result.
45076         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
45077         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
45078         * modules/getlogin_r (Depends-on): Add memchr.
45079         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
45081 2010-12-22  Bruno Haible  <bruno@clisp.org>
45083         ptsname: Avoid test failure on OSF/1 5.1.
45084         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
45085         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
45086         (same_slave): New function.
45087         (main): Use it to compare ptsname's result with the expected file name.
45089 2010-12-22  Bruno Haible  <bruno@clisp.org>
45091         Port extended stdio modules to HP NonStop Kernel.
45092         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
45093         macros.
45094         * lib/fbufmode.c: Update comments.
45095         * lib/fflush.c: Likewise.
45096         * lib/fpurge.c: Likewise.
45097         * lib/freadable.c: Likewise.
45098         * lib/freadahead.c: Likewise.
45099         * lib/freading.c: Likewise.
45100         * lib/freadptr.c: Likewise.
45101         * lib/freadseek.c: Likewise.
45102         * lib/fseeko.c: Likewise.
45103         * lib/fseterr.c: Likewise.
45104         * lib/fwritable.c: Likewise.
45105         * lib/fwriting.c: Likewise.
45106         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
45108 2010-12-22  Bruno Haible  <bruno@clisp.org>
45110         ttyname_r: Work around bug on OSF/1 5.1.
45111         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
45112         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
45113         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
45114         present.
45115         * lib/ttyname_r.c (ttyname_r): Update comments.
45117 2010-12-22  Bruno Haible  <bruno@clisp.org>
45119         round: Implement result sign according to IEEE 754.
45120         * lib/round.c (MIN, MINUS_ZERO): New macros.
45121         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
45122         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
45123         * tests/test-round-ieee.c (main): Likewise.
45124         * tests/test-roundl-ieee.c (main): Likewise.
45126         trunc: Implement result sign according to IEEE 754.
45127         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
45128         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
45129         * tests/test-trunc2.c: Include minus-zero.h.
45130         (MINUS_ZERO): New macro.
45131         (trunc_reference): Keep in sync with lib/trunc.c.
45132         * tests/test-truncf2.c: Include minus-zero.h.
45133         (MINUS_ZERO): New macro.
45134         (truncf_reference): Keep in sync with lib/trunc.c.
45135         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
45136         * tests/test-trunc-ieee.c (main): Likewise.
45137         * tests/test-truncl-ieee.c (main): Likewise.
45139         ceil: Implement result sign according to IEEE 754.
45140         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
45141         (FUNC): Return -0.0 for -1 < x < 0.
45142         * tests/test-ceil2.c: Include minus-zero.h.
45143         (MINUS_ZERO): New macro.
45144         (ceil_reference): Keep in sync with lib/ceil.c.
45145         * tests/test-ceilf2.c: Include minus-zero.h.
45146         (MINUS_ZERO): New macro.
45147         (ceilf_reference): Keep in sync with lib/ceil.c.
45148         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
45149         * tests/test-ceil-ieee.c (main): Likewise.
45150         * tests/test-ceill-ieee.c (main): Likewise.
45152         floor: Implement result sign according to IEEE 754.
45153         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
45154         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
45155         * tests/test-floorf2.c (floorf_reference): Likewise.
45156         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
45157         * tests/test-floor-ieee.c (main): Likewise.
45158         * tests/test-floorl-ieee.c (main): Likewise.
45160 2010-12-22  Bruno Haible  <bruno@clisp.org>
45162         getaddrinfo: Update doc.
45163         * doc/posix-functions/gai_strerror.texi: Return type is also different
45164         on AIX and HP-UX.
45166 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
45168         getaddrinfo, inet_ntop: Update doc for Solaris.
45169         * doc/posix-functions/gai_strerror.texi: Return type is also an
45170         issue on Solaris 9 and earlier.
45171         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
45172         on Solaris 10 and earlier.
45174 2010-12-21  Bruno Haible  <bruno@clisp.org>
45176         New module 'roundl-ieee'.
45177         * modules/roundl-ieee: New file.
45178         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
45179         test whether roundl works according to ISO C 99 with IEC 60559.
45180         * m4/roundl-ieee.m4: New file.
45181         * modules/roundl-ieee-tests: New file.
45182         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
45183         * tests/test-roundl.c (main): Remove signbit tests.
45184         * modules/roundl-tests (Depends-on): Remove signbit.
45185         * doc/posix-functions/roundl.texi: Mention the new module.
45187 2010-12-21  Bruno Haible  <bruno@clisp.org>
45189         New module 'truncl-ieee'.
45190         * modules/truncl-ieee: New file.
45191         * modules/truncl-ieee-tests: New file.
45192         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
45193         * tests/test-truncl.c (main): Remove signbit tests.
45194         * modules/truncl-tests (Depends-on): Remove signbit.
45195         * doc/posix-functions/truncl.texi: Mention the new module.
45197 2010-12-21  Bruno Haible  <bruno@clisp.org>
45199         New module 'ceill-ieee'.
45200         * modules/ceill-ieee: New file.
45201         * modules/ceill-ieee-tests: New file.
45202         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
45203         * tests/test-ceill.c (main): Remove signbit tests.
45204         * modules/ceill-tests (Depends-on): Remove signbit.
45205         * doc/posix-functions/ceill.texi: Mention the new module.
45207 2010-12-21  Bruno Haible  <bruno@clisp.org>
45209         New module 'floorl-ieee'.
45210         * modules/floorl-ieee: New file.
45211         * modules/floorl-ieee-tests: New file.
45212         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
45213         * tests/test-floorl.c (main): Remove signbit tests.
45214         * modules/floorl-tests (Depends-on): Remove signbit.
45215         * doc/posix-functions/floorl.texi: Mention the new module.
45217 2010-12-21  Bruno Haible  <bruno@clisp.org>
45219         New module 'round-ieee'.
45220         * modules/round-ieee: New file.
45221         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
45222         whether round works according to ISO C 99 with IEC 60559.
45223         * m4/round-ieee.m4: New file.
45224         * modules/round-ieee-tests: New file.
45225         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
45226         * tests/test-round1.c (main): Remove signbit tests.
45227         * modules/round-tests (Depends-on): Remove 'signbit'.
45228         * doc/posix-functions/round.texi: Mention the new module.
45230 2010-12-21  Bruno Haible  <bruno@clisp.org>
45232         New module 'trunc-ieee'.
45233         * modules/trunc-ieee: New file.
45234         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
45235         whether trunc works according to ISO C 99 with IEC 60559.
45236         * m4/trunc-ieee.m4: New file.
45237         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
45238         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
45239         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
45240         * modules/trunc-ieee-tests: New file.
45241         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
45242         * tests/test-trunc1.c (main): Remove signbit tests.
45243         * modules/trunc-tests (Depends-on): Remove 'signbit'.
45244         * doc/posix-functions/trunc.texi: Mention the new module.
45246 2010-12-21  Bruno Haible  <bruno@clisp.org>
45248         New module 'ceil-ieee'.
45249         * modules/ceil-ieee: New file.
45250         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
45251         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
45252         ISO C 99 with IEC 60559.
45253         * m4/ceil-ieee.m4: New file.
45254         * modules/ceil (Files): Add lib/ceil.c.
45255         (Depends-on): Add 'float'.
45256         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
45257         * lib/math.in.h (ceil): New declaration.
45258         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
45259         REPLACE_CEIL.
45260         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
45261         * modules/ceil-ieee-tests: New file.
45262         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
45263         * tests/test-math-c++.cc: Check the signature of 'ceil'.
45264         * doc/posix-functions/ceil.texi: Mention the new module.
45266 2010-12-21  Bruno Haible  <bruno@clisp.org>
45268         New module 'floor-ieee'.
45269         * modules/floor-ieee: New file.
45270         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
45271         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
45272         ISO C 99 with IEC 60559.
45273         * m4/floor-ieee.m4: New file.
45274         * modules/floor (Files): Add lib/floor.c.
45275         (Depends-on): Add 'float'.
45276         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
45277         * lib/math.in.h (floor): New declaration.
45278         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
45279         REPLACE_FLOOR.
45280         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
45281         * modules/floor-ieee-tests: New file.
45282         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
45283         * tests/test-math-c++.cc: Check the signature of 'floor'.
45284         * doc/posix-functions/floor.texi: Mention the new module.
45286 2010-12-21  Bruno Haible  <bruno@clisp.org>
45288         New module 'roundf-ieee'.
45289         * modules/roundf-ieee: New file.
45290         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
45291         test whether roundf works according to ISO C 99 with IEC 60559.
45292         * m4/roundf-ieee.m4: New file.
45293         * modules/roundf-ieee-tests: New file.
45294         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
45295         * tests/test-roundf1.c (main): Remove signbit tests.
45296         * modules/roundf-tests (Depends-on): Remove 'signbit'.
45297         * doc/posix-functions/roundf.texi: Mention the new module.
45299 2010-12-21  Bruno Haible  <bruno@clisp.org>
45301         New module 'truncf-ieee'.
45302         * modules/truncf-ieee: New file.
45303         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
45304         test whether truncf works according to ISO C 99 with IEC 60559.
45305         * m4/truncf-ieee.m4: New file.
45306         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
45307         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
45308         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
45309         * modules/truncf-ieee-tests: New file.
45310         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
45311         * tests/test-truncf1.c (main): Remove signbit tests.
45312         * modules/truncf-tests (Depends-on): Remove 'signbit'.
45313         * doc/posix-functions/truncf.texi: Mention the new module.
45315 2010-12-21  Bruno Haible  <bruno@clisp.org>
45317         New module 'ceilf-ieee'.
45318         * modules/ceilf-ieee: New file.
45319         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
45320         test whether ceilf works according to ISO C 99 with IEC 60559.
45321         * m4/ceilf-ieee.m4: New file.
45322         * modules/ceilf-ieee-tests: New file.
45323         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
45324         * tests/test-ceilf1.c (main): Remove signbit tests.
45325         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
45326         * doc/posix-functions/ceilf.texi: Mention the new module.
45328 2010-12-21  Bruno Haible  <bruno@clisp.org>
45330         New module 'floorf-ieee'.
45331         * modules/floorf-ieee: New file.
45332         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
45333         test whether floorf works according to ISO C 99 with IEC 60559.
45334         * m4/floorf-ieee.m4: New file.
45335         * modules/floorf-ieee-tests: New file.
45336         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
45337         * tests/test-floorf1.c (main): Remove signbit tests.
45338         * modules/floorf-tests (Depends-on): Remove 'signbit'.
45339         * doc/posix-functions/floorf.texi: Mention the new module.
45341 2010-12-21  Bruno Haible  <bruno@clisp.org>
45343         Support for minus zero in autoconf macros.
45344         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
45345         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
45346         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
45347         * tests/minus-zero.h: Update comments.
45349 2010-12-21  Bruno Haible  <bruno@clisp.org>
45351         Tests for module 'ceil'.
45352         * modules/ceil-tests: New file.
45353         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
45354         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
45356 2010-12-21  Bruno Haible  <bruno@clisp.org>
45358         Tests for module 'floor'.
45359         * modules/floor-tests: New file.
45360         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
45361         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
45363 2010-12-21  Bruno Haible  <bruno@clisp.org>
45365         math: Fix indentation.
45366         * lib/math.in.h (floorf): Fix indentation.
45368 2010-12-21  Bruno Haible  <bruno@clisp.org>
45370         Fix cross-compilation guesses on Solaris.
45371         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
45372         not match "solaris2.10".
45373         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
45374         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
45375         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
45377 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
45379         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
45380         This fixes a problem observed with the latest coreutils snapshot
45381         that caused a test to fail on Solaris 8.  src/csplit.c's call
45382         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
45383         earlier, instead of returning the number of bytes that would have
45384         been generated; this causes csplit to incorrectly report memory
45385         exhaustion.
45386         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
45387         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
45388         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
45389         comments to match.
45390         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
45391         Fix typo in matching older versions of Solaris: "solaris2.10"
45392         is matched by the shell pattern "solaris2.[0-9]*".  This matters
45393         only for guessing while cross-compiling.
45394         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
45396 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
45398         ftoastr: fix comment again
45399         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
45400         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00149.html>.
45401         Also, simplify example a bit by using flags = 0.
45403 2010-12-20  Bruno Haible  <bruno@clisp.org>
45405         round*, trunc*: Update documentation regarding glibc.
45406         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
45407         * doc/posix-functions/round.texi: Likewise.
45408         * doc/posix-functions/roundl.texi: Likewise.
45409         * doc/posix-functions/truncf.texi: Likewise.
45410         * doc/posix-functions/trunc.texi: Likewise.
45411         * doc/posix-functions/truncl.texi: Likewise.
45413 2010-12-20  Bruno Haible  <bruno@clisp.org>
45415         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
45416         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
45417         * doc/posix-functions/round.texi: Likewise.
45418         * doc/posix-functions/roundl.texi: Likewise.
45420 2010-12-20  Bruno Haible  <bruno@clisp.org>
45422         ttyname_r: Add missing declaration on HP-UX 11.
45423         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
45424         HAVE_TTYNAME_R.
45425         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
45426         declared. Set HAVE_TTYNAME_R always.
45427         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45428         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
45429         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
45430         HAVE_TTYNAME_R.
45431         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
45433 2010-12-20  Bruno Haible  <bruno@clisp.org>
45435         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
45436         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
45437         * doc/posix-functions/getlogin_r.texi: Likewise.
45438         * tests/test-getlogin.c: Include <errno.h>.
45439         (main): Avoid test failure on HP-UX 11.11.
45440         * tests/test-getlogin_r.c (main): Likewise.
45442 2010-12-20  Bruno Haible  <bruno@clisp.org>
45444         getlogin_r: Add missing declaration on HP-UX 11.
45445         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
45446         declared also when it exists as a function.
45447         * doc/posix-functions/getlogin_r.texi: Document this workaround.
45449 2010-12-20  Bruno Haible  <bruno@clisp.org>
45451         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
45452         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
45453         through wcrtomb.
45455 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
45457         ftoastr: fix comment
45458         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
45459         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00130.html>.
45461 2010-12-19  Bruno Haible  <bruno@clisp.org>
45463         isnan: Ensure it is a macro.
45464         * lib/math.in.h (isnan): Define as a macro if not already a macro.
45465         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
45466         Solaris.
45468 2010-12-19  Bruno Haible  <bruno@clisp.org>
45470         ldexpl test: Fix link error on OSF/1 5.1.
45471         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
45473 2010-12-19  Bruno Haible  <bruno@clisp.org>
45475         wctype: Make it work in C++ mode on OSF/1 5.1.
45476         * lib/wctype.in.h (iswblank): Declare but not define here.
45477         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
45478         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
45479         * modules/wctype (Files): Add lib/iswblank.c.
45481 2010-12-19  Bruno Haible  <bruno@clisp.org>
45483         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
45484         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
45485         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
45487 2010-12-19  Bruno Haible  <bruno@clisp.org>
45489         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
45490         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
45491         _POSIX_PII_SOCKET.
45492         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
45493         * doc/posix-functions/recvfrom.texi: Likewise.
45494         * doc/posix-functions/send.texi: Likewise.
45495         * doc/posix-functions/sendto.texi: Likewise.
45497 2010-12-19  Bruno Haible  <bruno@clisp.org>
45499         tcgetsid: Add missing declaration on OSF/1 5.1.
45500         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
45501         HAVE_TCGETSID.
45502         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
45503         Don't set HAVE_TCGETSID.
45504         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
45505         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
45506         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
45507         HAVE_TCGETSID.
45508         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
45510 2010-12-19  Bruno Haible  <bruno@clisp.org>
45512         stdio: Fix problem with popen() declaration on OSF/1 5.1.
45513         * lib/stdio.in.h: During the include_next statement, let recursive
45514         includes of this file include only the system header file.
45516 2010-12-19  Bruno Haible  <bruno@clisp.org>
45518         iconv_open: Fix regression from 2010-12-04.
45519         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
45520         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
45522 2010-12-19  Bruno Haible  <bruno@clisp.org>
45524         stdbool test: Avoid a gcc warning.
45525         * tests/test-stdbool.c (main): Fail if e1 is false.
45526         Reported by Jim Meyering.
45528 2010-12-19  Jim Meyering  <meyering@redhat.com>
45530         setenv: restore to working order
45531         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
45532         mistakenly removed.
45533         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
45534         HAVE_SETENV.
45535         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
45536         HAVE_SETENV.
45538 2010-12-19  Bruno Haible  <bruno@clisp.org>
45540         Document some different function declarations on OSF/1 5.1.
45541         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
45542         * doc/posix-functions/inet_ntop.texi: Likewise.
45543         * doc/posix-functions/gethostname.texi: Likewise.
45544         * lib/unistd.in.h (gethostname): Update comment.
45546 2010-12-19  Bruno Haible  <bruno@clisp.org>
45548         doc: Mention vasprintf-posix module.
45549         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
45550         the 'vasprintf-posix' module.
45551         * doc/glibc-functions/vasprintf.texi: Likewise.
45553 2010-12-19  Bruno Haible  <bruno@clisp.org>
45555         unsetenv: Add missing declaration on OSF/1 5.1.
45556         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
45557         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
45558         Don't set HAVE_UNSETENV. In the test program, set _BSD.
45559         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
45560         not HAVE_UNSETENV.
45561         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
45562         HAVE_UNSETENV.
45563         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
45565 2010-12-19  Bruno Haible  <bruno@clisp.org>
45567         setenv: Add missing declaration on OSF/1 5.1.
45568         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
45569         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
45570         declared. Don't set HAVE_SETENV.
45571         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
45572         not HAVE_SETENV.
45573         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
45574         HAVE_SETENV.
45575         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
45577 2010-12-19  Bruno Haible  <bruno@clisp.org>
45579         nl_langinfo tests: Avoid gcc warning.
45580         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
45582 2010-12-19  Bruno Haible  <bruno@clisp.org>
45584         mknod: Avoid error in C++ mode on OSF/1 with GCC.
45585         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
45586         _GL_CXXALIAS_SYS.
45588 2010-12-19  Bruno Haible  <bruno@clisp.org>
45590         stdbool: Relax test.
45591         * tests/test-stdbool.c (e): Don't require that casts from a variable's
45592         address to 'bool' work in static initializer, for compilers other than
45593         GCC.
45595 2010-12-19  Bruno Haible  <bruno@clisp.org>
45597         ftello: Add missing declaration on OSF/1 5.1.
45598         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
45599         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
45600         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
45601         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
45602         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
45604 2010-12-19  Bruno Haible  <bruno@clisp.org>
45606         fseeko: Add missing declaration on OSF/1 5.1.
45607         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
45608         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
45609         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
45610         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
45611         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
45613 2010-12-19  Bruno Haible  <bruno@clisp.org>
45615         fchdir: Add missing declaration on OSF/1 5.1.
45616         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
45617         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
45618         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
45619         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
45620         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
45622 2010-12-19  Bruno Haible  <bruno@clisp.org>
45624         relocatable-prog-wrapper: Separate from relocatable-prog.
45625         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
45626         uninstall-relocwrapper rule here.
45627         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
45628         Reported by Ian Beckwith <ianb@erislabs.net>.
45630 2010-12-19  Bruno Haible  <bruno@clisp.org>
45632         unistr/u8-mbsnlen: Add missing dependency.
45633         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
45634         Reported by Ian Beckwith <ianb@erislabs.net>.
45636 2010-12-19  Bruno Haible  <bruno@clisp.org>
45638         iconv: Make it possible again to use this module without 'iconv-h'.
45639         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
45640         if it is not defined.
45641         Reported by Ian Beckwith <ianb@erislabs.net>.
45643 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
45645         acl: port to Solaris 8 when copying from tmpfs to ufs
45646         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
45647         error number.  Problem observed on Solaris 8 with latest
45648         coreutils, with "mv A B", where A is on a tmpfs file system and B
45649         is on a ufs file system.  This caused coreutils' mv/part-symlink
45650         test to fail.
45652         tests: set fail=0 at start
45653         * tests/init.sh (setup_): Move fail=0 initialization here ...
45654         (mktempd_): ... from here, so that tests can rely on fail being
45655         set to 0 initially.  This fixes a problem in coreutils; see:
45656         http://lists.gnu.org/r/coreutils/2010-12/msg00083.html
45658 2010-12-18  Bruno Haible  <bruno@clisp.org>
45660         memmem-simple: Stylistic changes.
45661         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
45662         Fix preprocessor directive indentation.
45664 2010-12-15  Pádraig Brady  <P@draigBrady.com>
45666         memmem, memmem-simple: reorganize and expand empty needle check
45667         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
45668         functional checks to memmem-simple so that one has a fully functional
45669         memmem by using just this module.
45670         Restrict the performance only check to the memmem module.
45671         Also expand the empty needle check to ensure the correct
45672         pointer is returned, not just a non NULL pointer.
45673         * doc/glibc-functions/memmem.texi: Rearrange the portability
45674         documentation to correlate with the rearranged checks.
45675         Clarify exactly how the memmem and memmem-simple modules
45676         relate to each other.
45678 2010-12-15  Pádraig Brady  <P@draigBrady.com>
45679             Bruno Haible  <bruno@clisp.org>
45681         Improve cross-compilation guesses for uClibc.
45682         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
45683         that uClibc does not have the glibc bug.
45684         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
45685         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
45687 2010-12-14  Eric Blake  <eblake@redhat.com>
45689         configmake: provide fallbacks for oldest supported autotools
45690         * m4/configmake.m4: New file.
45691         * modules/configmake (Files): Ship it.
45692         (configure.ac): Use it to guarantee fallbacks.
45694 2010-12-13  Pádraig Brady  <P@draigBrady.com>
45696         read-file: Improve handling of large files
45697         * lib/read-file.c (fread_file): Minimize realloc()s
45698         for regular files, and better manage sizes around SIZE_MAX.
45700 2010-12-13  Eric Blake  <eblake@redhat.com>
45702         cloexec, fcntl: relax license
45703         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
45704         consent from all contributors.
45705         * modules/fcntl (License): Likewise.
45707 2010-12-10  Bruno Haible  <bruno@clisp.org>
45709         Tests for module 'pipe-posix'.
45710         * modules/pipe-posix-tests: New file.
45711         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
45713 2010-12-10  Bruno Haible  <bruno@clisp.org>
45715         pipe-posix: Make it work in C++ mode.
45716         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
45717         (pipe): Use common idiom, not a macro definition.
45718         * lib/pipe.c: New file.
45719         * m4/pipe.m4: New file.
45720         * modules/pipe-posix (Description): Enhance.
45721         (Files): Add lib/pipe.c, m4/pipe.m4.
45722         (configure.ac): Invoke gl_FUNC_PIPE.
45723         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
45724         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
45725         * tests/test-unistd-c++.cc: Check the signature of pipe.
45727 2010-12-10  Bruno Haible  <bruno@clisp.org>
45729         Rename module 'pipe' to 'spawn-pipe'.
45730         * modules/spawn-pipe: New file, renamed from modules/pipe.
45731         (Files, configure.ac, Makefile.am): Update.
45732         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
45733         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
45734         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
45735         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
45736         "spawn-pipe.h" instead of "pipe.h".
45737         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
45738         to gl_SPAWN_PIPE.
45739         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
45740         (Files, Makefile.am): Update.
45741         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
45742         Update.
45743         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
45744         Include "spawn-pipe.h" instead of "pipe.h".
45745         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
45746         * lib/javacomp.c: Likewise.
45747         * lib/javaversion.c: Likewise.
45748         * lib/pipe-filter-gi.c: Likewise.
45749         * lib/pipe-filter-ii.c: Likewise.
45750         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
45751         * modules/javacomp (Depends-on): Likewise.
45752         * modules/javaversion (Depends-on): Likewise.
45753         * modules/pipe-filter-gi (Depends-on): Likewise.
45754         * modules/pipe-filter-ii (Depends-on): Likewise.
45755         * MODULES.html.sh (Executing programs): Update.
45756         * NEWS: Mention the change.
45758 2010-12-10  Eric Blake  <eblake@redhat.com>
45760         pipe-posix: new module
45761         * modules/pipe-posix: New file.
45762         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
45763         (gl_UNISTD_H): Check for declaration.
45764         * modules/unistd (Makefile.am): Substitute it.
45765         * lib/unistd.in.h (pipe): Provide it for mingw.
45766         * doc/posix-functions/pipe.texi (pipe): Update documentation.
45767         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
45769 2010-12-07  Bruno Haible  <bruno@clisp.org>
45771         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
45772         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
45773         u8_strcmp_gnu.
45774         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
45776 2010-12-06  Bruno Haible  <bruno@clisp.org>
45778         Update internal documentation.
45779         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
45781 2010-12-04  Bruno Haible  <bruno@clisp.org>
45783         Put more information about failed tests into the test return codes.
45784         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
45785         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
45786         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
45787         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
45788         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
45789         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
45790         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
45791         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
45792         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
45793         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
45794         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
45795         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
45796         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
45797         * m4/stdint.m4 (gl_STDINT_H): Likewise.
45798         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
45799         returns a bit mask.
45800         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
45801         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
45802         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
45803         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
45804         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
45805         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
45806         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
45807         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
45808         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
45809         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
45810         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
45811         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
45812         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
45813         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
45814         * m4/link.m4 (gl_FUNC_LINK): Likewise.
45815         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
45816         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
45817         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
45818         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
45819         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
45820         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
45821         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
45822         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
45823         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
45824         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
45825         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
45826         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
45827         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
45828         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
45829         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
45830         gl_PRINTF_PRECISION): Likewise.
45831         * m4/regex.m4 (gl_REGEX): Likewise.
45832         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
45833         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
45834         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
45835         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
45836         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
45837         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
45838         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
45839         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
45840         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
45841         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
45842         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
45843         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
45844         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
45845         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
45846         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
45847         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
45848         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
45849         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
45850         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
45851         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
45852         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
45853         enumerated value.
45854         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
45856 2010-12-04  Bruno Haible  <bruno@clisp.org>
45858         Update for Solaris 11 2010-11.
45859         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
45860         Express, released in November 2010.
45862 2010-12-04  Bruno Haible  <bruno@clisp.org>
45864         nproc: Relax license.
45865         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
45866         and Paul Eggert.
45867         Requested by Ludovic Courtès <ludo@gnu.org>.
45869 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
45871         utimecmp: fine-grained src to nearby coarse-grained dest
45873         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
45874         and the source is on a file system with higher-resolution time
45875         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
45876         not work, and the time stamps are close together, the algorithm to
45877         determine the exact resolution from the read-back mtime was buggy:
45878         it had a "!=" where it should have had an "==".  This bug has been
45879         in the code ever since it was introduced to gnulib.
45880         Problem reported by Dan Jacobson in
45881         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
45883 2010-11-30  Bruno Haible  <bruno@clisp.org>
45885         strerror_r-posix: Fix autoconf test.
45886         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
45888 2010-11-28  Bruno Haible  <bruno@clisp.org>
45889             Paul Eggert  <eggert@cs.ucla.edu>
45891         Tests for module 'getdomainname'.
45892         * modules/getdomainname-tests: New file.
45893         * tests/test-getdomainname.c: New file, based on
45894         tests/test-gethostname.c.
45896 2010-11-28  Bruno Haible  <bruno@clisp.org>
45897             Paul Eggert  <eggert@cs.ucla.edu>
45899         getdomainname: Use the system function when possible.
45900         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
45901         (getdomainname): Replace if needed. Provide the declaration if it is
45902         missing. Don't use _GL_CXXALIAS_SYS_CAST.
45903         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
45904         (getdomainname): When the system has getdomainname, call the system
45905         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
45906         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
45907         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
45908         found in libnsl. Look for the declaration also in <netdb.h>. Replace
45909         the function if its second argument is of type 'int' or if it is found
45910         in libnsl.
45911         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
45912         <sys/systeminfo.h> and sysinfo().
45913         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
45914         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45915         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
45916         HAVE_GETDOMAINNAME.
45917         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
45918         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
45919         * doc/glibc-functions/getdomainname.texi: Document the problems with
45920         the getdomainname declaration.
45922 2010-11-28  Bruno Haible  <bruno@clisp.org>
45924         sys_socket: Ensure ss_family field on AIX.
45925         * lib/sys_socket.in.h (ss_family): New macro definition.
45926         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
45927         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
45928         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
45929         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
45930         * modules/sys_socket (Makefile.am): Substitute
45931         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
45932         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
45934 2010-11-27  Bruno Haible  <bruno@clisp.org>
45936         readline: Improve configure output.
45937         * m4/readline.m4 (gl_FUNC_READLINE): Make the
45938         "checking for readline..." result understandable.
45940 2010-11-27  Bruno Haible  <bruno@clisp.org>
45942         *printf-posix: Detect a bug on Solaris 10/x86.
45943         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
45944         for floating-point output.
45945         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
45946         directive.
45947         * tests/test-snprintf-posix.h (test_function): Likewise.
45948         * tests/test-sprintf-posix.h (test_function): Likewise.
45949         * tests/test-vasprintf-posix.c (test_function): Likewise.
45950         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
45951         * doc/posix-functions/printf.texi: Likewise.
45952         * doc/posix-functions/snprintf.texi: Likewise.
45953         * doc/posix-functions/sprintf.texi: Likewise.
45954         * doc/posix-functions/vfprintf.texi: Likewise.
45955         * doc/posix-functions/vprintf.texi: Likewise.
45956         * doc/posix-functions/vsnprintf.texi: Likewise.
45957         * doc/posix-functions/vsprintf.texi: Likewise.
45958         * doc/glibc-functions/obstack_printf.texi: Likewise.
45959         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
45961 2010-11-27  Bruno Haible  <bruno@clisp.org>
45963         Fix link error when module libunistring-optional is in use.
45964         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
45965         * modules/striconveha-tests (Makefile.am): Likewise.
45967 2010-11-27  Bruno Haible  <bruno@clisp.org>
45969         regex: Mention link dependencies.
45970         * modules/regex (Link): New section.
45971         * modules/rpmatch (Link): Likewise.
45972         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
45974 2010-11-27  Bruno Haible  <bruno@clisp.org>
45976         ftoastr: Fix compilation error on Solaris.
45977         * lib/ftoastr.c: Include <config.h>.
45979 2010-11-27  Bruno Haible  <bruno@clisp.org>
45981         getloadavg: Update documentation.
45982         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
45984 2010-11-27  Bruno Haible  <bruno@clisp.org>
45986         sys_socket: Fix test whether the functions are declared.
45987         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
45988         not <sys/select.h>.
45990 2010-11-27  Bruno Haible  <bruno@clisp.org>
45992         getpass: Make sure to get system declaration on some platforms.
45993         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
45994         gl_USE_SYSTEM_EXTENSIONS.
45995         * modules/getpass (Depends-on): Add extensions.
45997 2010-11-26  Bruno Haible  <bruno@clisp.org>
45999         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
46000         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
46001         'iconv' module is present.
46002         (ICONV_CONST): New macro.
46003         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
46004         ICONV_CONST.
46005         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
46006         set ICONV_CONST.
46007         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
46008         here.
46009         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
46010         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
46011         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
46012         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
46013         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
46014         present.
46016 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
46018         ftoastr: comment fix
46019         * lib/ftoastr.c: "little" -> "little or no" in comment
46021 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
46023         stdint: port to GCC 4.3 + OSX + Octave
46024         On this platform, stdint.h is buggy and defines int64_t to long
46025         long int.  The replacement defined it to long int, causing
46026         problems with C++ style name mangling.  Instead, trust the system
46027         definition if INT64_MAX is defined, and likewise for the unsigned
46028         variant.   Problem reported by Jarno Rajahalme in
46029         <http://lists.gnu.org/r/bug-gnulib/2010-04/msg00143.html>.
46030         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
46031         and don't mess with int64_t and INT64_MAX in this case.
46032         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
46034 2010-11-24  Bruno Haible  <bruno@clisp.org>
46036         doc: Corrections regarding MacOS X 10.4 and 10.5.
46037         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
46038         MacOS X.
46039         Reported by Simon Josefsson.
46041 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
46043         Uninstall ".bin" files installed by relocwrapper.
46044         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
46045         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
46046         unless it is already there.
46048 2010-11-21  Bruno Haible  <bruno@clisp.org>
46050         Update for NetBSD 5.0.
46051         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
46052         NetBSD; the test fails on NetBSD 5.0.
46053         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
46054         about NetBSD.
46056 2010-11-21  Bruno Haible  <bruno@clisp.org>
46058         Update for HP-UX 11.23 and HP-UX 11.31.
46059         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
46060         HP-UX.
46062 2010-11-21  Bruno Haible  <bruno@clisp.org>
46064         Update for MacOS X 10.5.
46065         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
46066         MacOS X; the test fails on MacOS X 10.5.8.
46067         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
46068         about MacOS X.
46070 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
46072         bootstrap: add bootstrap_sync option.
46073         See discussion at
46074         <http://lists.gnu.org/r/bug-gnulib/2010-10/msg00369.html>,
46075         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00200.html>.
46076         * build-aux/bootstrap: Accept --bootstrap-sync to update
46077         bootstrap if it is not identical to the local gnulib's
46078         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
46079         enable this by default.  Accept --no-bootstrap-sync to disable
46080         it.
46082 2010-11-20  Bruno Haible  <bruno@clisp.org>
46084         Ensure that <features.h> is included before __GLIBC__ is tested.
46085         * lib/printf-parse.h: Include <features.h>.
46086         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
46087         Reported by Mike Frysinger <vapier@gentoo.org>.
46089         Ensure that <features.h> is included before __GLIBC__ is tested.
46090         * lib/wchar.in.h: Include <features.h>.
46091         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
46092         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
46093         Reported by Mike Frysinger <vapier@gentoo.org>.
46095         Ensure that <features.h> is included before __GLIBC__ is tested.
46096         * lib/arpa_inet.in.h: Include <features.h>.
46097         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
46098         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
46099         Reported by Mike Frysinger <vapier@gentoo.org>.
46101         Ensure that <features.h> is included before __GLIBC__ is tested.
46102         * build-aux/link-warning.h: Include <features.h>.
46103         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
46104         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
46105         Reported by Mike Frysinger <vapier@gentoo.org>.
46107         Ensure that <features.h> is included before __GLIBC__ is tested.
46108         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
46109         Reported by Mike Frysinger <vapier@gentoo.org>.
46111 2010-11-20  Bruno Haible  <bruno@clisp.org>
46113         memmem: Fix autoconf test.
46114         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
46116 2010-11-20  Bruno Haible  <bruno@clisp.org>
46118         Port to uClibc.
46119         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
46120         * lib/fcntl.in.h: Likewise.
46121         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
46122         * lib/mbrtowc.c (mbrtowc): Likewise.
46123         * lib/relocatable.c (find_shared_library_fullname): Likewise.
46124         * lib/strerror_r.c: Likewise.
46125         * lib/unistr/u8-strnlen.c: Likewise.
46126         * lib/vasnprintf.c (decimal_point_char): Likewise.
46127         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
46128         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
46129         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
46130         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
46131         * tests/test-sigaction.c (handler, main): Likewise.
46132         * lib/freading.h: Treat uClibc like a non-glibc platform.
46133         * lib/freading.c: Likewise.
46134         * lib/gettext.h: Likewise.
46135         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
46136         Likewise.
46137         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
46138         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
46139         * lib/propername.c (proper_name_utf8): Likewise.
46140         * lib/spawn.in.h: Likewise.
46141         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
46142         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
46143         mem_cd_iconveh_internal): Likewise.
46144         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
46145         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
46146         strstr, strcasestr): Likewise.
46147         * lib/unicodeio.c (unicode_to_mb): Likewise.
46148         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
46149         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
46150         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
46151         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
46152         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
46153         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
46154         * lib/unistr/u8-stpncpy.c: Likewise.
46155         * lib/vasnprintf.c (VASNPRINTF): Likewise.
46156         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
46157         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
46158         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
46159         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
46160         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
46161         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
46162         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
46163         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
46164         Likewise.
46165         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
46166         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
46167         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
46168         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
46169         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
46170         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
46171         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
46172         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
46173         * tests/test-getopt.h (OPTIND_MIN): Likewise.
46174         * tests/test-striconveha.c (main): Likewise.
46175         * tests/test-vasnprintf-posix.c (test_function): Likewise.
46176         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
46177         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
46178         * doc/posix-functions/getline.texi: Likewise.
46179         Reported by Mike Frysinger <vapier@gentoo.org>.
46181 2010-11-20  Bruno Haible  <bruno@clisp.org>
46183         nproc: Fix condition.
46184         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
46185         HAVE_PTHREAD_AFFINITY_NP.
46187 2010-11-20  Bruno Haible  <bruno@clisp.org>
46189         Fix a comment.
46190         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
46192 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
46194         ftoastr: don't assume snprintf
46195         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
46196         Implement a subset of snprintf here, by using sprintf safely.
46197         * modules/ftoastr (Depends-on): Remove snprintf.
46199 2010-11-19  Jim Meyering  <meyering@redhat.com>
46201         test-rename.h: fix compilation failure
46202         * tests/test-rename.h (test_rename): Add omitted "}".
46204 2010-11-17  Jim Meyering  <meyering@redhat.com>
46206         maint.mk: add a URL discussing the no-@acronym policy
46207         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
46209 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
46211         ftoastr: depend on snprintf, improve comments
46212         * lib/ftoastr.c: Also mention Loitsch's draft.
46213         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
46214         needed in the current implementation, but it might simplify
46215         speeding up the code later.
46216         * modules/ftoastr: Depend on snprintf; this improves portability.
46217         Suggested by Bruno Haible in the same email.
46219         ftoastr: port to hosts lacking strtof and strtold
46220         Problem reported by Bruno Haible in
46221         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00242.html>.
46222         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
46223         environment and strtold (and presumably strtof) are not available.
46224         * modules/ftoastr (Files): Add m4/c-strtod.m4.
46225         (configure.ac): Require gl_C99_STRTOLD.
46227 2010-11-18  Bruno Haible  <bruno@clisp.org>
46229         c-strtold: Avoid link error on AIX 7.
46230         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
46231         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
46232         (gl_C_STRTOLD): Test whether strtold_l exists.
46233         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46235 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
46237         intprops: new macro INT_BITS_STRLEN_BOUND
46238         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
46239         ftoastr.h.  This exposes an internal of intprops.h that was formerly
46240         not exposed.  Also, it uses a slightly tighter bound than before;
46241         though this makes no practical difference, we might as well be as
46242         tight as we easily can.
46244         ftoastr: new module, for lossless conversion of floats to short strings
46245         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
46246         * modules/ftoastr: New files.
46248 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
46250         bootstrap: port to Solaris sed
46251         * build-aux/bootstrap (get_version): Port to Solaris sed.
46252         See Ralf Wildenhues's note in
46253         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00156.html>.
46255 2010-11-14  Jim Meyering  <meyering@redhat.com>
46257         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
46258         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
46259         and move definition closer to sole use.
46261 2010-11-13  Jim Meyering  <meyering@redhat.com>
46263         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
46264         Now we require at least autoconf-2.59, which means the work-around
46265         is no longer needed.
46266         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
46267         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
46268         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
46269         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
46270         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
46272 2010-11-13  Bruno Haible  <bruno@clisp.org>
46274         rename, renameat: Avoid test failures at NFS mounted locations.
46275         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
46276         functions.
46277         (test_rename): Use assert_nonexistent.
46278         * tests/test-rename.c: Include <dirent.h>.
46279         * tests/test-renameat.c: Likewise.
46280         Reported by Gary V. Vaughan <gary@gnu.org>.
46282         rename, renameat: Document Linux bug with NFS
46283         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00154.html>.
46284         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
46285         * doc/posix-functions/renameat.texi: Likewise.
46286         Suggested by Eric Blake.
46288 2010-11-13  Bruno Haible  <bruno@clisp.org>
46290         rename test: Add comments.
46291         * tests/test-rename.h (test_rename): Add structure and comments.
46293 2010-11-13  Eric Blake  <eblake@redhat.com>
46295         maintainer-makefile: cover a few more files
46296         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
46297         scripts generated within C files, for libvirt.
46299 2010-11-13  Bruno Haible  <bruno@clisp.org>
46301         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
46302         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
46303         character, return the number of bytes that belong together, not always
46304         1.
46305         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
46306         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
46307         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
46308         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
46309         number of bytes of an invalid character.
46310         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
46311         (main): Invoke it.
46312         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
46313         results.
46314         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
46315         malformed byte sequences.
46316         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
46317         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
46318         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
46319         Reported by Ben Pfaff and Paolo Bonzini.
46321 2010-11-13  Bruno Haible  <bruno@clisp.org>
46323         openat: Work around glibc bug with fchownat() and empty file names.
46324         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
46325         (gl_FUNC_FCHOWNAT): Invoke it.
46326         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
46327         * doc/posix-functions/fchownat.texi: Document the glibc bug.
46328         Reported by Gary V. Vaughan <gary@gnu.org>.
46330 2010-11-13  Bruno Haible  <bruno@clisp.org>
46332         openat: Ensure autoconf macro ordering.
46333         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
46334         gl_USE_SYSTEM_EXTENSIONS.
46335         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
46337 2010-11-13  Bruno Haible  <bruno@clisp.org>
46339         Update comments.
46340         * lib/unistr/u8-check.c: Update file name in comments.
46341         * lib/unistr/u8-mblen.c: Likewise.
46342         * lib/unistr/u8-prev.c: Likewise.
46343         * lib/unistr/u8-strmblen.c: Likewise.
46344         * lib/unistr/u8-strmbtouc.c: Likewise.
46346 2010-11-13  Jim Meyering  <meyering@redhat.com>
46348         tests: avoid test failure on Solaris 10 due to lack of PATH export
46349         * tests/test-update-copyright.sh: Don't forget to export PATH.
46351         init.sh: ensure that IFS is defined, just in case...
46352         * tests/init.sh (setup_): Ensure that IFS is defined,
46353         so that saving and restoring it works as expected.  This
46354         appears to be useful at least for an old version of dash
46355         from a long time ago (RH 6).  See here for details:
46356         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
46358         maint.mk: tighten "test a == b" check
46359         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
46360         test to files that contain something like #!/bin/sh.
46361         Without this, coreutils would get two false positives in
46362         the comments of C source files.
46364 2010-11-12  Eric Blake  <eblake@redhat.com>
46366         bootstrap: fix typo in previous attempt
46367         * build-aux/bootstrap (buildreq): Correct the grouping.
46368         Reported by Paul Eggert.
46370         maintainer-makefile: prohibit test x == x
46371         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
46372         Based on a report by Matthias Bolte.
46374         bootstrap: allow FreeBSD gzip
46375         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
46376         which has no '.' and goes to stderr.
46377         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
46378         Reported by Matthias Bolte.
46380         maintainer-makefile: check for i18n setup
46381         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
46382         will likely work.
46384 2010-11-12  Bruno Haible  <bruno@clisp.org>
46386         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
46387         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
46388         * lib/nanosleep.c (nanosleep): Likewise.
46390 2010-11-11  Bruno Haible  <bruno@clisp.org>
46392         fcntl-h: Fix for use of C++ on glibc systems.
46393         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
46394         also on glibc systems in C++ mode.
46395         Reported by Gary V. Vaughan <gary@gnu.org>.
46397 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
46399         mknod: avoid false failure with dash
46400         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
46402 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
46404         unlink: Fix "is it should" typo in diagnostic.
46405         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
46406         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00106.html>.
46408 2010-11-11  Bruno Haible  <bruno@clisp.org>
46410         Tests for module 'strerror_r-posix'.
46411         * modules/strerror_r-posix-tests: New file.
46412         * tests/test-strerror_r.c: New file.
46413         * tests/test-string-c++.cc: Check the signature of strerror_r.
46415         New module 'strerror_r-posix'.
46416         * lib/string.in.h (strerror_r): New declaration.
46417         * lib/strerror_r.c: New file.
46418         * m4/strerror_r.m4: New file.
46419         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
46420         of strerror_r.
46421         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
46422         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
46423         * modules/strerror_r-posix: New file.
46424         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
46425         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
46426         * doc/posix-functions/strerror_r.texi: Mention the new module and the
46427         portability problems.
46429 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
46431         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
46432         line is also considered for output. Quoted function name in shell
46433         command, so temporary files for functions like MyClass::operator()
46434         are removed correctly without errors.
46436 2010-11-09  Bruno Haible  <bruno@clisp.org>
46438         * doc/posix-functions/strerror.texi: List more failing platforms.
46440         * doc/posix-functions/strerror.texi: Add a comment.
46442 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
46444         fdopendir: fix bug on MacOS X when low on file descriptors
46446         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
46447         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
46448         All callers changed.
46449         (fdopendir): Invoke save_cwd at the top level, not after using
46450         multiple dup() calls to use up file descriptors.  Then retry
46451         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
46452         less than the maximum number of open file descriptors, because
46453         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
46454         on Mac OS X 10.6.4 for tar 1.24
46455         <http://lists.gnu.org/r/bug-tar/2010-10/msg00084.html>
46456         <http://lists.gnu.org/r/bug-tar/2010-11/msg00000.html>
46457         and for tar 1.25
46458         <http://lists.gnu.org/r/bug-tar/2010-11/msg00038.html>.
46460 2010-11-07  Bruno Haible  <bruno@clisp.org>
46462         vasnprintf: Support I flag on glibc systems.
46463         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
46464         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
46465         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
46466         snprintf function.
46467         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
46468         glibc systems.
46469         * tests/test-vasnprintf-posix3.c: New file.
46470         * modules/vasnprintf-posix-tests (Files): Add it.
46471         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
46473 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
46475         [html] Fix copy/paste bug: Use unique name for compiler warnings.
46476         * MODULES.html.sh: For compiler warnings, use name
46477         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
46479 2010-11-05  Eric Blake  <eblake@redhat.com>
46481         ceil, floor: avoid spurious failure with icc
46482         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
46483         [denormals-as-zero] when optimizing without -mieee-fp option.
46484         * tests/test-floorf2.c (floorf_reference): Likewise.
46485         * tests/test-ceilf1.c (dummy): New function.
46486         (main): Use it to outsmart icc's optimization.
46487         * tests/test-floorf1.c (dummy, main): Likewise.
46489         tests: require working signbit
46490         * modules/ceilf-tests (Depends-on): Add signbit.
46491         * modules/ceill-tests (Depends-on): Likewise.
46492         * modules/floorf-tests (Depends-on): Likewise.
46493         * modules/floorl-tests (Depends-on): Likewise.
46494         * modules/round-tests (Depends-on): Likewise.
46495         * modules/roundf-tests (Depends-on): Likewise.
46496         * modules/roundl-tests (Depends-on): Likewise.
46497         * modules/trunc-tests (Depends-on): Likewise.
46498         * modules/truncf-tests (Depends-on): Likewise.
46499         * modules/truncl-tests (Depends-on): Likewise.
46501         strtod: work around icc bug
46502         * lib/strtod.c (minus_zero): Define to working value.
46503         (strtod): Use it to avoid icc bug.
46505         copysign: enhance tests
46506         * modules/copysign-tests (Files): Add minus-zero.h.
46507         * tests/test-copysign.c (main): Also test zeros.
46509 2010-11-04  Eric Blake  <eblake@redhat.com>
46511         ceil, floor, round, trunc: enhance tests of -0
46512         * tests/test-ceilf1.c (main): Ensure correct sign of result.
46513         * tests/test-ceill.c (main): Likewise.
46514         * tests/test-floorf1.c (main): Likewise.
46515         * tests/test-floorl.c (main): Likewise.
46516         * tests/test-round1.c (main): Likewise.
46517         * tests/test-roundf1.c (main): Likewise.
46518         * tests/test-roundl.c (main): Likewise.
46519         * tests/test-trunc1.c (main): Likewise.
46520         * tests/test-truncf1.c (main): Likewise.
46521         * tests/test-truncl.c (main): Likewise.
46523 2010-11-04  Eric Blake  <eblake@redhat.com>
46525         frexp, tests: work around ICC bug with -zero
46526         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
46527         works with more compilers.
46528         * tests/minus-zero.h: New file.
46529         * modules/ceilf-tests (Files): Include it.
46530         * modules/ceill-tests (Files): Likewise.
46531         * modules/floorf-tests (Files): Likewise.
46532         * modules/floorl-tests (Files): Likewise.
46533         * modules/frexp-nolibm-tests (Files): Likewise.
46534         * modules/frexp-tests (Files): Likewise.
46535         * modules/frexpl-nolibm-tests (Files): Likewise.
46536         * modules/frexpl-tests (Files): Likewise.
46537         * modules/isnan-tests (Files): Likewise.
46538         * modules/isnand-nolibm-tests (Files): Likewise.
46539         * modules/isnand-tests (Files): Likewise.
46540         * modules/isnanf-nolibm-tests (Files): Likewise.
46541         * modules/isnanf-tests (Files): Likewise.
46542         * modules/isnanl-nolibm-tests (Files): Likewise.
46543         * modules/isnanl-tests (Files): Likewise.
46544         * modules/round-tests (Files): Likewise.
46545         * modules/roundf-tests (Files): Likewise.
46546         * modules/roundl-tests (Files): Likewise.
46547         * modules/ldexpl-tests (Files): Likewise.
46548         * modules/signbit-tests (Files): Likewise.
46549         * modules/snprintf-posix-tests (Files): Likewise.
46550         * modules/sprintf-posix-tests (Files): Likewise.
46551         * modules/strtod-tests (Files): Likewise.
46552         * modules/trunc-tests (Files): Likewise.
46553         * modules/truncf-tests (Files): Likewise.
46554         * modules/truncl-tests (Files): Likewise.
46555         * modules/vsnprintf-posix-tests (Files): Likewise.
46556         * modules/vsprintf-posix-tests (Files): Likewise.
46557         * modules/vasnprintf-posix-tests (Files): Likewise.
46558         * modules/vasprintf-posix-tests (Files): Likewise.
46559         * tests/test-ceilf1.c (main): Use it.
46560         * tests/test-ceill.c (main): Likewise.
46561         * tests/test-floorf1.c (main): Likewise.
46562         * tests/test-floorl.c (main): Likewise.
46563         * tests/test-frexp.c (main): Likewise.
46564         * tests/test-frexpl.c (main): Likewise.
46565         * tests/test-isnan.c (main): Likewise.
46566         * tests/test-isnand.h (main): Likewise.
46567         * tests/test-isnanf.h (main): Likewise.
46568         * tests/test-isnanl.h (main): Likewise.
46569         * tests/test-ldexpl.c (main): Likewise.
46570         * tests/test-round.c (main): Likewise.
46571         * tests/test-roundf.c (main): Likewise.
46572         * tests/test-roundl.c (main): Likewise.
46573         * tests/test-signbit.c (test_signbitf, test_signbitd)
46574         (test_signbitl): Likewise.
46575         * tests/test-snprintf-posix.h (test_function): Likewise.
46576         * tests/test-sprintf-posix.h (test_function): Likewise.
46577         * tests/test-strtod.c (main): Likewise.
46578         * tests/test-trunc1.c (main): Likewise.
46579         * tests/test-truncf1.c (main): Likewise.
46580         * tests/test-truncl.c (main): Likewise.
46582         isnanl: work around icc bug
46583         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
46585 2010-11-03  Eric Blake  <eblake@redhat.com>
46587         tests: fix compiler warnings
46588         * tests/test-getopt.h (test_getopt): Fix condition.
46589         * tests/test-getopt_long.h (test_getopt_long): Likewise.
46590         * tests/test-pipe2.c (main): Likewise.
46591         * tests/test-quotearg-simple.c (main): Avoid icc warning.
46593         utimens: fix broken m4 test
46594         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
46596 2010-10-28  Bruno Haible  <bruno@clisp.org>
46598         posix_spawn*, getdtablesize: Relax license.
46599         * modules/posix_spawn (License): Change to LGPLv2+.
46600         * modules/posix_spawnp (License): Likewise.
46601         * modules/posix_spawn-internal (License): Likewise.
46602         * modules/posix_spawnattr_init (License): Likewise.
46603         * modules/posix_spawnattr_getflags (License): Likewise.
46604         * modules/posix_spawnattr_setflags (License): Likewise.
46605         * modules/posix_spawnattr_getpgroup (License): Likewise.
46606         * modules/posix_spawnattr_setpgroup (License): Likewise.
46607         * modules/posix_spawnattr_getschedparam (License): Likewise.
46608         * modules/posix_spawnattr_setschedparam (License): Likewise.
46609         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
46610         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
46611         * modules/posix_spawnattr_getsigdefault (License): Likewise.
46612         * modules/posix_spawnattr_setsigdefault (License): Likewise.
46613         * modules/posix_spawnattr_getsigmask (License): Likewise.
46614         * modules/posix_spawnattr_setsigmask (License): Likewise.
46615         * modules/posix_spawnattr_destroy (License): Likewise.
46616         * modules/posix_spawn_file_actions_init (License): Likewise.
46617         * modules/posix_spawn_file_actions_addclose (License): Likewise.
46618         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
46619         * modules/posix_spawn_file_actions_addopen (License): Likewise.
46620         * modules/posix_spawn_file_actions_destroy (License): Likewise.
46621         * modules/getdtablesize (License): Likewise.
46622         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
46624 2010-10-26  Bruno Haible  <bruno@clisp.org>
46626         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
46627         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
46628         Cygwin and mingw.
46629         Suggested by Eric Blake.
46631 2010-10-26  Bruno Haible  <bruno@clisp.org>
46633         stdio: Work around compilation error due to renameat() on Solaris 10.
46634         * lib/stdio.in.h: Include <unistd.h> on Solaris.
46635         * lib/renameat.c: Don't include <unistd.h> here.
46636         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
46637         Reported by Paul Eggert and Eric Blake.
46639 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
46641         renameat: port to Solaris 10, which declares renameat in unistd.h
46643         * lib/renameat.c: Include unistd.h before stdio.h, because
46644         Solaris 10 declares renameat in unistd.h.  Problem encountered
46645         when building GNU tar 1.24 on Solaris 10.
46647 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
46649         fdopendir: fix C89 compilation
46650         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
46651         compilers.
46653 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
46655         inttostr: simplify by removing unnecessary redundancy
46656         * lib/anytostr.c: Don't include verify.h.
46657         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
46658         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
46659         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
46660         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
46661         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
46662         Likewise.
46663         * modules/inttostr (Depends-on): Remove 'verify'.
46665 2010-10-23  Bruno Haible  <bruno@clisp.org>
46667         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
46668         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
46669         Reported by Eric Blake.
46671 2010-10-23  Bruno Haible  <bruno@clisp.org>
46673         Tests: Fix LOCALE_JA on MirBSD 10.
46674         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
46675         to an UTF-8 locale.
46676         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
46677         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
46678         Reported by Eric Blake.
46680 2010-10-21  Bruno Haible  <bruno@clisp.org>
46682         nl_langinfo test: Avoid test failure on NetBSD 5.
46683         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
46684         Reported by Eric Blake.
46686 2010-10-21  Eric Blake  <eblake@redhat.com>
46688         c-stack: work around libsigsegv 2.8 bug
46689         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
46690         overflow on at least PowerPC64.
46692 2010-10-17  Bruno Haible  <bruno@clisp.org>
46694         userspec: Drop redundant file.
46695         * modules/userspec (Files): Remove lib/inttostr.h.
46697 2010-10-17  Bruno Haible  <bruno@clisp.org>
46699         nl_langinfo tests: Silence some warnings.
46700         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
46701         Reported by Jim Meyering.
46703 2010-10-17  Bruno Haible  <bruno@clisp.org>
46705         Make use of GCC's attribute __alloc_size__.
46706         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
46707         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
46708         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
46709         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
46710         __alloc_size__.
46711         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
46712         Suggested by Jim Meyering.
46714 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
46716         bootstrap: anchor .gitignore entries.
46717         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
46718         with...
46719         (insert_vc_ignore): ... this new function, which prepends `/' to
46720         all .gitignore entries before passing them to
46721         insert_sorted_if_absent.
46723 2010-10-16  Bruno Haible  <bruno@clisp.org>
46725         nextafter: Fix configure check.
46726         * modules/nextafter (configure.ac): Correct expected prototype.
46728 2010-10-16  Bruno Haible  <bruno@clisp.org>
46730         termios: Update documentation.
46731         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
46733 2010-10-16  Bruno Haible  <bruno@clisp.org>
46735         tests: Make them compile with TinyCC.
46736         * tests/test-strstr.c (main): Remove parentheses around array
46737         initializer.
46739 2010-10-15  Eric Blake  <eblake@redhat.com>
46741         ignore-value: make header idempotent
46742         * lib/ignore-value.h: Add double-inclusion guards.
46743         Reported by Stefan Berger.
46745 2010-10-15  Jim Meyering  <meyering@redhat.com>
46747         GNUmakefile: handle "stable" target, not "major"
46748         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
46749         lists in maint.mk and announce-gen.  Without this, "make stable"
46750         would fail to ensure that $(VERSION) is up to date.
46752 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
46754         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
46755         & co.
46757 2010-10-14  Bruno Haible  <bruno@clisp.org>
46759         vasnprintf: Don't set errno to 0.
46760         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
46761         block that sets it to 0.
46762         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
46764 2010-10-14  Bruno Haible  <bruno@clisp.org>
46766         socketlib: Fix.
46767         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
46768         gl_PREREQ_SYS_H_WINSOCK2.
46769         Reported by Ian Beckwith <ianb@erislabs.net>.
46771 2010-10-13  Jim Meyering  <meyering@redhat.com>
46773         test-select-stdin.c: avoid warn_unused_result warnings
46774         * tests/test-select-stdin.c: Include "macros.h".
46775         ASSERT that read and fflush succeed.
46777 2010-10-13  Jim Meyering  <meyering@redhat.com>
46779         git-version-gen: do require git-VC'd files in cwd
46780         * build-aux/git-version-gen: Reject a git version string
46781         if there are no commits associated with the current directory.
46782         This avoids an unlikely false-positive (unrelated dir whose parent
46783         repository also contains a tag matching v*), as pointed out
46784         by Giuseppe Scrivano in
46785         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
46787 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
46789         argv-iter: omit nonconforming declaration
46790         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
46791         enum arg_iter_err declaration, which doesn't conform to C99.
46792         Solaris 10 cc warns about this.
46794 2010-10-13  Eric Blake  <eblake@redhat.com>
46796         termios: fix compilation on mingw
46797         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
46798         (gl_TERMIOS_H): Adjust it on mingw.
46799         * modules/termios (Makefile.am): Substitute new key.
46800         * lib/termios.in.h (includes): Make include_next conditional.
46801         * doc/posix-headers/termios.texi (termios.h): Update
46802         documentation.
46803         Reported by Daniel P. Berrange.
46805 2010-10-13  Jim Meyering  <meyering@redhat.com>
46807         git-version-gen: don't require that .git/ be in the current dir
46808         * build-aux/git-version-gen: Adjust this script so that it works
46809         when run from any working directory beneath the top-level .git/-
46810         containing directory.  Inspired by a patch from Giuseppe Scrivano,
46811         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
46813         test-select: avoid warn_unused_result warnings
46814         * tests/test-select.c: Include "macros.h".
46815         ASSERT that each call to read, write, and pipe succeeds.
46816         While not technically required, also check each "close".
46817         * modules/select-tests (Files): Add tests/macros.h.
46819         test-symlinkat: remove declaration of unused local
46820         * tests/test-symlinkat.c (main): Remove unused local, "buf".
46822         test-inttostr: avoid shadowing warnings
46823         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
46824         and use malloc rather than the stack for the same reason as
46825         mentioned in the comment justifying the other allocation.
46827 2010-10-11  Bruno Haible  <bruno@clisp.org>
46829         stdlib: Allow multiple gnulib generated replacements to coexist.
46830         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
46831         Reported by Sam Steingold <sds@gnu.org>.
46833 2010-10-11  Jim Meyering  <meyering@redhat.com>
46835         fix a documentation typo
46836         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
46838 2010-10-11  Eric Blake  <eblake@redhat.com>
46840         futimens: work around Solaris 11 bug
46841         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
46842         * tests/test-futimens.h (test_futimens): Enhance, rather than
46843         weaken test.
46844         * doc/posix-functions/futimens.texi (futimens): Document the bug.
46846 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
46848         Indentation.
46849         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
46850         higher-level operators more to the left.
46852 2010-10-11  Jim Meyering  <meyering@redhat.com>
46854         test-futimens: avoid unwarranted test failure on Solaris 5.11
46855         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
46856         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
46857         because it tries to dereference the NULL name argument.
46859 2010-10-11  Bruno Haible  <bruno@clisp.org>
46861         Indentation.
46862         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
46863         indentation.
46865 2010-10-11  Jim Meyering  <meyering@redhat.com>
46867         spawn.in.h: make indentation consistent with parentheses
46868         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
46869         Make indentation consistent with parentheses.
46871 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
46873         Fix mismatched parens in previous commit
46874         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
46875         parens.
46877 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
46879         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
46881         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
46882         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
46883         * lib/malloca.c: Include "verify.h".
46884         (verify1): Remove, replacing with a verify call.
46885         * lib/relocwrapper.c (verify1): Likewise.
46886         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
46887         Likewise.
46888         * modules/malloca (Depends-on): Add 'verify'.
46889         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
46890         * modules/vasnprintf (Depends-on): Add 'verify'.
46891         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
46892         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
46893         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
46894         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
46895         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
46896         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
46897         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
46899         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
46901         Formerly the style was sometimes 2*X - 1, because the C standard
46902         was wrongly thought to disallow ?: in integral constant expressions.
46903         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
46904         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
46905         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
46906         * lib/stdint.in.h (_verify_intmax_size): Likewise.
46907         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
46908         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
46909         verify that time_t cannot be floating.
46911 2010-10-08  Eric Blake  <eblake@redhat.com>
46913         time: enforce recent POSIX ruling that time_t is integral
46914         * lib/time.in.h (__time_t_must_be_integral): Detect any
46915         problematic systems, allowing the rest of gnulib to assume POSIX.
46917 2010-10-08  Jim Meyering  <meyering@redhat.com>
46919         fdopendir: fix a bug on systems lacking openat and /proc support
46920         OpenBSD 4.7 is one such system.  The most noticeable effect was
46921         failure of any application making nontrivial use of fts: rm, du,
46922         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
46923           ./rm: traversal failed: `a': Bad file descriptor
46924         Debugging that, you see that even though FD 6 was closed just
46925         prior to the opendir call in fd_clone_opendir, its resulting
46926         dir->dd_fd was 8, rather than the expected value of 6:
46928         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
46929         93                close (fd);
46930         (gdb) n
46931         94                dir = fd_clone_opendir (dupfd);
46932         (gdb) n
46933         95                saved_errno = errno;
46934         (gdb) p dir->dd_fd
46935         $11 = 8
46937         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
46938         The problem is that on OpenBSD, fd_clone_opendir has to resort
46939         to using the old-style save/restore CWD mechanism, due to its
46940         lack of openat/proc support, and *that* would steal the FD (6)
46941         that opendir was supposed to use.
46943         The fix is to squirrel away the desired FD so that save_cwd uses a
46944         different one, and then free the dest FD right before calling opendir.
46945         That guarantees opendir will use the required file descriptor.
46947         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
46949 2010-10-08  Bruno Haible  <bruno@clisp.org>
46951         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
46952         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
46954 2010-10-08  Bruno Haible  <bruno@clisp.org>
46956         nanosleep: Make replacement POSIX compliant.
46957         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
46958         is out of range.
46959         Reported by Jim Meyering.
46961 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
46963         bootstrap: add hook for altering gnulib.mk, for Bison
46964         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
46965         the Bison bootstrapping process can rewrite file names and variables
46966         in this file before later parts of 'bootstrap' use the file.
46967         Bison wants to include lib/gnulib.mk from the top-level makefile,
46968         so it needs the file names in this file to be relative to the top
46969         level, not relative to lib; plus it needs variable names to be
46970         rewritten.
46971         (slurp): Use the new function.
46973         bootstrap: reformat for readability
46974         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
46976 2010-10-08  Eric Blake  <eblake@redhat.com>
46978         docs: update cygwin progress
46979         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
46980         1.7.7.
46981         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
46982         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
46983         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
46984         * doc/posix-functions/carg.texi (carg): Likewise.
46985         * doc/posix-functions/cargf.texi (cargf): Likewise.
46986         * doc/posix-functions/casin.texi (casin): Likewise.
46987         * doc/posix-functions/casinf.texi (casinf): Likewise.
46988         * doc/posix-functions/casinh.texi (casinh): Likewise.
46989         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
46990         * doc/posix-functions/catan.texi (catan): Likewise.
46991         * doc/posix-functions/catanf.texi (catanf): Likewise.
46992         * doc/posix-functions/catanh.texi (catanh): Likewise.
46993         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
46994         * doc/posix-functions/ccos.texi (ccos): Likewise.
46995         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
46996         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
46997         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
46998         * doc/posix-functions/cexp.texi (cexp): Likewise.
46999         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
47000         * doc/posix-functions/cimag.texi (cimag): Likewise.
47001         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
47002         * doc/posix-functions/clog.texi (clog): Likewise.
47003         * doc/posix-functions/clogf.texi (clogf): Likewise.
47004         * doc/posix-functions/conj.texi (conj): Likewise.
47005         * doc/posix-functions/conjf.texi (conjf): Likewise.
47006         * doc/posix-functions/cpow.texi (cpow): Likewise.
47007         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
47008         * doc/posix-functions/cproj.texi (cproj): Likewise.
47009         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
47010         * doc/posix-functions/creal.texi (creal): Likewise.
47011         * doc/posix-functions/crealf.texi (crealf): Likewise.
47012         * doc/posix-functions/csin.texi (csin): Likewise.
47013         * doc/posix-functions/csinf.texi (csinf): Likewise.
47014         * doc/posix-functions/csinh.texi (csinh): Likewise.
47015         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
47016         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
47017         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
47018         * doc/posix-functions/ctan.texi (ctan): Likewise.
47019         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
47020         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
47021         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
47022         * doc/posix-headers/complex.texi (complex.h): Likewise.
47024 2010-10-07  Jim Meyering  <meyering@redhat.com>
47026         parse-datetime: avoid compilation failure on OpenBSD 4.7
47027         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
47028         This works around a compilation failure on OpenBSD 4.7:
47029         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
47031 2010-10-07  Eric Blake  <eblake@redhat.com>
47033         docs: update cygwin progress
47034         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
47035         1.7.6.
47036         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
47037         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
47038         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
47039         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
47040         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
47041         Likewise.
47042         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
47043         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
47044         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
47045         Likewise.
47046         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
47047         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
47048         Likewise.
47049         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
47050         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
47051         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
47052         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
47053         Likewise.
47054         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
47055         Likewise.
47056         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
47058         docs: update parse-datetime history
47059         * doc/parse-datetime.texi (Authors of parse_datetime): Better
47060         documentation of this function's history and alternatives.
47062         cygwin: use more robust version check
47063         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
47064         exclude an eventual cygwin 1.9.1.
47065         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
47066         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
47067         (gl_FUNC_STRCASESTR): Likewise.
47068         Reported by Bruno Haible.
47070 2010-10-06  Bruno Haible  <bruno@clisp.org>
47072         string, sys_select: Avoid #including large headers unless necessary.
47073         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
47074         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
47075         OSF/1, BeOS, Haiku.
47076         Reported by Jim Meyering.
47078 2010-10-05  Eric Blake  <eblake@redhat.com>
47080         memmem, strstr, strcasestr: fix bug with long periodic needle
47081         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
47082         periodic needle having false positive.
47083         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
47084         and cygwin 1.7.7.
47085         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
47086         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
47087         (gl_FUNC_STRCASESTR): Likewise.
47088         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
47089         * tests/test-memmem.c (main): Expose the bug.
47090         * tests/test-strcasestr.c (main): Likewise.
47091         * tests/test-strstr.c (main): Likewise.
47092         * tests/test-c-strcasestr.c (main): Likewise.
47093         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
47094         * doc/posix-functions/strstr.texi (strstr): Likewise.
47095         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
47096         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
47098 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
47100         parse-datetime: do some more renaming
47101         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
47102         parse_datetime, not get_date.  Mention the renaming.
47103         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
47104         in comments.
47105         * m4/bison.m4: Likewise.
47107 2010-10-05  Eric Blake  <eblake@redhat.com>
47109         parse-datetime: better name than get_date
47110         * NEWS: Reword the deprecation notice.
47111         * modules/get_date: Rename to modules/parse-datetime.
47112         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
47113         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
47114         * lib/get_date.y: Rename to lib/parse-datetime.y.
47115         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
47116         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
47117         * doc/getdate.texi: Provide fallback wrapper.
47118         * lib/getdate.h: Move guts, and wrap...
47119         * lib/parse-datetime.h: ...new file.
47120         * lib/parse-datetime.y (get_date): Rename...
47121         (parse_datetime): ...to this.
47122         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
47123         (gl_PARSE_DATETIME): ...to this.
47124         * doc/posix-functions/getdate.texi (get_date): Provide fallback
47125         documentation.
47126         * modules/getdate (Files): Provide fallback docs and header.
47127         (Notice, Depends-on): Update references.
47128         * tests/test-parse-datetime.c: Likewise.
47129         * DEPENDENCIES: Likewise.
47130         * MODULES.html.sh (Date and time <time.h>): Likewise.
47131         * doc/parse-datetime.texi (Date input formats)
47132         (Authors of parse_datetime): Likewise.
47133         * modules/parse-datetime (Files, configure.ac, Makefile.am)
47134         (Include): Likewise.
47135         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
47136         * gnulib-tool: Likewise.
47137         * m4/bison.m4 (gl_BISON): Likewise.
47138         Suggested by Bruno Haible.
47140 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
47142         more ports to Solaris tr, which needs [] around ranges
47143         * gnulib-tool: Solaris tr needs [] around ranges.
47144         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
47145         * tests/test-pipe-filter-gi1.c (main): Likewise.
47146         * tests/test-pipe-filter-ii1.c (main): Likewise.
47148 2010-10-05  Eric Blake  <eblake@redhat.com>
47150         bootstrap: fix Solaris regression
47151         * build-aux/bootstrap (check_versions): Solaris tr still needs []
47152         around ranges.
47153         Reported by Pádraig Brady.
47155         bootstrap: work with pkg-config
47156         * build-aux/bootstrap (check_versions): Also transliterate - in
47157         prerequisite name.
47158         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
47159         prerequisites that were already found, to avoid confusion.
47160         Reported by Justin Clift.
47162         faccessat: remove unused wrappers
47163         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
47164         presence of these wrappers dragged in -lgen on Solaris.
47165         Reported by Clemens Brogi; fix suggested by Paul Eggert.
47167 2010-10-05  Jim Meyering  <meyering@redhat.com>
47169         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
47170         * Makefile (sc_pragma_columns): New syntax-check rule.
47172 2010-10-04  Bruno Haible  <bruno@clisp.org>
47174         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
47175         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
47176         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
47177         Reported by Bruce Korb and Eric Blake.
47179 2010-10-04  Bruno Haible  <bruno@clisp.org>
47181         threadlib: Make option --with-libpth-prefix work.
47182         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
47183         use $LIBPTH, not just -lpth.
47185 2010-10-04  Bruno Haible  <bruno@clisp.org>
47187         Avoid line length limitation from HP NonStop system header files.
47188         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
47189         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
47190         * lib/ctype.in.h: Likewise.
47191         * lib/dirent.in.h: Likewise.
47192         * lib/errno.in.h: Likewise.
47193         * lib/fcntl.in.h: Likewise.
47194         * lib/float.in.h: Likewise.
47195         * lib/getopt.in.h: Likewise.
47196         * lib/iconv.in.h: Likewise.
47197         * lib/inttypes.in.h: Likewise.
47198         * lib/langinfo.in.h: Likewise.
47199         * lib/locale.in.h: Likewise.
47200         * lib/math.in.h: Likewise.
47201         * lib/netdb.in.h: Likewise.
47202         * lib/netinet_in.in.h: Likewise.
47203         * lib/poll.in.h: Likewise.
47204         * lib/pthread.in.h: Likewise.
47205         * lib/pty.in.h: Likewise.
47206         * lib/sched.in.h: Likewise.
47207         * lib/se-selinux.in.h: Likewise.
47208         * lib/search.in.h: Likewise.
47209         * lib/signal.in.h: Likewise.
47210         * lib/spawn.in.h: Likewise.
47211         * lib/stdarg.in.h: Likewise.
47212         * lib/stddef.in.h: Likewise.
47213         * lib/stdint.in.h: Likewise.
47214         * lib/stdio.in.h: Likewise.
47215         * lib/stdlib.in.h: Likewise.
47216         * lib/string.in.h: Likewise.
47217         * lib/strings.in.h: Likewise.
47218         * lib/sys_file.in.h: Likewise.
47219         * lib/sys_ioctl.in.h: Likewise.
47220         * lib/sys_select.in.h: Likewise.
47221         * lib/sys_socket.in.h: Likewise.
47222         * lib/sys_stat.in.h: Likewise.
47223         * lib/sys_time.in.h: Likewise.
47224         * lib/sys_times.in.h: Likewise.
47225         * lib/sys_utsname.in.h: Likewise.
47226         * lib/sys_wait.in.h: Likewise.
47227         * lib/sysexits.in.h: Likewise.
47228         * lib/termios.in.h: Likewise.
47229         * lib/time.in.h: Likewise.
47230         * lib/unistd.in.h: Likewise.
47231         * lib/wchar.in.h: Likewise.
47232         * lib/wctype.in.h: Likewise.
47233         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
47234         * modules/ctype (Makefile.am): Likewise.
47235         * modules/dirent (Makefile.am): Likewise.
47236         * modules/errno (Makefile.am): Likewise.
47237         * modules/fcntl-h (Makefile.am): Likewise.
47238         * modules/float (Makefile.am): Likewise.
47239         * modules/getopt-posix (Makefile.am): Likewise.
47240         * modules/iconv-h (Makefile.am): Likewise.
47241         * modules/inttypes (Makefile.am): Likewise.
47242         * modules/langinfo (Makefile.am): Likewise.
47243         * modules/locale (Makefile.am): Likewise.
47244         * modules/math (Makefile.am): Likewise.
47245         * modules/netdb (Makefile.am): Likewise.
47246         * modules/netinet_in (Makefile.am): Likewise.
47247         * modules/poll-h (Makefile.am): Likewise.
47248         * modules/pthread (Makefile.am): Likewise.
47249         * modules/pty (Makefile.am): Likewise.
47250         * modules/sched (Makefile.am): Likewise.
47251         * modules/search (Makefile.am): Likewise.
47252         * modules/selinux-h (Makefile.am): Likewise.
47253         * modules/signal (Makefile.am): Likewise.
47254         * modules/spawn (Makefile.am): Likewise.
47255         * modules/stdarg (Makefile.am): Likewise.
47256         * modules/stddef (Makefile.am): Likewise.
47257         * modules/stdint (Makefile.am): Likewise.
47258         * modules/stdio (Makefile.am): Likewise.
47259         * modules/stdlib (Makefile.am): Likewise.
47260         * modules/string (Makefile.am): Likewise.
47261         * modules/strings (Makefile.am): Likewise.
47262         * modules/sys_file (Makefile.am): Likewise.
47263         * modules/sys_ioctl (Makefile.am): Likewise.
47264         * modules/sys_select (Makefile.am): Likewise.
47265         * modules/sys_socket (Makefile.am): Likewise.
47266         * modules/sys_stat (Makefile.am): Likewise.
47267         * modules/sys_time (Makefile.am): Likewise.
47268         * modules/sys_times (Makefile.am): Likewise.
47269         * modules/sys_utsname (Makefile.am): Likewise.
47270         * modules/sys_wait (Makefile.am): Likewise.
47271         * modules/sysexits (Makefile.am): Likewise.
47272         * modules/termios (Makefile.am): Likewise.
47273         * modules/time (Makefile.am): Likewise.
47274         * modules/unistd (Makefile.am): Likewise.
47275         * modules/wchar (Makefile.am): Likewise.
47276         * modules/wctype (Makefile.am): Likewise.
47278 2010-10-04  Bruno Haible  <bruno@clisp.org>
47280         read-file tests: Avoid a test failure on NonStop Kernel.
47281         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
47282         a regular file.
47283         Reported by Joachim Schmitz <schmitz@hp.com>.
47285 2010-10-03  Bruno Haible  <bruno@clisp.org>
47287         gnulib-tool: Fixes for --create-testdir with --libtool.
47288         * gnulib-tool (func_get_automake_snippet): Don't augment
47289         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
47290         an executable.
47291         (func_create_testdir): Handle module 'alloca' like func_import.
47292         Reported by Bruce Korb <bruce.korb@gmail.com>.
47294 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
47296         Avoid some lines longer than 80 characters.
47297         * lib/stdint.in.h: Break long comment lines.
47298         * lib/math.in.h: Likewise.
47299         (_GL_NUM_UINT_WORDS): New macro, for readability.
47300         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
47301         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
47302         * lib/stdlib.in.h: Likewise.
47303         * lib/spawn.in.h: Likewise.
47304         * lib/sys_socket.in.h: Update an URL.
47305         * lib/sys_stat.in.h: Break long line.
47307 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
47309         Improve pmccabe2html.
47310         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
47311         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
47312         when the sources change. Remove the line in the HTML about "Used
47313         ranges" (which implied that there might be other unused ranges),
47314         rename "Resume" to "Summary" (easier to understand for more users).
47315         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
47316         styles, and some unnecessary blank lines.
47318 2010-10-03  Bruno Haible  <bruno@clisp.org>
47319             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
47321         acl: Add support for ACLs on NonStop Kernel.
47322         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
47323         Check whether the function aclsort() exists.
47324         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
47325         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
47326         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
47327         (acl_nontrivial [HAVE_ACLSORT]: New function.
47328         (file_has_acl): Implement for NonStop Kernel.
47329         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
47330         (qset_acl): Implement for NonStop Kernel.
47331         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
47332         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
47333         (main): Implement for NonStop Kernel.
47334         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
47335         Kernel. Handle this flavor.
47336         * tests/test-set-mode-acl.sh: Likewise.
47337         * tests/test-copy-acl.sh: Likewise.
47338         * tests/test-copy-file.sh: Likewise.
47340 2010-10-03  Bruno Haible  <bruno@clisp.org>
47342         Info about ACLs on NonStop Kernel.
47343         * doc/acl-resources.txt: Add info about NonStop Kernel.
47344         References by Joachim Schmitz <schmitz@hp.com>.
47346 2010-10-02  Bruno Haible  <bruno@clisp.org>
47348         Define missing EDQUOT on NonStop Kernel.
47349         * lib/errno.in.h (EDQUOT): Assign a value if missing.
47350         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
47351         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
47352         missing.
47353         * doc/posix-headers/errno.texi: Mention the NSK bug.
47354         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
47355         Reported by Joachim Schmitz <schmitz@hp.com>.
47357 2010-10-02  Bruno Haible  <bruno@clisp.org>
47359         Update doc for POSIX:2008.
47360         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
47361         Update URL of POSIX specification.
47363 2010-10-02  Bruno Haible  <bruno@clisp.org>
47365         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
47366         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
47367         from gnulib, not from Automake.
47369 2010-10-02  Bruno Haible  <bruno@clisp.org>
47371         New module 'system-posix'.
47372         * modules/system-posix: New file.
47373         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
47374         module is present.
47375         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
47376         GNULIB_SYSTEM_POSIX.
47377         * modules/stdlib (Depends-on): Remove sys_wait.
47378         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
47379         * doc/posix-functions/system.texi: Mention the new module.
47380         * doc/posix-headers/stdlib.texi: Likewise.
47381         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
47382         define test_sys_wait_macros to a no-op.
47383         Reported by Sam Steingold <sds@gnu.org>.
47385 2010-09-30  Bruno Haible  <bruno@clisp.org>
47387         More renaming from 'getdate' to 'get_date'.
47388         * doc/get_date.texi: Renamed from doc/getdate.texi.
47389         * modules/get_date (Files): Update.
47390         * MODULES.html.sh (Date and time <time.h>): Update.
47391         * DEPENDENCIES: Update.
47392         * gnulib-tool: Update comment.
47393         * m4/bison.m4 (gl_BISON): Likewise.
47394         * m4/get_date.m4 (gl_GET_DATE): Likewise.
47396 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
47398         bootstrap: support ACLOCAL_FLAGS during aclocal
47399         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
47400         can add additional -I dir for third-party .m4 files.
47402 2010-09-30  Eric Blake  <eblake@redhat.com>
47404         bootstrap: use glibtoolize on MacOS
47405         * build-aux/bootstrap (check_versions): Convert libtool into
47406         libtoolize.
47407         (tool search): Move libtool check earlier, and look for
47408         glibtoolize for MacOS.
47409         (gnulib_tool_options): Auto-add --libtool when appropriate.
47410         Reported by Justin Clift.
47412         poll: fix typo that broke test on MacOS
47413         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
47414         Reported by Justin Clift.
47416         getdate: rename to get_date
47417         Note: getdate.h is not renamed, to minimize client impact.
47418         * modules/getdate: Mark obsolete.  Move old contents...
47419         * modules/get_date: ...to new module name.
47420         * modules/getdate-tests: Move...
47421         * modules/get_date-tests: ...here.
47422         * m4/getdate.m4: Move...
47423         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
47424         * lib/getdate.y: Move...
47425         * lib/get_date.y: ...here.
47426         * tests/test-getdate.c: Move...
47427         * tests/test-get_date.c: ...here.
47428         * doc/posix-functions/getdate.texi (getdate): Update name.
47429         * NEWS: Mention the change.
47431 2010-09-29  Bruno Haible  <bruno@clisp.org>
47433         Separate the module 'waitpid' from the module 'sys_wait'.
47434         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
47435         present.
47436         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
47437         gl_MODULE_INDICATOR_FOR_TESTS.
47438         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
47439         * modules/sys_wait (Depends-on): Remove waitpid.
47440         (Makefile.am): Substitute GNULIB_WAITPID.
47441         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
47442         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
47443         signature only if the 'waitpid' module is present.
47444         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
47445         * NEWS: Mention the change.
47446         * modules/grantpt (Depends-on): Add waitpid.
47447         * modules/wait-process (Depends-on): Likewise.
47449 2010-09-29  Bruno Haible  <bruno@clisp.org>
47451         More tests for module 'sys_wait'.
47452         * modules/sys_wait-c++-tests: New file.
47453         * tests/test-sys_wait-c++.cc: New file.
47454         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
47455         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
47457 2010-09-29  Bruno Haible  <bruno@clisp.org>
47459         New module 'waitpid'.
47460         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
47461         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
47462         Don't include <process.h>.
47463         (waitpid): Declare only, using modern idiom.
47464         * m4/waitpid.m4: New file.
47465         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
47466         * modules/waitpid: New file.
47467         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
47468         (Makefile.am): Update.
47469         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
47471 2010-09-28  Bruno Haible  <bruno@clisp.org>
47473         poll: Assume ANSI C.
47474         * lib/poll.c (poll): Use an ANSI C declaration.
47476 2010-09-28  Bruno Haible  <bruno@clisp.org>
47478         poll-h: Create poll.h on all platforms.
47479         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
47480         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
47481         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
47482         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
47483         (gl_REPLACE_POLL_H): Don't set POLL_H.
47484         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
47485         * modules/poll-h (Depends-on): Add include_next.
47486         (Makefile.am): Create poll.h unconditionally. Substitute also
47487         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
47489 2010-09-28  Bruno Haible  <bruno@clisp.org>
47491         Tests for module 'poll-h'.
47492         * modules/poll-h-c++-tests: New file.
47493         * tests/test-poll-h-c++.cc: New file.
47495         Tests for module 'poll-h'.
47496         * modules/poll-h-tests: New file.
47497         * tests/test-poll-h.c: New file.
47499 2010-09-28  Bruno Haible  <bruno@clisp.org>
47501         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
47502         * modules/poll-h (Depends-on): Add 'extensions'.
47504 2010-09-28  Bruno Haible  <bruno@clisp.org>
47506         New module 'poll-h'.
47507         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
47508         (poll): Use modern idiom.
47509         * modules/poll-h: New file.
47510         * modules/poll (Files): Remove lib/poll.in.h.
47511         (Depends-on): Add poll-h.
47512         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
47513         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
47514         * m4/poll_h.m4: New file.
47515         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
47516         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
47517         and invoke gl_REPLACE_POLL_H.
47518         * lib/poll.c: Use common idiom.
47519         * tests/test-poll.c: Likewise.
47520         * doc/posix-headers/poll.texi: Mention the poll-h module.
47521         Suggested by Eric Blake.
47523 2010-09-26  Bruno Haible  <bruno@clisp.org>
47525         sys_wait: Implement WSTOPSIG.
47526         * lib/sys_wait.in.h (WSTOPSIG): New macro.
47527         Reported by Simon Josefsson.
47529 2010-09-26  Simon Josefsson  <simon@josefsson.org>
47531         stdlib, sys_wait: Avoid compilation error on mingw.
47532         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
47534 2010-09-26  Bruno Haible  <bruno@clisp.org>
47536         stdlib tests: Avoid code duplication.
47537         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
47538         * modules/sys_wait-tests (Files): Likewise.
47539         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
47540         * tests/test-stdlib.c: Include test-sys_wait.h.
47541         (main): Invoke test_sys_wait_macros.
47542         * tests/test-sys_wait.c: Include test-sys_wait.h.
47543         (main): Invoke test_sys_wait_macros.
47545 2010-09-25  Simon Josefsson  <simon@josefsson.org>
47547         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
47548         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
47549         sure Windows sockets are working before calling getaddrinfo.
47550         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
47551         * doc/gnulib.texi (Windows sockets): Fix typo.
47553 2010-09-25  Bruno Haible  <bruno@clisp.org>
47555         Tests for module 'regex-quote'.
47556         * modules/regex-quote-tests: New file.
47557         * tests/test-regex-quote.c: New file.
47559         New module 'regex-quote'.
47560         * lib/regex-quote.h: New file.
47561         * lib/regex-quote.c: New file.
47562         * modules/regex-quote: New file.
47563         Suggested by Reuben Thomas <rrt@sc3d.org>.
47565 2010-09-24  Bruno Haible  <bruno@clisp.org>
47567         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
47568         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
47570 2010-09-23  Bruno Haible  <bruno@clisp.org>
47572         setenv: Relax license.
47573         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
47574         Blake.
47575         Requested by Eric Blake.
47577 2010-09-22  Bruno Haible  <bruno@clisp.org>
47579         termios: Relax license.
47580         * modules/termios (License): Change to LGPLv2+.
47581         Requested by Eric Blake.
47583 2010-09-22  Bruno Haible  <bruno@clisp.org>
47585         threadlib: Allow the package to change the default to 'no'.
47586         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
47587         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
47588         Reported by Paul Eggert.
47590 2010-09-22  Pádraig Brady  <P@draigbrady.com>
47591             Bruno Haible  <bruno@clisp.org>
47593         Fix endless loop in mbmemcasecoll.
47594         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
47595         byte.
47596         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
47598 2010-09-22  Bruno Haible  <bruno@clisp.org>
47600         Tests for module 'memcoll'.
47601         * modules/memcoll-tests: New file.
47602         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
47604         memcoll, xmemcoll: Clarify size vs. length.
47605         * modules/memcoll.c (memcoll0): Clarify specification.
47606         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
47607         passed to collate_error.
47609 2010-09-22  Bruno Haible  <bruno@clisp.org>
47611         Tests for module 'memcasecmp'.
47612         * modules/memcasecmp-tests: New file.
47613         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
47615 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
47617         * lib/pthread.in.h: Add split double-inclusion guard, and include
47618         system <pthread.h> if there is one.  Use @@-style as in other
47619         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
47620         pthread.h doesn't.
47621         (pthread_mutexattr_destroy, pthread_mutexattr_init):
47622         (pthread_mutexattr_settype, pthread_mutex_trylock):
47623         New static inline functions, if there's no system <pthread.h>.
47624         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
47625         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
47626         Approximate with mutexes if the system lacks spinlocks, as in
47627         MacOS.
47628         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
47629         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
47630         @@-style.  Check for spinlocks separately.
47631         (gl_PTHREAD_DEFAULTS): New macro.
47632         * modules/pthread: Redo to use a more typical style for in.h files.
47634 2010-09-21  Eric Blake  <eblake@redhat.com>
47636         net_if: enhance tests
47637         * tests/test-net_if.c (main): Move signature checks earlier.
47638         Print failures to stderr.
47639         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
47640         Document the bug that we do not yet fix.
47642 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
47644         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
47645         about gnulib, not GSS.
47647 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
47649         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
47650         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
47651         for Emacs.
47652         * build-aux/pmccabe2html: Make Makefile.am example code more
47653         cut-and-paste friendly.
47655 2010-09-21  Simon Josefsson  <simon@josefsson.org>
47657         * tests/test-net_if.c: New file.
47658         * modules/net_if-tests: New file.
47660 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
47662         pthread: add pthread_spin_destroy
47663         * lib/pthread.in.h (pthread_spin_destroy): New function.
47665 2010-09-19  Bruno Haible  <bruno@clisp.org>
47667         gnulib-tool: Fix --help output.
47668         * gnulib-tool (func_usage): Fix help message.
47669         Reported by Reuben Thomas <rrt@sc3d.org>.
47671 2010-09-18  Jim Meyering  <meyering@redhat.com>
47673         maint.mk: avoid unexpanded \n in two diagnostics
47674         * top/maint.mk (sc_prohibit_always_true_header_tests):
47675         Don't use a literal \n in a halt=... assignment.  It would not be
47676         expanded, and the two \n bytes would appear in the diagnostic output
47677         rather than the desired newline.  Use halt=$$(printf ... instead.
47678         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
47680 2010-09-18  Bruno Haible  <bruno@clisp.org>
47682         netinet_in: Doc tweak.
47683         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
47684         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
47686 2010-09-18  Jim Meyering  <meyering@redhat.com>
47688         init.sh: correct an outdated comment
47689         * tests/init.sh (create_exe_shims_):  s/function/alias/
47691         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
47692         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
47693         a file named "*.exe" is removed between the glob expansion and the
47694         processing of that oddly named file.
47696 2010-09-17  Eric Blake  <eblake@redhat.com>
47698         mirbsd: add some more support
47699         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
47700         in BSD family.
47701         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
47702         devices as OpenBSD.
47703         * m4/host-os.m4 (mirbsd): Add MirBSD.
47705         tests: fix unportable assumption on sys/wait.h
47706         * tests/test-sys_wait.c (main): Relax test.
47707         * tests/test-stdlib.c (main): Likewise.
47709         init.sh: accommodate directory with no .exes
47710         * tests/init.sh: Accomodate directory containing only scripts.
47712         tests: avoid compiler warning
47713         * tests/test-stdlib.c (main): Use the variable.
47715         fdutimens, fdutimensat: update signature, again
47716         * lib/utimens.h (gl_futimens): Delete, and move signature...
47717         (fdutimens): ...here.
47718         (fdutimensat): Rearrange signature.
47719         (lutimensat): Rename variable for clarity.
47720         * lib/fdutimensat.c (fdutimensat): Update signature.
47721         * lib/utimens.c (fdutimens): Likewise.
47722         (gl_futimens): Delete.
47723         (utimens, lutimens): Update callers.
47724         * lib/futimens.c (futimens): Likewise.
47725         * tests/test-fdutimensat.c: Likewise.
47726         * tests/test-utimens.c: Likewise.
47727         * tests/test-futimens.h: Update comment.
47728         * NEWS: Mention this.
47729         Suggested by Paul Eggert.
47731 2010-09-17  Bruno Haible  <bruno@clisp.org>
47733         Take over the maintenance of some older macros from Autoconf.
47734         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
47735         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
47736         GNU Autoconf.
47737         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
47738         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
47740 2010-09-17  Eric Blake  <eblake@redhat.com>
47742         fdutimensat: drop atflag validation
47743         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
47744         with valid fd, to close a race scenario where futimens is
47745         unsupported and FILE was replaced by a symlink.
47746         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
47747         accordingly.
47748         Suggested by Paul Eggert.
47750 2010-09-16  Bruno Haible  <bruno@clisp.org>
47752         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
47753         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
47755 2010-09-16  Bruno Haible  <bruno@clisp.org>
47757         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
47758         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
47759         login_tty exists.
47760         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
47762 2010-09-16  Bruno Haible  <bruno@clisp.org>
47764         login_tty: Make the replacement code work on BSD systems.
47765         * lib/login_tty.c: Include <sys/ioctl.h>.
47766         (login_tty): Use ioctl TIOCSCTTY when available.
47767         * modules/login_tty (Depends-on): Add sys_ioctl.
47768         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
47770 2010-09-16  Bruno Haible  <bruno@clisp.org>
47772         login_tty: Stricter unit test.
47773         * modules/login_tty-tests (Depends-on): Add tcgetsid.
47774         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
47775         and tcgetsid() after login_tty.
47776         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
47778 2010-09-16  Bruno Haible  <bruno@clisp.org>
47780         New module 'tcgetsid'.
47781         * lib/tcgetsid.c: New file.
47782         * m4/tcgetsid.m4: New file.
47783         * modules/tcgetsid: New file.
47784         * modules/termios (Depends-on): Add c++defs, warn-on-use.
47785         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
47786         GNULIB_TCGETSID, HAVE_TCGETSID.
47787         * lib/termios.in.h: Include <sys/types.h>.
47788         (tcgetsid): New declaration.
47789         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
47790         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
47791         * doc/posix-functions/tcgetsid.texi: Mention the new module.
47792         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
47794 2010-09-16  Bruno Haible  <bruno@clisp.org>
47796         Tests for module 'termios'.
47797         * modules/termios-c++-tests: New file.
47798         * modules/termios-tests: New file.
47799         * tests/test-termios-c++.cc: New file.
47800         * tests/test-termios.c: New file.
47802         New module 'termios'.
47803         * modules/termios: New file.
47804         * lib/termios.in.h: New file.
47805         * m4/termios_h.m4: New file.
47806         * doc/posix-headers/termios.texi: Mention the new module.
47808 2010-09-16  Eric Blake  <eblake@redhat.com>
47810         fdutimensat: add an atflag parameter
47811         * lib/fdutimensat.c (fdutimensat): Add new parameter.
47812         * lib/utimens.h (fdutimensat): Update prototype.
47813         * tests/test-fdutimensat.c: Adjust test to match.
47814         * NEWS: Document the change.
47815         Suggested by Paul Eggert.
47817 2010-09-16  Bruno Haible  <bruno@clisp.org>
47819         Fix typos in comments.
47820         * lib/striconveh.h: Fix typo in comment.
47821         * lib/login_tty.c (login_tty): Likewise.
47823 2010-09-15  Bruno Haible  <bruno@clisp.org>
47825         stdlib: clarify MirBSD WEXITSTATUS bug
47826         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
47827         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
47829 2010-09-15  Eric Blake  <eblake@redhat.com>
47831         stdlib: work around MirBSD WEXITSTATUS bug
47832         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
47833         * modules/stdlib (Depends-on): Add sys_wait.
47834         * tests/test-sys_wait.c (main): Enhance test.
47835         * tests/test-stdlib.c (main): Likewise.
47836         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
47838         docs: mention MacOS issue with WEXITSTATUS(constant)
47839         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
47840         issue.
47841         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
47843         strnlen: add tests
47844         * modules/strnlen-tests: New file.
47845         * tests/test-strnlen.c: Likewise.
47847 2010-09-14  Bruno Haible  <bruno@clisp.org>
47849         unistr/base: Avoid link errors when module 'libunistring' is also used.
47850         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
47851         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
47852         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
47853         Declare also when HAVE_LIBUNISTRING is set.
47854         Reported by Pádraig Brady <P@draigbrady.com>.
47856 2010-09-14  Eric Blake  <eblake@redhat.com>
47858         test-rawmemchr: make more robust
47859         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
47860         (Depends-on, configure.ac): Add needed prerequisites to use it.
47861         * modules/memchr-tests (Files, Depends-on, configure.ac):
47862         Likewise, to avoid implicit reliance on memchr module prereqs.
47863         * tests/test-memchr.c (main): Ensure proper masking.
47864         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
47865         reads.
47867         memchr: detect glibc Alpha bug
47868         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
47869         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
47870         Alpha.
47871         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
47872         * tests/test-memchr.c (main): Enhance test.
47873         Reported by Nelson H. F. Beebe.
47875 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
47877         fts, getcwd, glob: audit for dirfd returning -1
47878         * lib/fts.c (opendir): Remove #define; no longer used.
47879         (opendirat): New arg PDIR_FD.  All callers changed.
47880         (fts_build, _opendir2): Use new opendirat to avoid the need for
47881         dirfd, or for checking whether dirfd returns a negative value.
47882         Don't use opendir; always use openat followed by fdopendir.
47883         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
47884         it.
47885         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
47886         returns -1 here.
47887         * modules/fts (Depends-on): Remove dirfd.
47888         * modules/getcwd (Depends-on): Likewise.
47890 2010-09-13  Eric Blake  <eblake@redhat.com>
47892         float: fix broken MirBSD header
47893         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
47894         * doc/posix-headers/float.texi (float.h): Document it.
47896 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
47898         fts: use O_NOFOLLOW to avoid race condition when opening a directory
47899         * lib/fts.c (opendirat): New arg extra_flags.
47900         (__opendir2): Use it to avoid following symlinks when opening
47901         a directory, if symlinks are not supposed to be followed.  See
47902         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00213.html>.
47904         fdopendir: preserve argument fd before returning
47905         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
47906         (fdopendir_with_dup, fd_clone_opendir): New static functions.
47907         (fdopendir): Use them, arranging for FD to be open to the same
47908         directory that it was when it started.  (It might be temporarily
47909         closed while fdopendir is running, so this not thread- or
47910         signal-safe.)  Be careful to do the right thing even when file
47911         descriptors are scarce and dup fails with errno == EMFILE.  See
47912         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00208.html>.
47914 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
47916         regex: Pass the system regex if its only problem is 32-bit regoff_t.
47917         * NEWS: Document change.
47918         * m4/regex.m4: Disable test for regoff_t size.
47920 2010-09-13  Jim Meyering  <meyering@redhat.com>
47922         fts: don't operate on an invalid file descriptor after failed dup
47923         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
47924         negative file descriptor.
47926 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
47928         savedir: add streamsavedir, deprecate fdsavedir
47929         * NEWS: Mention deprecation of fdsavedir.
47930         * lib/savedir.c (streamsavedir): New extern function, whose name
47931         ends in "savedir" to be consistent with the others.  This differs
47932         from savedirstream in that it doesn't close its argument.  The
47933         next version of GNU tar will use this instead of fdsavedir, to
47934         avoid some race conditions and conserve file descriptors.
47935         (savedirstream): Reimplement as a wrapper around streamsavedir.
47936         (fdsavedir): Add a comment deprecating this function.  As far as
47937         I know, only GNU tar used it, and GNU tar doesn't need it any more.
47938         * lib/savedir.h (streamsavedir): New decl.
47939         (fdsavedir): Add a comment deprecating this.
47941 2010-09-10  Bruno Haible  <bruno@clisp.org>
47943         langinfo: Fix last commit.
47944         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
47945         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
47946         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47948 2010-09-10  Bruno Haible  <bruno@clisp.org>
47950         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
47951         * lib/progreloc.c (O_EXEC): Define fallback.
47953 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
47955         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
47956         * NEWS: Document recent changes to fcntl-h.
47957         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
47958         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
47959         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
47960         Similarly for O_SEARCH; this last was already true, but not documented.
47961         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
47962         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
47963         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
47964         Likewise.
47965         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
47966         is zero, not whether it is defined.
47967         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
47968         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
47969         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
47971 2010-09-10  Bruno Haible  <bruno@clisp.org>
47973         langinfo, nl_langinfo: Fix for IRIX 5.3.
47974         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
47975         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
47976         HAVE_LANGINFO_YESEXPR.
47977         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
47978         HAVE_LANGINFO_YESEXPR.
47979         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
47980         HAVE_LANGINFO_T_FMT_AMPM is 0.
47981         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
47982         HAVE_LANGINFO_YESEXPR is 0.
47983         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
47984         NOEXPR.
47985         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
47986         * doc/posix-functions/nl_langinfo.texi: Likewise.
47987         Reported by Eric Blake.
47989 2010-09-10  Bruno Haible  <bruno@clisp.org>
47991         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
47992         * doc/glibc-functions/login_tty.texi: Mention the include file problem
47993         on FreeBSD 8.0 and OpenBSD 4.6.
47994         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
47995         * m4/pty_h.m4 (gl_PTY_H): Likewise.
47996         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
47997         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
47998         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
47999         ac_includes_default.
48000         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
48002 2010-09-09  Eric Blake  <eblake@redhat.com>
48004         strsignal: work around NetBSD bug
48005         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
48006         * lib/string.in.h (includes): Likewise.
48007         * doc/posix-functions/strsignal.texi (strsignal): Document the
48008         bug.
48009         Reported by Nelson H. F. Beebe.
48011         gnulib-tool: work with NetBSD /bin/sh
48012         * gnulib-tool (func_cache_var, func_cache_lookup_module)
48013         (func_get_description, func_get_comment, func_get_status)
48014         (func_get_notice, func_get_applicability, func_get_filelist)
48015         (func_get_dependencies, func_get_autoconf_early_snippet)
48016         (func_get_autoconf_snippet, func_get_automake_snippet)
48017         (func_get_include_directive, func_get_link_directive)
48018         (func_get_license, func_get_maintainer, func_import): Avoid
48019         shell syntax errors from parsing syntax extensions.
48021 2010-09-09  Bruno Haible  <bruno@clisp.org>
48023         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
48024         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
48025         a reliable way to determine whether the 'alias' command works.
48027 2010-09-08  Jim Meyering  <meyering@redhat.com>
48029         init.sh: penalize a set-x-impaired shell; don't disqualify it
48030         * tests/init.sh: Too many shells corrupt application stderr when
48031         you set -x, so we can't afford to disqualify them, since at least
48032         on Irix-6.5, that would disqualify all bourne shells.
48033         Instead, use a two-pass approach.
48034         On the first pass, try to find a shell that meets the stricter
48035         condition that set -x does not corrupt stderr.
48036         If no shell meets the stricter condition, retest each candidate
48037         shell, but without that extra condition.  Finally, when
48038         VERBOSE=yes is requested and set -x might cause trouble, simply
48039         issue a warning and refrain from enabling debug output.
48041 2010-09-08  Eric Blake  <eblake@redhat.com>
48043         unsetenv: fix OpenBSD bug
48044         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
48045         * doc/posix-functions/unsetenv.texi (unsetenv): Update
48046         documentation.
48047         Reported by Jim Meyering.
48049         strtod: work around IRIX 6.5 bug
48050         * lib/strtod.c (strtod): Reparse number on shorter string if
48051         exponent parse was invalid.
48052         * tests/test-strtod.c (main): Add check for "0x1p 2".
48053         Reported by Tom G. Christensen.
48055         getopt: optimize previous patch
48056         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
48057         empty variable.  Speed up awk script.
48058         Reported by Paolo Bonzini.
48060 2010-09-08  Jim Meyering  <meyering@redhat.com>
48062         test.sh: disqualify shells for which set -x corrupts stderr
48063         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
48064         and OpenBSD 4.7.  They make it so with "set -x", environment settings
48065         appear in stderr output.  For example, this command:
48066             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
48067         prints "P=1" on those two systems:
48069 2010-09-08  Bruno Haible  <bruno@clisp.org>
48071         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
48072         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
48073         commands, because some shells ignore redirections when there is an
48074         error in the command lookup.
48075         Reported by Eric Blake.
48077 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
48079         * lib/regex.h: Fix a mention of `regex_compile' (should be
48080         `re_compile_pattern').
48081         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
48082         (re_set_registers): Correct name of parameter in comment.
48084         * doc/regex.texi: Add documentation for missing syntax flags.
48085         Remove commented-out documentation of defunct syntax option
48086         RE_NO_EMPTY_ALTS.
48087         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
48088         Add documentation of re_set_registers.
48089         Document trick to re-use a pattern buffer by setting fastmap manually.
48090         Update documentation of struct re_pattern_buffer per public members.
48091         Uncomment documentation of equivalence class operators and
48092         collating symbol operators, since they are now implemented,
48093         Explain leftmost-longest matching in relation to alternatives.
48094         Tidy documentation of substring matching.
48095         Remove POSIX documentation, which is done better in
48096         glibc, and refer the reader there. Keep BSD API documentation, as
48097         that is not readily available elsewhere.
48099 2010-09-07  Eric Blake  <eblake@redhat.com>
48101         getopt: handle POSIXLY_CORRECT set but not exported
48102         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
48103         export state of POSIXLY_CORRECT, due to bash set -o posix.
48104         Reported by Dustin J. Mitchell.
48106 2010-09-05  Bruno Haible  <bruno@clisp.org>
48108         gnulib-tool: Highlight the changed options.
48109         * gnulib-tool (func_usage): Display the --import, --add-import,
48110         --remove-import explanations in bold font.
48112 2010-09-06  Karl Berry  <karl@gnu.org>
48114         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
48116 2010-09-05  Bruno Haible  <bruno@clisp.org>
48118         uniwidth/width: Update comment.
48119         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
48120         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
48122 2010-09-05  Bruno Haible  <bruno@clisp.org>
48124         isinf, isnan: Relax license.
48125         * modules/isinf (License): Change from GPL to LGPL, with consent from
48126         Ben Pfaff.
48127         * modules/isnan (License): Likewise.
48128         Requested by Ludovic Courtès.
48130 2010-09-04  Bruno Haible  <bruno@clisp.org>
48132         gnulib-tool: Help migration from --import to --add-import or --update.
48133         * gnulib-tool: Emit a verbose error message when --import is used
48134         without any module name.
48136 2010-09-04  Bruno Haible  <bruno@clisp.org>
48138         Update doc about gnulib-tool.
48139         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
48140         'gnulib-tool --update' in more detail.
48141         Reported by Eric Blake.
48143 2010-09-04  Bruno Haible  <bruno@clisp.org>
48145         gnulib-tool: Change --import. New options --add/remove-import.
48146         * gnulib-tool: New options --add-import, --remove-import.
48147         (func_usage): Document them.
48148         (have_associative): Define always.
48149         (func_import): In import mode, don't merge the specified settings with
48150         the cached settings. Implement remove-import mode.
48151         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
48152         Explain when to use them versus --import.
48153         (Simple update): Use --add-import instead of --import.
48154         * NEWS: Mention the change.
48156 2010-09-04  Bruno Haible  <bruno@clisp.org>
48158         * doc/gnulib-tool.texi (Initial import): Update paragraph about
48159         separate gnulib.mk.
48161 2010-09-04  Bruno Haible  <bruno@clisp.org>
48163         gnulib-tool: Don't talk about CVS any more.
48164         * gnulib-tool (func_usage, func_import): Write "version control"
48165         instead of CVS.
48167 2010-09-04  Jim Meyering  <meyering@redhat.com>
48169         maint.mk: avoid obscure sc_copyright_check failure in coreutils
48170         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
48171         false positives (whose names may be ill-chosen) when searching
48172         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
48173         would cause a false-positive.
48175         avoid coreutils "make distcheck" failure
48176         Coreutils tests with an absolute build directory name that contains
48177         a space.  Not quoting this directory name caused a failure.
48178         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
48179         * tests/test-vc-list-files-cvs.sh: Likewise.
48181 2010-09-04  Bruno Haible  <bruno@clisp.org>
48183         gnulib-tool: Avoid error when run in a package without Makefile.am.
48184         * gnulib-tool: When collecting the m4dirs in a package that does not
48185         have a Makefile.am, eliminate those directories that contain no
48186         gnulib-cache.m4. Fix expression that counts these directories.
48188 2010-09-04  Bruno Haible  <bruno@clisp.org>
48190         update-copyright test: Improve output when perl is missing or too old.
48191         * tests/test-update-copyright.sh: Move test of Perl version down after
48192         the test whether Perl exists. Provide an explanation relating Perl's
48193         error message to Automake's SKIP: message.
48195 2010-09-04  Bruno Haible  <bruno@clisp.org>
48197         Don't augment PATH in TESTS_ENVIRONMENT.
48198         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
48199         set abs_aux_dir instead of augmenting PATH.
48200         * modules/vc-list-files-tests (Makefile.am): Likewise.
48201         * tests/test-update-copyright.sh: Augment PATH here.
48202         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
48203         path_prepend_.
48204         * tests/test-vc-list-files-git.sh: Likewise.
48206 2010-09-04  Jim Meyering  <meyering@redhat.com>
48208         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
48209         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
48211 2010-09-04  Bruno Haible  <bruno@clisp.org>
48213         strdup: Fix compilation error in C++ mode.
48214         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
48215         the macro.
48217 2010-09-04  Bruno Haible  <bruno@clisp.org>
48219         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
48220         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
48221         macro into a function.
48222         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
48224 2010-09-04  Bruno Haible  <bruno@clisp.org>
48226         Set PATH_SEPARATOR the same way autoconf does.
48227         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
48228         the value of PATH_SEPARATOR the same way autoconf-generated configure
48229         scripts do.
48230         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
48231         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
48233 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
48235         Set PATH_SEPARATOR the same way autoconf does.
48236         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
48237         the same way autoconf-generated configure scripts do.
48238         * posix-modules: Likewise.
48240 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
48242         hash: fix safe_hasher const typo
48243         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
48244         const; otherwise, there is a type error later.
48246 2010-09-02  Jim Meyering  <meyering@redhat.com>
48248         test-update-copyright.sh: require perl 5.8.0
48249         * tests/test-update-copyright.sh: Require 5.8.0,
48250         which Tom G. Christensen has confirmed is adequate,
48251         while 5.6.1 is not.
48253 2010-09-02  Eric Blake  <eblake@redhat.com>
48255         tests: init.sh improvements for re-exec'ing with zsh
48256         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
48257         -vx through shell re-exec.
48258         Reported by Tom G. Christensen.
48260         wctype: fix typo in previous commit
48261         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
48262         Reported by Ludovic Courtès.
48264 2010-09-02  Jim Meyering  <meyering@redhat.com>
48266         test-update-copyright.sh: skip test if Perl is too old
48267         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
48268         Reported by Tom G. Christensen.
48270 2010-09-02  Bruno Haible  <bruno@clisp.org>
48272         wctype: Avoid compilation error on IRIX 6.5.30.
48273         * lib/wctype.in.h (iswblank): Declare with a replacement if
48274         REPLACE_ISWBLANK is set.
48275         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
48276         declared. Set REPLACE_ISWBLANK.
48277         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
48278         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
48279         * doc/posix-headers/wctype.texi: Likewise.
48280         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
48282 2010-09-01  Bruno Haible  <bruno@clisp.org>
48284         New module 'socketlib'.
48285         * modules/socketlib: New file.
48286         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
48287         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
48288         * modules/sockets (Depends-on): Add socketlib.
48289         Suggested by Sam Steingold <sds@gnu.org>.
48291 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
48293         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
48295         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
48296         when one needs search access to a directory but not read access.
48297         On systems where it is available, it works in some cases where
48298         O_RDONLY does not, namely on directories that are searchable but
48299         not readable, and which need only to be searchable.  If O_SEARCH
48300         is not available, fall back to the traditional method of using
48301         O_RDONLY.
48303         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
48304         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
48305         when opening a directory that needs only to be searchable.
48306         * lib/chdir-safer.c (chdir_no_follow): Likewise.
48307         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
48308         * lib/openat-proc.c (openat_proc_name): Likewise.
48309         * lib/openat.c (openat_needs_fchdir): Likewise.
48310         * lib/save-cwd.c (save_cwd): Likewise.
48311         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
48313 2010-08-28  Bruno Haible  <bruno@clisp.org>
48315         New module 'host-cpu-c-abi'.
48316         * modules/host-cpu-c-abi: New file.
48317         * m4/host-cpu-c-abi.m4: New file, based on part of
48318         clisp/src/m4/general.m4.
48319         Requested by Sam Steingold <sds@gnu.org>.
48321 2010-08-31  Eric Blake  <eblake@redhat.com>
48322         and Jim Meyering  <meyering@redhat.com>
48324         hash: factor, and guard against misbehaving hasher function
48325         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
48326         of table->hasher's return value.  Also protect against a hash value
48327         so large that adding it to table->bucket results in a NULL pointer.
48328         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
48329         Use it in place of open-coded check-and-abort.
48331 2010-08-30  Bruno Haible  <bruno@clisp.org>
48333         hash: silence spurious clang warning
48334         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
48335         Reported by Eric Blake.
48337 2010-08-30  Eric Blake  <eblake@redhat.com>
48339         strstr, memmem, strcasestr: avoid leaked shell message
48340         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
48341         FreeBSD.
48342         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
48343         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
48345         tests: silence clang warning
48346         * tests/test-malloca.c (do_allocation): Avoid dead store.
48348 2010-08-29  Bruno Haible  <bruno@clisp.org>
48350         gettext: Fix recent mistake.
48351         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
48353 2010-08-29  Bruno Haible  <bruno@clisp.org>
48355         selinux-h: Offer a --without-selinux option.
48356         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
48357         --without-selinux was specified, skip all tests and define
48358         HAVE_SELINUX_SELINUX_H to 0.
48359         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
48360         set LIB_SELINUX to empty.
48361         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
48362         gl_LIBSELINUX. If --without-selinux was specified, replace
48363         selinux/context.h.
48364         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
48366 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48367             Bruno Haible  <bruno@clisp.org>
48369         Make the module 'realloc-gnu' work again on AIX and OSF/1.
48370         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
48371         of HAVE_REALLOC.
48372         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
48373         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
48374         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
48375         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
48377 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48378             Bruno Haible  <bruno@clisp.org>
48380         Make the module 'calloc-gnu' work again on AIX and OSF/1.
48381         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
48382         HAVE_CALLOC.
48383         * lib/xmalloc.c: Update accordingly.
48384         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
48385         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
48386         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
48388 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48389             Bruno Haible  <bruno@clisp.org>
48391         Make the module 'malloc-gnu' work again on AIX and OSF/1.
48392         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
48393         HAVE_MALLOC.
48394         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
48395         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
48396         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
48398 2010-08-29  Bruno Haible  <bruno@clisp.org>
48400         Update modules list.
48401         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
48402         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
48403         (String handling <string.h>): Add astrxfrm.
48404         (File system functions): Add readlinkat.
48406 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48408         Tests for module 'realloc-gnu'.
48409         * modules/realloc-gnu-tests: New file.
48410         * tests/test-realloc-gnu.c: New file.
48412         Tests for module 'calloc-gnu'.
48413         * modules/calloc-gnu-tests: New file.
48414         * tests/test-calloc-gnu.c: New file.
48416         Tests for module 'malloc-gnu'.
48417         * modules/malloc-gnu-tests: New file.
48418         * tests/test-malloc-gnu.c: New file.
48420 2010-08-28  Bruno Haible  <bruno@clisp.org>
48422         Rename module 'realloc' -> 'realloc-gnu'.
48423         * modules/realloc-gnu: New file, copied from modules/realloc.
48424         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
48425         obsolete.
48426         * modules/mgetgroups (Depends-on): Update.
48427         * doc/posix-functions/realloc.texi: Update.
48428         * NEWS: Mention the change.
48430         Rename module 'calloc' -> 'calloc-gnu'.
48431         * modules/calloc-gnu: New file, copied from modules/calloc.
48432         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
48433         obsolete.
48434         * doc/posix-functions/calloc.texi: Update.
48435         * NEWS: Mention the change.
48437         Rename module 'malloc' -> 'malloc-gnu'.
48438         * modules/malloc-gnu: New file, copied from modules/malloc.
48439         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
48440         obsolete.
48441         * modules/argp (Depends-on): Update.
48442         * modules/regex (Depends-on): Update.
48443         * doc/posix-functions/malloc.texi: Update.
48444         * NEWS: Mention the change.
48446 2010-08-28  Eric Blake  <eblake@redhat.com>
48448         pread, pwrite: add missing dependency
48449         * modules/pread (Depends-on): Add extensions.
48450         * modules/pwrite (Depends-on): Likewise.
48452 2010-08-28  Bruno Haible  <bruno@clisp.org>
48454         unistr/u*-strchr: Fix tests dependencies.
48455         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
48456         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
48457         Reported by Ian Beckwith <ianb@erislabs.net>.
48459 2010-08-28  Bruno Haible  <bruno@clisp.org>
48461         read-file: Don't occupy too much unused memory.
48462         * lib/read-file.c (fread_file): Shrink the buffer at the end.
48464 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
48465             Eric Blake  <eblake@redhat.com>
48466             Bruno Haible  <bruno@clisp.org>
48468         read-file: Avoid memory reallocations with regular files.
48469         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
48470         (fread_file): With regular files, use the remaining length as the
48471         initial buffer size.  Check against overflow.
48472         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
48473         sys_stat.
48475 2010-08-28  Bruno Haible  <bruno@clisp.org>
48477         ftello: Relax license.
48478         * modules/ftello (License): Relax to LGPLv2+.
48479         Reported by Eric Blake.
48481 2010-08-28  Bruno Haible  <bruno@clisp.org>
48483         Avoid relocwrapper link errors due to gnulib replacement functions.
48484         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
48485         function.
48486         Reported by Ben Pfaff <blp@cs.stanford.edu>.
48488 2010-08-28  Bruno Haible  <bruno@clisp.org>
48490         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
48491         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
48492         defined.
48493         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
48494         Suggested by Eric Blake.
48496 2010-08-28  Bruno Haible  <bruno@clisp.org>
48498         sys_socket, netdb: Ensure socklen_t gets defined.
48499         * modules/sys_socket (Depends-on): Add socklen.
48500         * modules/netdb (Depends-on): Likewise.
48501         * modules/getaddrinfo (Depends-on): Remove socklen.
48502         * modules/getsockopt (Depends-on): Likewise.
48503         * modules/setsockopt (Depends-on): Likewise.
48504         * tests/test-sys_socket.c: Check that socklen_t is defined.
48505         * tests/test-netdb.c: Likewise.
48506         * m4/socklen.m4: Update comments.
48507         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48509 2010-08-27  Eric Blake  <eblake@redhat.com>
48511         login_tty: add missing dependency
48512         * modules/login_tty (Depends-on): Add pty.
48514 2010-08-26  Eric Blake  <eblake@redhat.com>
48516         lib-symbol-versions: fix m4 quoting
48517         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
48518         format for AC_LINK_IFELSE.
48520         glob: fix compile test
48521         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
48523         btowc: fix missing file
48524         * modules/btowc (Files): Also ship locale-fr.m4.
48526         lseek: fix link test
48527         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
48528         AC_LINK_IFELSE.
48530         include_next: silence autoconf 2.68 warning
48531         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
48532         AC_COMPILE_IFELSE as special.
48533         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
48534         autoconf < 2.68.
48536         acl: fix compilation test
48537         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
48538         AC_COMPILE_IFELSE.
48540 2010-08-26  Bruno Haible  <bruno@clisp.org>
48542         Modernize AC_TRY_RUN invocations.
48543         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
48544         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
48545         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
48546         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
48547         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
48548         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
48549         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
48550         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
48551         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
48552         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
48553         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
48554         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
48555         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
48556         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
48557         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
48558         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
48559         gl_MBRLEN_NUL_RETVAL): Likewise.
48560         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
48561         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
48562         Likewise.
48563         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
48564         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
48565         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
48566         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
48567         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
48568         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
48569         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
48570         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
48571         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
48572         Likewise.
48573         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
48574         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
48575         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
48576         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
48577         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
48578         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
48579         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
48580         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
48581         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
48582         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
48584 2010-08-26  Bruno Haible  <bruno@clisp.org>
48586         Modernize AC_TRY_LINK invocations.
48587         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
48588         AC_TRY_LINK.
48589         * m4/argp.m4 (gl_ARGP): Likewise.
48590         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
48591         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
48592         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
48593         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
48594         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
48595         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
48596         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
48597         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
48598         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
48599         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
48600         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
48601         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
48602         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
48603         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
48604         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
48605         * m4/hostent.m4 (gl_HOSTENT): Likewise.
48606         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
48607         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
48608         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
48609         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
48610         Likewise.
48611         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
48612         Likewise.
48613         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
48614         Likewise.
48615         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
48616         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
48617         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
48618         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
48619         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
48620         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
48621         * m4/servent.m4 (gl_SERVENT): Likewise.
48622         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
48623         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
48624         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
48625         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
48626         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
48627         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
48628         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
48629         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
48630         * modules/tsearch-tests (configure.ac): Likewise.
48632 2010-08-26  Bruno Haible  <bruno@clisp.org>
48634         Modernize AC_TRY_COMPILE invocations.
48635         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
48636         AC_TRY_COMPILE.
48637         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
48638         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
48639         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
48640         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
48641         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
48642         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
48643         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
48644         * m4/lock.m4 (gl_LOCK): Likewise.
48645         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
48646         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
48647         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
48648         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
48649         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
48650         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
48651         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
48652         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
48653         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
48654         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
48655         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
48656         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
48657         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
48658         extraneous semicolon.
48660 2010-08-26  Jim Meyering  <meyering@redhat.com>
48662         stat-time: relax license LGPL
48663         * modules/stat-time (License): Change from GPL to LGPL,
48664         with consent from all contributors, for use in libguile.
48665         Requested by Ludovic Courtès.
48667 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
48669         poll: return immediately on POLLHUP.
48670         * lib/poll.c (poll): Always set timeout before wait_timeout is
48671         computed.
48673 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48675         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
48676         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
48677         rmdir ("dir/.//"), unlinkat.
48679 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
48681         stdbool: avoid spurious failure with modern xlc
48682         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
48684 2010-08-24  Bruno Haible  <bruno@clisp.org>
48686         getloadavg: simplify code
48687         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
48688         gl_have_func. Update comments.
48690 2010-08-24  Eric Blake  <eblake@redhat.com>
48692         getloadavg: don't define SVR4 on cygwin
48693         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
48694         only define SVR4 when -lkvm is required.
48695         Reported by Yaakov Selkowitz.
48697 2010-08-24  Bruno Haible  <bruno@clisp.org>
48699         priv-set: fix comment
48700         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
48702 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
48704         priv-set: fix comments
48705         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
48706         to match code, as suggested by David Bartley in:
48707         http://lists.gnu.org/r/bug-tar/2010-08/msg00018.html
48709 2010-08-23  Eric Blake  <eblake@redhat.com>
48711         stdbool: avoid rejecting clang
48712         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
48713         * tests/test-stdbool.c: Enable more tests if using the system
48714         <stdbool.h> instead of the gnulib replacement.
48715         (main): Move xlc bug test to a runtime test for all compilers.
48716         Reported by Anders Kaseorg.
48718         argz: fix shell quoting issue
48719         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
48720         Reported by Charles Wilson.
48722 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
48723             Erik Faye-Lund <kusmabite@gmail.com>
48725         poll, select: handle ERROR_BROKEN_PIPE.
48726         * lib/poll.c (win32_compute_revents): Return POLLHUP when
48727         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
48728         * lib/select.c (win32_compute_revents): Do not mark a pipe
48729         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
48731 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
48733         fts: allow compilation with C++
48734         * lib/fts_.h: Specify extern "C" linkage with C++.
48736 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48738         Fix gnulib-tool sed script de-commentation for AIX sed.
48739         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
48740         sed.
48742 2010-08-17  Eric Blake  <eblake@redhat.com>
48744         test-stddef: test for (some) offsetof bugs
48745         * tests/test-stddef.c: Enhance test to ensure correct type of
48746         offsetof.
48747         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
48748         that we are not fixing at this time.
48750 2010-08-15  Bruno Haible  <bruno@clisp.org>
48752         stpncpy: Allow stpncpy to be defined as a macro.
48753         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
48754         if it's already correctly declared.
48755         * lib/string.in.h (stpncpy): Undefine before redefining.
48756         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
48758 2010-08-14  Bruno Haible  <bruno@clisp.org>
48760         Rename module 'memxfrm' to 'amemxfrm'.
48761         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
48762         (amemxfrm): Renamed from memxfrm.
48763         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
48764         (amemxfrm): Renamed from memxfrm.
48765         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
48766         * NEWS: Mention the change.
48767         * MODULES.html.sh (String handling <string.h>): Update.
48768         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
48769         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
48770         * lib/unicase/u16-casexfrm.c: Likewise.
48771         * lib/unicase/u32-casexfrm.c: Likewise.
48772         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
48773         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
48774         * lib/uninorm/u16-normxfrm.c: Likewise.
48775         * lib/uninorm/u32-normxfrm.c: Likewise.
48776         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
48777         memxfrm.
48778         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
48779         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
48780         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
48781         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
48782         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
48783         Suggested by Paul Eggert.
48785 2010-08-14  Bruno Haible  <bruno@clisp.org>
48787         Tests for module 'astrxfrm'.
48788         * modules/astrxfrm-tests: New file.
48789         * tests/test-astrxfrm.c: New file.
48791         New module 'astrxfrm'.
48792         * lib/astrxfrm.h: New file.
48793         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
48794         * modules/astrxfrm: New file.
48796 2010-08-14  Reuben Thomas  <rrt@sc3d.org>
48798         regex: Tweak doc.
48799         * doc/regex.texi (Overview): Don't mention regex.c.
48800         (GNU Regular Expression Compiling): Likewise.
48801         (Match-end-of-line Operator): Mention 'not_eol'.
48803 2010-08-14  Brian Gough  <bjg@gnu.org>
48804             Bruno Haible  <bruno@clisp.org>
48806         git-merge-changelog: add doc relating to use with bzr and hg.
48807         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
48809 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
48811         pthread: fix pthread.h creation for srcdir != builddir
48812         * modules/pthread (Makefile.am): Fix the rule to work also in a
48813         non-srcdir build.
48815 2010-08-13  Karl Berry  <karl@gnu.org>
48817         * doc/regex.texi (Predefined Syntaxes): @smallexample.
48818         * doc/posix-*/*: force line break before @url of POSIX
48819         specifications.
48820         Suggested by Werner Lemberg.
48822 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
48824         strtod: fix const diagnostic
48825         * lib/strtod.c (strtod): Don't assign const char * to char *,
48826         as this elicits a warning from GCC when warnings are enabled.
48828 2010-08-10  Pádraig Brady  <P@draigbrady.com>
48829         and Eric Blake  <eblake@redhat.com>
48831         copy-acl: ignore ENOTSUP on HP-UX
48832         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
48833         so that it is available for HP-UX.
48834         * lib/copy-acl.c (qcopy_acl): Use it.
48835         Reported by Patrick M. Callahan.
48837 2010-08-10  Eric Blake  <eblake@redhat.com>
48839         open, chown: relax license
48840         * modules/open (License): Change to LGPLv2+, with consent by all
48841         authors, for use in augeas.
48842         * modules/chown (License): Likewise.
48843         * modules/lchown (Likewise): Likewise.
48844         Requested by Adam Stokes.
48846 2010-08-09  Karl Berry  <karl@gnu.org>
48848         * build-aux/ar-lib: new file, import from Automake.
48849         * config/srclist.txt: autocheck for updates.
48851 2010-08-09  Eric Blake  <eblake@redhat.com>
48853         readlinkat: adjust client modules
48854         * modules/areadlinkat (Depends-on): Use readlinkat, not
48855         symlinkat.
48856         * modules/areadlinkat-with-size (Depends-on): Likewise.
48858         mknod: be more vocal about danger of running tests as root
48859         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
48860         root, since that is just asking for problems.
48861         Suggested by Bruno Haible, based on a report by Rainer Tammer.
48863         readlinkat: split into its own module
48864         * modules/symlinkat: Split readlinkat...
48865         * modules/readlinkat: ...into separate module.
48866         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
48867         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
48868         * lib/symlinkat.c (readlinkat): Move...
48869         * lib/readlinkat.c: ...into new file.
48870         * modules/symlinkat-tests: Split readlinkat test...
48871         * modules/readlinkat-tests: ...into separate module.
48872         * tests/test-symlinkat.c: Split...
48873         * tests/test-readlinkat.c: ...into new file.
48874         * NEWS: Document the split.
48875         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
48876         * lib/unistd.in.h (readlinkat): Likewise.
48877         Suggested by Bruno Haible.
48879 2010-08-08  Bruno Haible  <bruno@clisp.org>
48881         memxfrm: Speed up.
48882         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
48883         that usually only one call to strxfrm is necessary for each string
48884         part.
48885         Reported by Paul Eggert <eggert@cs.ucla.edu>.
48887 2010-08-07  Karl Berry  <karl@gnu.org>
48889         * doc/posix-headers/limits.texi,
48890         * doc/posix-functions/malloc.texi,
48891         * doc/posix-functions/strsignal.texi: missing @item.
48892         * doc/ld-version-script.texi: spurious leading i.
48893         * doc/regex.texi (Interval Operators): no commas inside @var.
48895 2010-08-01  Bruno Haible  <bruno@clisp.org>
48897         Integrate the regex documentation.
48898         * doc/gnulib.texi: Define 'cn' index.
48899         (Regular expressions): New a chapter that includes regex.texi and
48900         regexprops-generic.texi.
48901         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
48902         syntax.
48904         Whitespace cleanup.
48905         * doc/regex.texi: Remove trailing spaces.
48907         Add regex documentation.
48908         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
48909         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
48910         Written by Kathy A. Hargreaves and Karl Berry.
48912 2010-08-01  Bruno Haible  <bruno@clisp.org>
48914         link: Update documentation.
48915         * doc/posix-functions/link.texi: Update regarding Solaris.
48917 2010-07-31  Bruno Haible  <bruno@clisp.org>
48919         Update modules list.
48920         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
48921         (String handling <string.h>): Add memcmp2, memxfrm.
48922         (Container data structures): Add xlist, xsublist, xoset.
48923         (Core language properties): Add alignof, unused-parameter.
48924         (Process control, Numeric conversion functions <stdlib.h>): Renamed
48925         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
48926         (Unibyte characters <ctype.h>): New section.
48927         (String handling <string.h>): New section.
48928         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
48929         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
48930         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
48931         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
48932         tan, tanh, tanl, y0, y1, yn.
48933         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
48934         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
48935         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
48936         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
48937         unlockpt, vdprintf, vdprintf-posix.
48938         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
48939         (File system functions): Add concat-filename, sys_file, sys_ioctl,
48940         xconcat-filename.
48941         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
48942         getdtablesize, pipe2, pipe2-safer.
48943         (Security): New section.
48944         (Networking functions): Add accept4.
48945         (Signal handling): Add sigpipe.
48946         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
48947         mbmemcasecoll.
48948         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
48949         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
48950         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
48951         pipe-filter-ii.
48952         (Misc): Add argp-version-etc, login_tty, parse-duration.
48954 2010-07-31  Bruno Haible  <bruno@clisp.org>
48956         Improve doc in MODULES.html.
48957         * modules/linkat (Description): Add the word "function".
48958         * modules/mkfifo (Description): Likewise.
48959         * modules/mknod (Description): Likewise.
48960         * modules/remove (Description): Likewise.
48961         * modules/renameat (Description): Likewise.
48962         * modules/stat (Description): Likewise.
48963         * modules/symlink (Description): Likewise.
48964         * modules/unlink (Description): Likewise.
48966 2010-07-31  Bruno Haible  <bruno@clisp.org>
48968         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
48969         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
48970         option --enable/disable-c++ instead of --enable/disable-cxx.
48971         * NEWS: Mention the change.
48973 2010-07-31  Bruno Haible  <bruno@clisp.org>
48975         readlink, areadlink: Relax test a bit.
48976         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
48977         alternative to ENOTDIR.
48978         * tests/test-areadlink.h (test_areadlink): Likewise.
48979         Reported by Rainer Tammer.
48981 2010-07-31  Bruno Haible  <bruno@clisp.org>
48983         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
48984         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
48985         character, perform the search using U_STRCHR.
48986         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
48987         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
48988         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
48989         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
48990         Suggested by Paolo Bonzini.
48992 2010-07-31  Bruno Haible  <bruno@clisp.org>
48994         unistr/u*-strstr: Fix dependencies.
48995         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
48996         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
48997         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
48999 2010-07-31  Bruno Haible  <bruno@clisp.org>
49001         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
49002         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
49003         the beginning of the loop.
49004         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
49005         cases in 'switch' statement.
49007         unistr/u8-strchr: Fix several bugs.
49008         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
49009         the string. When not found, return NULL, not a pointer near the end.
49011         More tests for unistr/u8-strchr.
49012         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
49013         that the function does not read past the first occurrence of the byte
49014         being searched.
49015         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
49016         * tests/unistr/test-u16-strchr.c (main): New function.
49017         * tests/unistr/test-u32-strchr.c (main): New function.
49019 2010-07-31  Bruno Haible  <bruno@clisp.org>
49021         posix-modules: Ignore backup files of documentation files.
49022         * posix-modules: grep only through files named *.texi.
49024 2010-07-31  Bruno Haible  <bruno@clisp.org>
49026         symlinkat: Fix documentation.
49027         * doc/posix-functions/readlinkat.texi: Fix module name.
49029 2010-07-31  Bruno Haible  <bruno@clisp.org>
49031         fchownat: Replace also when chown has the trailing slash bug.
49032         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
49033         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
49034         introduced on 2010-04-10.
49035         Reported by Rainer Tammer.
49037 2010-07-31  Bruno Haible  <bruno@clisp.org>
49039         linkat: Work around AIX 7.1 bug.
49040         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
49041         whether linkat handles trailing slash correctly. If not, replace linkat
49042         and define LINKAT_TRAILING_SLASH_BUG.
49043         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
49044         check whether (fd1,file1) points to a directory if file1 or file2 ends
49045         in a slash. Code taken from lib/link.c.
49046         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
49047         Reported by Rainer Tammer.
49049 2010-07-31  Bruno Haible  <bruno@clisp.org>
49051         Correctly determine whether pow is available in libc on AIX 7 with xlc.
49052         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
49053         This disables an xlc optimization that was causing wrong test results.
49054         Reported by Rainer Tammer.
49056 2010-07-31  Bruno Haible  <bruno@clisp.org>
49058         iconv: Work around AIX 6.1..7.1 bug.
49059         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
49060         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
49061         cross-compiling, guess no on all versions of AIX.
49062         Reported by Rainer Tammer.
49064 2010-07-31  Bruno Haible  <bruno@clisp.org>
49066         readlink: Relax test a bit.
49067         * tests/test-readlink.h (test_readlink): Allow different errno value
49068         when readlink is called with a file name that ends in / and refers to
49069         a file.
49070         Suggested by Eric Blake.
49071         Reported by Rainer Tammer.
49073 2010-07-31  Bruno Haible  <bruno@clisp.org>
49075         copysign: Does not require -lm on glibc systems.
49076         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
49077         gl_COMMON_DOUBLE_MATHFUNC.
49078         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
49080 2010-07-31  Bruno Haible  <bruno@clisp.org>
49082         duplocale: Work around AIX 7.1 bug.
49083         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
49084         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
49085         * lib/duplocale.c (rpl_duplocale): Update comment.
49086         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
49087         Reported by Rainer Tammer.
49089 2010-07-30  Bruno Haible  <bruno@clisp.org>
49091         dirfd: Avoid link error on AIX 7.1.
49092         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
49093         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
49094         exist, set REPLACE_DIRFD.
49095         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
49096         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
49097         * doc/posix-functions/dirfd.texi: Update.
49098         Reported by Rainer Tammer.
49100 2010-07-30  Eric Blake  <eblake@redhat.com>
49102         strtod: next round of AIX fixes
49103         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
49104         exponent.
49105         * tests/test-strtod.c (main): Enhance tests.
49106         * doc/posix-functions/strtod.texi (strtod): Document next bug.
49107         Reported by Rainer Tammer.
49109         futimens: fix configure check
49110         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
49111         Reported by Bruno Haible.
49113 2010-07-30  Bruno Haible  <bruno@clisp.org>
49115         getline: Update regarding AIX.
49116         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
49117         Reported by Rainer Tammer.
49119 2010-07-30  Bruno Haible  <bruno@clisp.org>
49121         wcwidth: Drop replacement on AIX 7.
49122         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
49123         AIX 7.
49124         Reported by Rainer Tammer.
49126 2010-07-30  Bruno Haible  <bruno@clisp.org>
49128         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
49129         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
49130         a 'char *'.
49131         Reported by Rainer Tammer.
49133 2010-07-30  Bruno Haible  <bruno@clisp.org>
49135         unlink: Update regarding AIX.
49136         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
49137         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
49138         Reported by Rainer Tammer.
49140 2010-07-30  Bruno Haible  <bruno@clisp.org>
49142         symlink: Update regarding AIX.
49143         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
49144         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
49145         Reported by Rainer Tammer.
49147 2010-07-30  Bruno Haible  <bruno@clisp.org>
49149         strndup: Update regarding AIX.
49150         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
49151         AIX 7.
49152         Reported by Rainer Tammer.
49154 2010-07-30  Bruno Haible  <bruno@clisp.org>
49156         stat: Update regarding AIX.
49157         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
49158         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
49159         Reported by Rainer Tammer.
49161 2010-07-30  Bruno Haible  <bruno@clisp.org>
49163         truncl: Fix autoconf test.
49164         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
49165         whether truncl works.
49166         Reported by Rainer Tammer.
49168 2010-07-30  Bruno Haible  <bruno@clisp.org>
49170         round: Update regarding AIX.
49171         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
49172         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
49173         Reported by Rainer Tammer.
49175 2010-07-30  Bruno Haible  <bruno@clisp.org>
49177         rename: Update regarding AIX.
49178         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
49179         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
49180         Reported by Rainer Tammer.
49182 2010-07-30  Bruno Haible  <bruno@clisp.org>
49184         printf.m4: Update regarding AIX.
49185         * m4/printf.m4: Update comments regarding AIX.
49186         Reported by Rainer Tammer.
49188 2010-07-30  Bruno Haible  <bruno@clisp.org>
49190         iconv: Update regarding AIX.
49191         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
49192         AIX 7.
49193         Reported by Rainer Tammer.
49195 2010-07-30  Bruno Haible  <bruno@clisp.org>
49197         getopt: Update regarding AIX.
49198         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
49199         no on AIX.
49200         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
49201         Reported by Rainer Tammer.
49203 2010-07-30  Bruno Haible  <bruno@clisp.org>
49205         ldexpl; Update regarding AIX.
49206         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
49207         on AIX 7.
49208         Reported by Rainer Tammer.
49210 2010-07-30  Bruno Haible  <bruno@clisp.org>
49212         frexpl: Update regarding AIX.
49213         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
49214         on AIX 7.
49215         Reported by Rainer Tammer.
49217 2010-07-30  Bruno Haible  <bruno@clisp.org>
49219         open, fopen: Update regarding AIX.
49220         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
49221         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
49222         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
49223         * doc/posix-functions/fopen.texi: Likewise.
49224         Reported by Rainer Tammer.
49226 2010-07-30  Bruno Haible  <bruno@clisp.org>
49228         chown: Update doc regarding AIX.
49229         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
49230         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
49231         Reported by Rainer Tammer.
49233 2010-07-30  Eric Blake  <eblake@redhat.com>
49235         strtod: fix bug in replacement function on AIX
49236         * lib/strtod.c (strtod): Special case broken "0x" parse in
49237         underlying strtod.
49238         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
49239         * doc/posix-functions/strtod.texi (strtod): Likewise.
49240         Reported by Rainer Tammer.
49242 2010-07-30  Bruno Haible  <bruno@clisp.org>
49244         mbrlen: Fix cross-compilation guess for AIX.
49245         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
49246         guess. Leftover from 2008-12-22.
49248 2010-07-30  Bruno Haible  <bruno@clisp.org>
49250         mbrtowc: Fix cross-compilation guess for AIX.
49251         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
49252         guess. Leftover from 2008-12-21.
49254 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
49256         init.sh: work around trap limitation of some shells
49257         * tests/init.sh (setup_): Move exit trap outside of shell function.
49259 2010-07-29  Eric Blake  <eblake@redhat.com>
49261         strtod: aid debugging
49262         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
49263         understanding why strtod is rejected.
49265 2010-07-28  Bruno Haible  <bruno@clisp.org>
49267         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
49268         * lib/unistr/u8-chr.c: Include <string.h>.
49269         * tests/unistr/test-u8-chr.c: Likewise.
49270         * tests/unistr/test-u16-chr.c: Likewise.
49271         * tests/unistr/test-u32-chr.c: Likewise.
49272         * tests/unistr/test-u8-strchr.c: Likewise.
49273         * tests/unistr/test-u16-strchr.c: Likewise.
49274         * tests/unistr/test-u32-strchr.c: Likewise.
49275         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
49276         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
49277         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
49278         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
49280 2010-07-28  Bruno Haible  <bruno@clisp.org>
49282         Use spaces for indentation, not tabs.
49283         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
49285 2010-07-27  Bruno Haible  <bruno@clisp.org>
49287         mbspcasecmp: Fix function specification.
49288         * lib/string.in.h (mbspcasecmp): Fix specification comment.
49289         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
49290         Reported by Eric Blake <eblake@redhat.com>.
49292 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
49294         timespec: use cast and not conditional, as truncation isn't possible
49295         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
49296         instead of a conditional.  Comment about the situation in more detail.
49297         This undoes most of the 2009-10-29 patch.
49299 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
49301         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
49302         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
49303         * lib/unistr/u8-strchr.c: Likewise.
49304         * modules/unistr/u8-chr: Depend on memchr.
49306         unistr/u*-strchr: add tests
49307         * modules/unistr/u8-strchr-tests: New file.
49308         * modules/unistr/u16-strchr-tests: New file.
49309         * modules/unistr/u32-strchr-tests: New file.
49310         * tests/unistr/test-strchr.h: New file.
49311         * tests/unistr/test-u8-strchr.c: New file.
49312         * tests/unistr/test-u16-strchr.c: New file.
49313         * tests/unistr/test-u32-strchr.c: New file.
49315         unistr/u*-chr: test multibyte sequences more
49316         * tests/unistr/test-chr.h: Do complete testing of the characters in the
49317         test vector.
49318         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
49319         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
49320         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
49322         unistr/u*-chr: test multibyte sequences
49323         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
49325         unistr/u*-chr: prepare for multibyte tests
49326         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
49327         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
49328         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
49329         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
49330         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
49331         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
49333 2010-07-18  Bruno Haible  <bruno@clisp.org>
49335         unistr/u8-strchr: Optimize non-ASCII argument case.
49336         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
49337         because the first byte often matches anyway.
49338         Reported by Pádraig Brady <P@draigbrady.com>.
49340 2010-07-15  Karl Berry  <karl@gnu.org>
49342         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
49344 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
49346         getcwd: on Solaris, work better if ancestors are inaccessible
49347         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
49348         buffer and size, try again with a large buffer.  This works better
49349         on Solaris, since its getcwd succeeds even if the path to the root
49350         is inaccessible, and this is helpful in common cases such as .zfs
49351         hidden directories.  Problem reported by J Chapman Flack in
49352         http://lists.gnu.org/r/bug-tar/2010-06/msg00000.html
49353         Use system getcwd if it's declared, not merely if it's partly
49354         working; use the partly-working test only to avoid needless effort
49355         if the system getcwd fails.
49356         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
49357         comment that was already obsolete and is now even more obsolete.
49358         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
49359         now might call strdup.
49361 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
49363         pthread: Add enough so that coreutils/src/sort.c compiles.
49364         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
49365         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
49366         gnulib. Include <sched.h> and <time.h>, as per POSIX.
49367         Include <sys/types.h>, in case it defines pthread_t.
49368         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
49369         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
49370         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
49371         (pthread_rwlockattr_t, pthread_spinlock_t):
49372         New typedefs, if HAVE_PTHREAD_T is not defined.
49373         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
49374         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
49375         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
49376         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
49377         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
49378         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
49379         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
49380         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
49381         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
49382         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
49383         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
49384         New macros.
49385         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
49386         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
49387         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
49388         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
49389         (pthread_spin_unlock): New dummy functions.
49390         (pthread_create): Return EAGAIN; don't set errno.
49391         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
49392         require AC_C_INLINE.
49393         * modules/pthread (Depends-on): Add sched, time.
49394         (pthread.h): Use AM_V_GEN.
49396 2010-07-13  Bruno Haible  <bruno@clisp.org>
49398         striconveh: Don't malloc memory if the result buffer is sufficient.
49399         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
49400         buffer if its size is sufficient.
49401         Reported by Ludovic Courtès <ludo@gnu.org>.
49403 2010-07-13  Bruno Haible  <bruno@clisp.org>
49405         strtod: Add safety check.
49406         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
49408 2010-07-12  Bruno Haible  <bruno@clisp.org>
49410         Unify tests that set gl_cv_func_ldexpl_no_libm.
49411         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
49412         gl_FUNC_LDEXPL.
49413         (gl_FUNC_LDEXPL): Invoke it.
49414         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
49416 2010-07-12  Bruno Haible  <bruno@clisp.org>
49418         Unify tests that set gl_cv_func_ldexp_no_libm.
49419         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
49420         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
49421         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
49422         (configure.ac): Simply invoke gl_FUNC_LDEXP.
49423         * modules/strtod (Files): Add m4/ldexp.m4.
49425 2010-07-12  Bruno Haible  <bruno@clisp.org>
49427         Unify tests that set gl_cv_func_frexpl_no_libm.
49428         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
49429         gl_FUNC_FREXPL_NO_LIBM.
49430         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
49431         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
49433 2010-07-12  Bruno Haible  <bruno@clisp.org>
49435         Unify tests that set gl_cv_func_frexp_no_libm.
49436         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
49437         gl_FUNC_FREXP_NO_LIBM.
49438         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
49439         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
49441 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
49443         memcoll: clarify sizes versus lengths, document better, and tweak perf
49444         * lib/memcoll.c (strcoll_loop, memcoll0):
49445         Improve quality of descriptive comments.  Name variables
49446         consistently as to whether they are lengths (which do not include
49447         terminating null) versus sizes (which do).
49448         * lib/xmemcoll.c (xmemcoll0): Likewise.
49449         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
49450         returned when s1size == 0; this is easier to compile and saves
49451         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
49453 2010-07-12  Bruno Haible  <bruno@clisp.org>
49455         Tests for module '_Exit'.
49456         * modules/_Exit-tests: New file.
49457         * tests/test-_Exit.sh: New file.
49458         * tests/test-_Exit.c: New file.
49460         New module '_Exit'.
49461         * lib/stdlib.in.h (__attribute__): New macro.
49462         (_Exit): New declaration.
49463         * lib/_Exit.c: New file.
49464         * m4/_Exit.m4: New file.
49465         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
49466         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
49467         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
49468         * modules/_Exit: New file.
49469         * tests/test-stdlib-c++.cc (_Exit): Check signature.
49470         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
49472 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
49474         strtod: make it more-accurate typically, and don't require libm
49475         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
49476         Include limits.h.  Don't include string.h.
49477         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
49478         (locale_isspace): New function, so that no casts are needed to
49479         check whether *s is a space.
49480         (ldexp): Provide an unused dummy if not available.
49481         (scale_radix_exp, parse_number, underlying_strtod): New functions.
49482         (strtod): Use them.  This implementation prefers to use the
49483         underlying strtod if available, falling back on our own code
49484         only to fix known bugs.  This is more likely to produce an
49485         accurate result.  Also, it avoids the use of libm functions.
49486         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
49487         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
49488         was absent, but it caused a test failure with coreutils.
49489         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
49490         with libm.
49491         * modules/strtod (Makefile.am, Link): libm is no longer needed.
49492         * modules/strtod-tests (Makefile.am): Likewise.
49494 2010-07-11  Pádraig Brady  <P@draigBrady.com>
49495             Bruno Haible  <bruno@clisp.org>
49497         unistr/u8-strchr: Optimize ASCII argument case.
49498         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
49500 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
49502         (x)memcoll: minor tweaks
49503         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
49504         is after the type that it qualifies.
49505         (memcoll0): Likewise.
49506         * lib/memcoll.h (memcoll0): Likewise.
49507         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
49508         * lib/xmemcoll.h (xmemcoll0): Likewise.
49509         * lib/memcoll.c (memcoll0): Correct the comment.  This function
49510         differs from memcoll in that the NUL byte is part of the argument.
49511         Omit the abort-checks, as performance is a real issue here.  Plus,
49512         the checks were wrong anyway (an off-by-one error).  Omit local
49513         variable 'diff', as it's a bit clearer that way.
49514         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
49515         no longer needed.
49517 2010-07-08  Chen Guo  <chenguo4@yahoo.com>
49519         (x)memcoll: speedup when input is known to be NUL delimited
49520         * lib/memcoll.c: Include stdlib.
49521         (memcoll0): New function.
49522         (strcoll_loop): New function, refactored for use in both memcoll
49523         and memcoll0.
49524         * lib/memcoll.h (memcoll0): Add prototype.
49525         * lib/xmemcoll.c (xmemcoll0): New function.
49526         (collate_error): New function, refactored for use in both xmemcoll
49527         and xmemcoll0.
49528         * lib/xmemcoll.h (xmemcoll0): Add prototype.
49529         * m4/memcoll.m4: add inline invocation.
49531 2010-07-06  Pádraig Brady  <P@draigBrady.com>
49533         * build-aux/bootstrap: Remove any local translations
49534         from the translation project synchronization directory,
49535         so that local only translations are not distributed.
49537 2010-07-04  Bruno Haible  <bruno@clisp.org>
49539         fsusage: Clarify which code applies to which platforms.
49540         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
49541         platform.
49542         * lib/fsusage.c (get_fs_usage): Likewise.
49544 2010-07-04  Bruno Haible  <bruno@clisp.org>
49546         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
49547         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
49548         Reported by Martin Lambers <marlam@marlam.de>.
49550 2010-07-04  Jim Meyering  <meyering@redhat.com>
49552         hash: once again explicitly disallow insertion of NULL
49553         * lib/hash.c (hash_insert0): Reinstate just-removed test:
49554         inserting a NULL pointer cannot work with these functions.
49555         Add a comment with details.
49556         This reverts part of the 2010-07-01 commit, 5bef1a35
49557         "hash: extend module to deal with non-pointer keys".
49559 2010-07-01  Bruno Haible  <bruno@clisp.org>
49561         stdbool: Update doc.
49562         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
49563         Info from Christian Weisgerber <naddy@mips.inka.de>.
49565 2010-07-01  Jim Meyering  <meyering@redhat.com>
49567         hash: extend module to deal with non-pointer keys
49568         * lib/hash.c (hash_insert0): New interface, much like hash_insert
49569         but that allows insertion of non-pointer entries.
49570         Do not disallow an ENTRY value of NULL.
49571         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
49572         * lib/hash.h (hash_insert0): Declare.
49574 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
49576         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
49577         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
49578         not present (i.e. with autoconf 2.59 and when using gettextize, not
49579         gnulib), require AC_GNU_SOURCE instead.
49581 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
49583         idpriv-drop: Fix tests.
49584         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
49585         not to the test-idpriv-droptemp program.
49587 2010-06-29  Bruno Haible  <bruno@clisp.org>
49589         string: Fix syntax error with g++ 2.96.
49590         * lib/string.in.h (__pure__): Remove definition.
49591         (_GL_ATTRIBUTE_PURE): New macro.
49592         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
49593         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
49594         Reported by Christian Weisgerber <naddy@mips.inka.de>.
49596 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
49598         unitypes: Fix bug introduced on 2010-05-18.
49599         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
49601 2010-06-22  Eric Blake  <eblake@redhat.com>
49603         memmem: slight optimization
49604         * lib/str-two-way.h (critical_factorization): Update comments.
49605         Reduce work during factorization phase.
49606         Reported by Carlos Bueno <carlos@bueno.org>.
49608 2010-06-21  Bruno Haible  <bruno@clisp.org>
49610         Fix HAVE_CALLOC_POSIX misnomer.
49611         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
49612         !HAVE_CALLOC_POSIX.
49613         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
49614         HAVE_CALLOC_POSIX.
49615         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
49616         instead of HAVE_CALLOC_POSIX.
49617         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
49618         HAVE_CALLOC_POSIX.
49620         Use modern idiom for calloc() replacement.
49621         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
49622         AC_FUNC_CALLOC.
49623         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
49624         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
49625         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
49626         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
49627         (gl_REPLACE_CALLOC): New macro.
49629 2010-06-21  Bruno Haible  <bruno@clisp.org>
49631         Fix HAVE_REALLOC_POSIX misnomer.
49632         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
49633         !HAVE_REALLOC_POSIX.
49634         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
49635         HAVE_REALLOC_POSIX.
49636         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
49637         instead of HAVE_REALLOC_POSIX.
49638         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
49639         HAVE_REALLOC_POSIX.
49641         Use modern idiom for realloc() replacement.
49642         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
49643         AC_FUNC_REALLOC.
49644         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
49645         Autoconf's AC_FUNC_REALLOC.
49646         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
49647         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
49648         (gl_REPLACE_REALLOC): New macro.
49649         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
49651 2010-06-21  Bruno Haible  <bruno@clisp.org>
49653         Fix HAVE_MALLOC_POSIX misnomer.
49654         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
49655         !HAVE_MALLOC_POSIX.
49656         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
49657         HAVE_MALLOC_POSIX.
49658         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
49659         instead of HAVE_MALLOC_POSIX.
49660         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
49661         HAVE_MALLOC_POSIX.
49663         Use modern idiom for malloc() replacement.
49664         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
49665         AC_FUNC_MALLOC.
49666         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
49667         Autoconf's AC_FUNC_MALLOC.
49668         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
49669         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
49670         (gl_REPLACE_MALLOC): New macro.
49671         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
49673 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
49675         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
49676         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
49677         This macro takes 3 arguments, not 4.
49679 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
49681         ipv6: fix detection under mingw
49682         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
49683         in6_addr.
49685 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
49687         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
49688         that strtod() works when cross-compiling to a glibc version known
49689         to work.
49691 2010-06-15  Bruno Haible  <bruno@clisp.org>
49693         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
49695 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
49697         select: Correct timeout.
49698         * lib/select.c (rpl_select): Compute wait_timeout correctly.
49700 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
49702         git-version-gen: init shell var to avoid env var influence
49703         * build-aux/git-version-gen (v): Init shell var to empty.
49705 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
49707         priv-set: Don't assume that priv.h exists merely because getppriv does.
49708         See Jan Andersen's bug report about AIX 5L in
49709         http://lists.gnu.org/r/bug-tar/2010-06/msg00019.html
49710         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
49711         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
49712         * lib/priv-set.h: Likewise.
49713         * tests/test-priv-set.c: Likewise.
49715 2010-06-13  Bruno Haible  <bruno@clisp.org>
49717         relocatable: Make it easier to test whether to install wrappers.
49718         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
49719         RELOCATABLE_VIA_WRAPPER.
49721 2010-06-13  Bruno Haible  <bruno@clisp.org>
49723         gnulib-tool: Display specified modules and dependencies differently.
49724         * gnulib-tool (func_show_module_list): New function.
49725         (func_import, func_create_testdir): Invoke it.
49726         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
49728 2010-06-13  Bruno Haible  <bruno@clisp.org>
49730         gnulib-tool: Align code of func_import and func_create_testdir.
49731         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
49732         specified_modules.
49734 2010-06-12  Jim Meyering  <meyering@redhat.com>
49736         test-inttostr: avoid spurious failure on Solaris 9
49737         * tests/test-inttostr.c (main): Skip the test when snprintf fails
49738         to accept "%ju".  Reported by Bruno Haible.
49740 2010-06-11  Jim Meyering  <meyering@redhat.com>
49742         test-sys_socket: mark variables as used more readably
49743         * tests/test-sys_socket.c (main): Mark otherwise unused variables
49744         as "used" explicitly via (void) statement casts.  This is more
49745         readable than using them in an artificial return expression.
49746         Suggestion from Bruno Haible.
49748 2010-06-11  Bruno Haible  <bruno@clisp.org>
49750         Avoid some more warnings from "gcc -Wwrite-strings".
49751         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
49752         to 'const char *'.
49753         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
49754         * tests/test-c-strcasestr.c (main): Likewise.
49755         * tests/test-mbscasestr1.c (main): Likewise.
49756         * tests/test-mbscasestr2.c (main): Likewise.
49757         * tests/test-memmem.c (main): Likewise.
49758         * tests/test-strstr.c (main): Likewise.
49759         * tests/test-strcasestr.c (main): Likewise.
49761 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49763         init.sh: change framework_failure_ to fail with status 99, not 1
49764         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
49765         automake's parallel-tests rule that this is an unexpected failure,
49766         even if the test is listed in XFAIL_TESTS.
49768 2010-06-11  Jim Meyering  <meyering@redhat.com>
49770         test-inttostr: avoid warnings about 4-6KB literal strings
49771         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
49772         Include "macros.h", for its definition of ASSERT.
49773         (CK): s/assert/ASSERT/
49774         * modules/inttostr-tests (Files): Add macros.h.
49776         init.sh: don't use $ME_ or skip_ before they are defined
49777         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
49778         their first uses.  Also hoist their companions: warn_, fail_,
49779         framework_failure_, $stderr_fileno.  Prompted by a patch from
49780         Stefano Lattarini.
49782         test-sys_socket: avoid set-but-not-used warnings from gcc
49783         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
49784         avoid warning about set-but-not-used variables.
49786         test-xvasprintf: avoid 'const' discard warnings
49787         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
49788         "const" when assigning from literal strings.
49789         (test_xasprintf): Add "void" in function argument list to placate
49790         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
49792         tests: avoid compilation warnings in argmatch and exclude tests...
49793         in packages that define ARGMATCH_DIE_DECL, like coreutils.
49794         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
49795         Since it always exits, declare with the "noreturn" attribute.
49796         * tests/test-argmatch.c: Likewise.
49798         tests: avoid 'const' discard warnings in mbsstr tests
49799         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
49800         * tests/test-mbsstr2.c (main): Likewise.
49802         test-verify: avoid warning from gcc's -Wmissing-declarations
49803         * tests/test-verify.c (function): Declare to be static.
49805         test-inttostr.c: include <string.h> for use of strcmp
49806         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
49808         test-linkat: avoid failed assertion on "other" architectures
49809         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
49810         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
49811         sparc: https://bugs.launchpad.net/bugs/591968
49813 2010-06-11  Jim Meyering  <meyering@redhat.com>
49815         printf.m4: avoid autoconf's "Expanded Before Required" warning
49816         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
49817         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
49818         autoconf warning.
49820 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
49822         Replacement header templates are now named with ".in", not "_".
49823         * doc/gnulib-intro.texi: Correct.
49825 2010-06-10  Jim Meyering  <meyering@redhat.com>
49827         inttostr-tests: depend on snprintf, not snprintf-posix
49828         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
49829         snprintf-posix, to avoid this aclocal failure:
49830           missing file gnulib-tests/vasnprintf.c
49831           configure.ac:45: error: expected source file, required through \
49832           AC_LIBSOURCES, not found
49834 2010-06-10  Jim Meyering  <meyering@redhat.com>
49836         inttostr: add a new function, inttostr, and tests
49837         The namesake function was not available.  The existence of the
49838         template file, inttostr.c makes its addition nontrivial.
49839         * lib/anytostr.c: Rename from inttostr.c.
49840         (anytostr): Rename from inttostr.
49841         * lib/inttostr.c: New file.
49842         * modules/inttostr (Files): Add anytostr.c.
49843         (Makefile.am): Set lib_SOURCES instead of ...
49844         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
49845         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
49846         * lib/offtostr.c: Likewise.
49847         * lib/uinttostr.c: Likewise.
49848         * lib/umaxtostr.c: Likewise.
49849         * modules/inttostr-tests: New file.
49850         * tests/test-inttostr.c: New file.  Test these functions.
49852 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
49853             Bruno Haible  <bruno@clisp.org>
49855         Add "Extending Gnulib" chapter to manual.
49856         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
49857         chapter.
49858         (Extending Gnulib): New chapter.
49859         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
49860         chapter.
49862 2010-06-09  Bruno Haible  <bruno@clisp.org>
49864         Avoid relocwrapper link errors due to gnulib replacement functions.
49865         * lib/areadlink.c: Use the system's malloc, realloc functions.
49866         (areadlink): Set errno to ENOMEM explicitly.
49867         * modules/areadlink (Depends-on): Remove malloc-posix.
49868         Reported by Ben Pfaff <blp@cs.stanford.edu>.
49870 2010-06-09  Bruno Haible  <bruno@clisp.org>
49872         Avoid relocwrapper link errors due to gnulib replacement functions.
49873         * lib/canonicalize-lgpl.c: Use the system's malloc function.
49874         * lib/malloca.c: Likewise.
49875         * lib/relocatable.c: Likewise.
49876         * lib/progreloc.c: Use the system's malloc, sprintf functions.
49877         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
49878         * lib/setenv.c: Use the system's malloc, realloc functions.
49879         * lib/strerror.c: Use the system's sprintf function.
49880         Reported by Ben Pfaff <blp@cs.stanford.edu>.
49882 2010-06-04  Bruno Haible  <bruno@clisp.org>
49884         Prefer documented low-level autoconf macro names.
49885         * m4/lib-link.m4: Use m4_translit instead of translit.
49886         * m4/environ.m4: Likewise.
49887         * m4/mathfunc.m4: Likewise.
49888         * m4/onceonly.m4: Likewise.
49889         * m4/stdint.m4: Likewise.
49890         Suggested by Eric Blake.
49892 2010-06-04  Martin Lambers  <marlam@marlam.de>
49893             Bruno Haible  <bruno@clisp.org>
49895         havelib: Allow library names with '+' characters.
49896         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
49897         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
49899 2010-06-09  Bruno Haible  <bruno@clisp.org>
49901         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
49902         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
49903         realloc failed.
49905 2010-06-08  Peter Simons  <simons@cryp.to>
49907         maint.mk: make the news-check rule more configurable
49908         * top/maint.mk (news-check-lines-spec): New variable.
49909         (news-check): Use "sed -n 1,10p" in place of "head".
49911 2010-06-07  Jim Meyering  <meyering@redhat.com>
49913         do-release-commit-and-tag: fix typo in --help
49914         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
49916         regex: avoid new dead-code warning with gcc-4.6.0
49917         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
49918         if-block containing a while-loop.  It's been unused for at least
49919         5 years.
49921 2010-06-05  Bruno Haible  <bruno@clisp.org>
49923         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
49924         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
49926 2010-06-04  Bruno Haible  <bruno@clisp.org>
49928         Update to GNU gettext 0.18.1.
49929         * modules/gettext (configure.ac): Require gettext infrastructure from
49930         version 0.18.1.
49932 2010-06-03  Bruno Haible  <bruno@clisp.org>
49934         Don't use AC_LIBOBJ with file names in subdirectories.
49935         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
49936         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
49937         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
49938         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
49939         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
49940         gl_LIBUNISTRING_LIBSOURCE.
49941         (Makefile.am): Augment lib_SOURCES here, conditionally.
49942         * NEWS: Drop requirement for Automake option 'subdir-objects'.
49944 2010-06-03  Bruno Haible  <bruno@clisp.org>
49946         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
49947         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
49948         expansion does not end with a newline.
49949         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
49950         unnecessary newline.
49952 2010-06-03  Bruno Haible  <bruno@clisp.org>
49954         Reduce dependencies.
49955         * tests/test-quotearg.h: New file, extracted from
49956         tests/test-quotearg.c.
49957         * tests/test-quotearg-simple.c: New file, extracted from
49958         tests/test-quotearg.c.
49959         * tests/test-quotearg.c: Don't include <ctype.h>.
49960         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
49961         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
49962         use_quote_double_quotes, use_quotearg_colon): Moved to
49963         tests/test-quotearg.h.
49964         (results_g, flag_results, custom_quotes, custom_results): Moved
49965         to tests/test-quotearg-simple.c.
49966         (main): Moved the part that does not depend on gettext to
49967         tests/test-quotearg-simple.c. Return 77 if the test cannot be
49968         performed.
49969         * modules/quotearg-simple: New file.
49970         * modules/quotearg-simple-tests: New file.
49971         * modules/quotearg (Depends-on): Add quotearg-simple.
49972         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
49973         (Files): Add tests/test-quotearg.h.
49974         Reported by Paolo Bonzini.
49976 2010-06-03  Bruno Haible  <bruno@clisp.org>
49978         Reduce dependencies.
49979         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
49981 2010-06-03  Bruno Haible  <bruno@clisp.org>
49983         time: Undefine more broken macros.
49984         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
49985         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
49986         Reported by Eric Blake.
49988 2010-06-03  Bruno Haible  <bruno@clisp.org>
49990         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
49991         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
49992         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
49993         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
49994         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
49995         Reported by Ludovic Courtès <ludo@gnu.org>.
49997 2010-06-02  Eric Blake  <eblake@redhat.com>
49999         time: work with mingw + pthreads-win32 library
50000         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
50001         if timespec is defined only in pthread.h.
50002         * modules/time (Makefile.am): Substitute it.
50003         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
50004         <pthread.h>, when needed.
50005         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
50006         from the library.
50008 2010-05-31  Bruno Haible  <bruno@clisp.org>
50010         Avoid expanding two macros in the wrong order.
50011         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
50012         gl_LIBUNISTRING if it is defined.
50013         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
50014         autoconf >= 2.64.
50015         Reported by Ludovic Courtès <ludo@gnu.org>.
50017 2010-05-27  Jim Meyering  <meyering@redhat.com>
50019         maint.mk: also prohibit "#undef" of always-defined symbols
50020         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
50021         Allow more than one space before the symbol name.
50022         (sc_prohibit_always-defined_macros): Use grep's -E, now that
50023         the regexp uses alternation.
50025 2010-05-26  Eric Blake  <eblake@redhat.com>
50027         maint.mk: avoid echo -e
50028         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
50029         Convert all uses of echo -* to printf.
50030         Reported by Matthias Bolte.
50032 2010-05-25  Bruno Haible  <bruno@clisp.org>
50034         Update to GNU gettext 0.18, part 2.
50035         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
50036         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
50038 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50040         Add missing include in test-pwrite.c.
50041         * tests/test-pwrite.c: Include string.h, for strcmp.
50043 2010-05-24  Bruno Haible  <bruno@clisp.org>
50045         * NEWS: Mention requirement for Automake option 'subdir-objects'.
50047 2010-05-24  Bruno Haible  <bruno@clisp.org>
50049         Don't use conversion with transliteration in u{8,16,32}_strcoll.
50050         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
50051         iconveh_error argument.
50052         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
50053         U_STRCONV_TO_LOCALE.
50054         * lib/unistr/u16-strcoll.c: Likewise.
50055         * lib/unistr/u32-strcoll.c: Likewise.
50056         * modules/unistr/u8-strcoll (Depends-on): Add
50057         uniconv/u8-strconv-to-enc, localcharset. Remove
50058         uniconv/u8-strconv-to-locale.
50059         (configure.ac): Bump version number.
50060         * modules/unistr/u16-strcoll (Depends-on): Add
50061         uniconv/u16-strconv-to-enc, localcharset. Remove
50062         uniconv/u16-strconv-to-locale.
50063         (configure.ac): Bump version number.
50064         * modules/unistr/u32-strcoll (Depends-on): Add
50065         uniconv/u32-strconv-to-enc, localcharset. Remove
50066         uniconv/u32-strconv-to-locale.
50067         (configure.ac): Bump version number.
50069 2010-05-24  Bruno Haible  <bruno@clisp.org>
50071         Avoid a test failure on NetBSD 5.0.
50072         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
50073         an iconv() bug.
50075 2010-05-24  Bruno Haible  <bruno@clisp.org>
50077         Adjust #include directive style.
50078         * modules/regex (Includes): Recommend to write <regex.h>.
50080 2010-05-24  Bruno Haible  <bruno@clisp.org>
50082         regex: Don't require alloca.
50083         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
50084         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
50085         only inside if (0).
50087 2010-05-23  Jim Meyering  <meyering@redhat.com>
50089         test-renameat.c: include <sys/stat.h>
50090         * tests/test-renameat.c: Include <sys/stat.h>; required for
50091         definition of S_IS* macros.
50093 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
50095         Update maintainer documentation for 'relocatable-prog' module.
50096         * doc/relocatable-maint.texi: Update.
50097         Comments by Bruno Haible.
50099 2010-05-23  Bruno Haible  <bruno@clisp.org>
50101         git-merge-changelog: Enable --split-merged-entry by default.
50102         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
50103         (usage): Don't mention this option any more.
50104         Reported by Ralf Wildenhues.
50106 2010-05-23  Jim Meyering  <meyering@redhat.com>
50108         test-pwrite: do not leave behind a test file named "out"
50109         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
50110         The trivial-looking use of init.sh is really necessary.
50111         It ensures that the temporary file, "out", is created in
50112         a temporary directory, and removed upon termination.
50113         * tests/test-pwrite.sh: Re-add file.
50114         * modules/pwrite-tests: Reference it.
50116 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50118         Fix output redirection buglet in init.sh.
50119         * tests/init.sh: Fix redirection of stderr.
50121 2010-05-20  Simon Josefsson  <simon@josefsson.org>
50123         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
50125 2010-05-17  Simon Josefsson  <simon@josefsson.org>
50127         * modules/valgrind-tests: New file.
50128         * m4/valgrind-tests.m4: New file.
50129         * doc/valgrind-tests.texi: New file.
50130         * doc/gnulib.texi (Running self-tests under valgrind): New
50131         section.
50133 2010-05-19  Bruno Haible  <bruno@clisp.org>
50135         Clean up dead code in recent commit.
50136         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
50137         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
50138         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
50139         Suggested by Paolo Bonzini.
50141 2010-05-19  Bruno Haible  <bruno@clisp.org>
50143         Avoid valgrind error reports from libunistring.
50144         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
50145         * modules/libunistring (Files): Add it.
50146         * modules/libunistring-optional (Files): Likewise.
50148 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
50149             Bruno Haible  <bruno@clisp.org>
50151         New module 'libunistring-optional'.
50152         * modules/libunistring-optional: New file.
50153         * m4/libunistring-base.m4: New file.
50154         * m4/libunistring-optional.m4: New file.
50155         * lib/unicase.in.h: Renamed from lib/unicase.h.
50156         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
50157         * lib/unictype.in.h: Renamed from lib/unictype.h.
50158         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
50159         * lib/uniname.in.h: Renamed from lib/uniname.h.
50160         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
50161         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
50162         * lib/unistr.in.h: Renamed from lib/unistr.h.
50163         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
50164         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
50165         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
50166         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
50167         gl_LIBUNISTRING. If the library was found, determine the installed
50168         version and set LIBUNISTRING_VERSION.
50169         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
50170         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
50171         handle a configuration option --with-included-libunistring.
50172         * modules/libunistring (Files): Add m4/absolute-header.m4.
50173         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
50174         Add m4/libunistring-base.m4.
50175         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50176         (Makefile.am): Build unicase.h from unicase.in.h.
50177         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
50178         Add m4/libunistring-base.m4.
50179         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50180         (Makefile.am): Build uniconv.h from uniconv.in.h.
50181         * modules/unictype/base (Files): Use unictype.in.h instead of
50182         unictype.h. Add m4/libunistring-base.m4.
50183         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50184         (Makefile.am): Build unictype.h from unictype.in.h.
50185         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
50186         Add m4/libunistring-base.m4.
50187         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50188         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
50189         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
50190         Add m4/libunistring-base.m4.
50191         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50192         (Makefile.am): Build uniname.h from uniname.in.h.
50193         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
50194         Add m4/libunistring-base.m4.
50195         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50196         (Makefile.am): Build uninorm.h from uninorm.in.h.
50197         * modules/unistdio/base (Files): Use unistdio.in.h instead of
50198         unistdio.h. Add m4/libunistring-base.m4.
50199         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50200         (Makefile.am): Build unistdio.h from unistdio.in.h.
50201         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
50202         Add m4/libunistring-base.m4.
50203         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50204         (Makefile.am): Build unistr.h from unistr.in.h.
50205         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
50206         Add m4/libunistring-base.m4.
50207         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50208         (Makefile.am): Build unitypes.h from unitypes.in.h.
50209         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
50210         Add m4/libunistring-base.m4.
50211         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50212         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
50213         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
50214         uniwidth.h. Add m4/libunistring-base.m4.
50215         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50216         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
50217         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
50218         instead of augmenting lib_SOURCES.
50219         * modules/unicase/empty-suffix-context: Likewise.
50220         * modules/unicase/locale-language: Likewise.
50221         * modules/unicase/tolower: Likewise.
50222         * modules/unicase/totitle: Likewise.
50223         * modules/unicase/toupper: Likewise.
50224         * modules/unicase/u8-casecmp: Likewise.
50225         * modules/unicase/u8-casecoll: Likewise.
50226         * modules/unicase/u8-casefold: Likewise.
50227         * modules/unicase/u8-casexfrm: Likewise.
50228         * modules/unicase/u8-ct-casefold: Likewise.
50229         * modules/unicase/u8-ct-tolower: Likewise.
50230         * modules/unicase/u8-ct-totitle: Likewise.
50231         * modules/unicase/u8-ct-toupper: Likewise.
50232         * modules/unicase/u8-is-cased: Likewise.
50233         * modules/unicase/u8-is-casefolded: Likewise.
50234         * modules/unicase/u8-is-lowercase: Likewise.
50235         * modules/unicase/u8-is-titlecase: Likewise.
50236         * modules/unicase/u8-is-uppercase: Likewise.
50237         * modules/unicase/u8-prefix-context: Likewise.
50238         * modules/unicase/u8-suffix-context: Likewise.
50239         * modules/unicase/u8-tolower: Likewise.
50240         * modules/unicase/u8-totitle: Likewise.
50241         * modules/unicase/u8-toupper: Likewise.
50242         * modules/unicase/u16-casecmp: Likewise.
50243         * modules/unicase/u16-casecoll: Likewise.
50244         * modules/unicase/u16-casefold: Likewise.
50245         * modules/unicase/u16-casexfrm: Likewise.
50246         * modules/unicase/u16-ct-casefold: Likewise.
50247         * modules/unicase/u16-ct-tolower: Likewise.
50248         * modules/unicase/u16-ct-totitle: Likewise.
50249         * modules/unicase/u16-ct-toupper: Likewise.
50250         * modules/unicase/u16-is-cased: Likewise.
50251         * modules/unicase/u16-is-casefolded: Likewise.
50252         * modules/unicase/u16-is-lowercase: Likewise.
50253         * modules/unicase/u16-is-titlecase: Likewise.
50254         * modules/unicase/u16-is-uppercase: Likewise.
50255         * modules/unicase/u16-prefix-context: Likewise.
50256         * modules/unicase/u16-suffix-context: Likewise.
50257         * modules/unicase/u16-tolower: Likewise.
50258         * modules/unicase/u16-totitle: Likewise.
50259         * modules/unicase/u16-toupper: Likewise.
50260         * modules/unicase/u32-casecmp: Likewise.
50261         * modules/unicase/u32-casecoll: Likewise.
50262         * modules/unicase/u32-casefold: Likewise.
50263         * modules/unicase/u32-casexfrm: Likewise.
50264         * modules/unicase/u32-ct-casefold: Likewise.
50265         * modules/unicase/u32-ct-tolower: Likewise.
50266         * modules/unicase/u32-ct-totitle: Likewise.
50267         * modules/unicase/u32-ct-toupper: Likewise.
50268         * modules/unicase/u32-is-cased: Likewise.
50269         * modules/unicase/u32-is-casefolded: Likewise.
50270         * modules/unicase/u32-is-lowercase: Likewise.
50271         * modules/unicase/u32-is-titlecase: Likewise.
50272         * modules/unicase/u32-is-uppercase: Likewise.
50273         * modules/unicase/u32-prefix-context: Likewise.
50274         * modules/unicase/u32-suffix-context: Likewise.
50275         * modules/unicase/u32-tolower: Likewise.
50276         * modules/unicase/u32-totitle: Likewise.
50277         * modules/unicase/u32-toupper: Likewise.
50278         * modules/unicase/ulc-casecmp: Likewise.
50279         * modules/unicase/ulc-casecoll: Likewise.
50280         * modules/unicase/ulc-casexfrm: Likewise.
50281         * modules/uniconv/u8-conv-from-enc: Likewise.
50282         * modules/uniconv/u8-conv-to-enc: Likewise.
50283         * modules/uniconv/u8-strconv-from-enc: Likewise.
50284         * modules/uniconv/u8-strconv-from-locale: Likewise.
50285         * modules/uniconv/u8-strconv-to-enc: Likewise.
50286         * modules/uniconv/u8-strconv-to-locale: Likewise.
50287         * modules/uniconv/u16-conv-from-enc: Likewise.
50288         * modules/uniconv/u16-conv-to-enc: Likewise.
50289         * modules/uniconv/u16-strconv-from-enc: Likewise.
50290         * modules/uniconv/u16-strconv-from-locale: Likewise.
50291         * modules/uniconv/u16-strconv-to-enc: Likewise.
50292         * modules/uniconv/u16-strconv-to-locale: Likewise.
50293         * modules/uniconv/u32-conv-from-enc: Likewise.
50294         * modules/uniconv/u32-conv-to-enc: Likewise.
50295         * modules/uniconv/u32-strconv-from-enc: Likewise.
50296         * modules/uniconv/u32-strconv-from-locale: Likewise.
50297         * modules/uniconv/u32-strconv-to-enc: Likewise.
50298         * modules/uniconv/u32-strconv-to-locale: Likewise.
50299         * modules/unictype/bidicategory-byname: Likewise.
50300         * modules/unictype/bidicategory-name: Likewise.
50301         * modules/unictype/bidicategory-of: Likewise.
50302         * modules/unictype/bidicategory-test: Likewise.
50303         * modules/unictype/block-list: Likewise.
50304         * modules/unictype/block-test: Likewise.
50305         * modules/unictype/category-C: Likewise.
50306         * modules/unictype/category-Cc: Likewise.
50307         * modules/unictype/category-Cf: Likewise.
50308         * modules/unictype/category-Cn: Likewise.
50309         * modules/unictype/category-Co: Likewise.
50310         * modules/unictype/category-Cs: Likewise.
50311         * modules/unictype/category-L: Likewise.
50312         * modules/unictype/category-Ll: Likewise.
50313         * modules/unictype/category-Lm: Likewise.
50314         * modules/unictype/category-Lo: Likewise.
50315         * modules/unictype/category-Lt: Likewise.
50316         * modules/unictype/category-Lu: Likewise.
50317         * modules/unictype/category-M: Likewise.
50318         * modules/unictype/category-Mc: Likewise.
50319         * modules/unictype/category-Me: Likewise.
50320         * modules/unictype/category-Mn: Likewise.
50321         * modules/unictype/category-N: Likewise.
50322         * modules/unictype/category-Nd: Likewise.
50323         * modules/unictype/category-Nl: Likewise.
50324         * modules/unictype/category-No: Likewise.
50325         * modules/unictype/category-P: Likewise.
50326         * modules/unictype/category-Pc: Likewise.
50327         * modules/unictype/category-Pd: Likewise.
50328         * modules/unictype/category-Pe: Likewise.
50329         * modules/unictype/category-Pf: Likewise.
50330         * modules/unictype/category-Pi: Likewise.
50331         * modules/unictype/category-Po: Likewise.
50332         * modules/unictype/category-Ps: Likewise.
50333         * modules/unictype/category-S: Likewise.
50334         * modules/unictype/category-Sc: Likewise.
50335         * modules/unictype/category-Sk: Likewise.
50336         * modules/unictype/category-Sm: Likewise.
50337         * modules/unictype/category-So: Likewise.
50338         * modules/unictype/category-Z: Likewise.
50339         * modules/unictype/category-Zl: Likewise.
50340         * modules/unictype/category-Zp: Likewise.
50341         * modules/unictype/category-Zs: Likewise.
50342         * modules/unictype/category-and: Likewise.
50343         * modules/unictype/category-and-not: Likewise.
50344         * modules/unictype/category-byname: Likewise.
50345         * modules/unictype/category-name: Likewise.
50346         * modules/unictype/category-none: Likewise.
50347         * modules/unictype/category-of: Likewise.
50348         * modules/unictype/category-or: Likewise.
50349         * modules/unictype/category-test: Likewise.
50350         * modules/unictype/combining-class: Likewise.
50351         * modules/unictype/ctype-alnum: Likewise.
50352         * modules/unictype/ctype-alpha: Likewise.
50353         * modules/unictype/ctype-blank: Likewise.
50354         * modules/unictype/ctype-cntrl: Likewise.
50355         * modules/unictype/ctype-digit: Likewise.
50356         * modules/unictype/ctype-graph: Likewise.
50357         * modules/unictype/ctype-lower: Likewise.
50358         * modules/unictype/ctype-print: Likewise.
50359         * modules/unictype/ctype-punct: Likewise.
50360         * modules/unictype/ctype-space: Likewise.
50361         * modules/unictype/ctype-upper: Likewise.
50362         * modules/unictype/ctype-xdigit: Likewise.
50363         * modules/unictype/decimal-digit: Likewise.
50364         * modules/unictype/digit: Likewise.
50365         * modules/unictype/mirror: Likewise.
50366         * modules/unictype/numeric: Likewise.
50367         * modules/unictype/property-alphabetic: Likewise.
50368         * modules/unictype/property-ascii-hex-digit: Likewise.
50369         * modules/unictype/property-bidi-arabic-digit: Likewise.
50370         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
50371         * modules/unictype/property-bidi-block-separator: Likewise.
50372         * modules/unictype/property-bidi-boundary-neutral: Likewise.
50373         * modules/unictype/property-bidi-common-separator: Likewise.
50374         * modules/unictype/property-bidi-control: Likewise.
50375         * modules/unictype/property-bidi-embedding-or-override: Likewise.
50376         * modules/unictype/property-bidi-eur-num-separator: Likewise.
50377         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
50378         * modules/unictype/property-bidi-european-digit: Likewise.
50379         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
50380         * modules/unictype/property-bidi-left-to-right: Likewise.
50381         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
50382         * modules/unictype/property-bidi-other-neutral: Likewise.
50383         * modules/unictype/property-bidi-pdf: Likewise.
50384         * modules/unictype/property-bidi-segment-separator: Likewise.
50385         * modules/unictype/property-bidi-whitespace: Likewise.
50386         * modules/unictype/property-byname: Likewise.
50387         * modules/unictype/property-combining: Likewise.
50388         * modules/unictype/property-composite: Likewise.
50389         * modules/unictype/property-currency-symbol: Likewise.
50390         * modules/unictype/property-dash: Likewise.
50391         * modules/unictype/property-decimal-digit: Likewise.
50392         * modules/unictype/property-default-ignorable-code-point: Likewise.
50393         * modules/unictype/property-deprecated: Likewise.
50394         * modules/unictype/property-diacritic: Likewise.
50395         * modules/unictype/property-extender: Likewise.
50396         * modules/unictype/property-format-control: Likewise.
50397         * modules/unictype/property-grapheme-base: Likewise.
50398         * modules/unictype/property-grapheme-extend: Likewise.
50399         * modules/unictype/property-grapheme-link: Likewise.
50400         * modules/unictype/property-hex-digit: Likewise.
50401         * modules/unictype/property-hyphen: Likewise.
50402         * modules/unictype/property-id-continue: Likewise.
50403         * modules/unictype/property-id-start: Likewise.
50404         * modules/unictype/property-ideographic: Likewise.
50405         * modules/unictype/property-ids-binary-operator: Likewise.
50406         * modules/unictype/property-ids-trinary-operator: Likewise.
50407         * modules/unictype/property-ignorable-control: Likewise.
50408         * modules/unictype/property-iso-control: Likewise.
50409         * modules/unictype/property-join-control: Likewise.
50410         * modules/unictype/property-left-of-pair: Likewise.
50411         * modules/unictype/property-line-separator: Likewise.
50412         * modules/unictype/property-logical-order-exception: Likewise.
50413         * modules/unictype/property-lowercase: Likewise.
50414         * modules/unictype/property-math: Likewise.
50415         * modules/unictype/property-non-break: Likewise.
50416         * modules/unictype/property-not-a-character: Likewise.
50417         * modules/unictype/property-numeric: Likewise.
50418         * modules/unictype/property-other-alphabetic: Likewise.
50419         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
50420         * modules/unictype/property-other-grapheme-extend: Likewise.
50421         * modules/unictype/property-other-id-continue: Likewise.
50422         * modules/unictype/property-other-id-start: Likewise.
50423         * modules/unictype/property-other-lowercase: Likewise.
50424         * modules/unictype/property-other-math: Likewise.
50425         * modules/unictype/property-other-uppercase: Likewise.
50426         * modules/unictype/property-paired-punctuation: Likewise.
50427         * modules/unictype/property-paragraph-separator: Likewise.
50428         * modules/unictype/property-pattern-syntax: Likewise.
50429         * modules/unictype/property-pattern-white-space: Likewise.
50430         * modules/unictype/property-private-use: Likewise.
50431         * modules/unictype/property-punctuation: Likewise.
50432         * modules/unictype/property-quotation-mark: Likewise.
50433         * modules/unictype/property-radical: Likewise.
50434         * modules/unictype/property-sentence-terminal: Likewise.
50435         * modules/unictype/property-soft-dotted: Likewise.
50436         * modules/unictype/property-space: Likewise.
50437         * modules/unictype/property-terminal-punctuation: Likewise.
50438         * modules/unictype/property-test: Likewise.
50439         * modules/unictype/property-titlecase: Likewise.
50440         * modules/unictype/property-unassigned-code-value: Likewise.
50441         * modules/unictype/property-unified-ideograph: Likewise.
50442         * modules/unictype/property-uppercase: Likewise.
50443         * modules/unictype/property-variation-selector: Likewise.
50444         * modules/unictype/property-white-space: Likewise.
50445         * modules/unictype/property-xid-continue: Likewise.
50446         * modules/unictype/property-xid-start: Likewise.
50447         * modules/unictype/property-zero-width: Likewise.
50448         * modules/unictype/scripts: Likewise.
50449         * modules/unictype/syntax-c-ident: Likewise.
50450         * modules/unictype/syntax-c-whitespace: Likewise.
50451         * modules/unictype/syntax-java-ident: Likewise.
50452         * modules/unictype/syntax-java-whitespace: Likewise.
50453         * modules/unilbrk/u8-possible-linebreaks: Likewise.
50454         * modules/unilbrk/u8-width-linebreaks: Likewise.
50455         * modules/unilbrk/u16-possible-linebreaks: Likewise.
50456         * modules/unilbrk/u16-width-linebreaks: Likewise.
50457         * modules/unilbrk/u32-possible-linebreaks: Likewise.
50458         * modules/unilbrk/u32-width-linebreaks: Likewise.
50459         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
50460         * modules/unilbrk/ulc-width-linebreaks: Likewise.
50461         * modules/uniname/uniname: Likewise.
50462         * modules/uninorm/canonical-decomposition: Likewise.
50463         * modules/uninorm/composition: Likewise.
50464         * modules/uninorm/decomposing-form: Likewise.
50465         * modules/uninorm/decomposition: Likewise.
50466         * modules/uninorm/filter: Likewise.
50467         * modules/uninorm/nfc: Likewise.
50468         * modules/uninorm/nfd: Likewise.
50469         * modules/uninorm/nfkc: Likewise.
50470         * modules/uninorm/nfkd: Likewise.
50471         * modules/uninorm/u8-normalize: Likewise.
50472         * modules/uninorm/u8-normcmp: Likewise.
50473         * modules/uninorm/u8-normcoll: Likewise.
50474         * modules/uninorm/u8-normxfrm: Likewise.
50475         * modules/uninorm/u16-normalize: Likewise.
50476         * modules/uninorm/u16-normcmp: Likewise.
50477         * modules/uninorm/u16-normcoll: Likewise.
50478         * modules/uninorm/u16-normxfrm: Likewise.
50479         * modules/uninorm/u32-normalize: Likewise.
50480         * modules/uninorm/u32-normcmp: Likewise.
50481         * modules/uninorm/u32-normcoll: Likewise.
50482         * modules/uninorm/u32-normxfrm: Likewise.
50483         * modules/unistdio/u8-asnprintf: Likewise.
50484         * modules/unistdio/u8-asprintf: Likewise.
50485         * modules/unistdio/u8-snprintf: Likewise.
50486         * modules/unistdio/u8-sprintf: Likewise.
50487         * modules/unistdio/u8-u8-asnprintf: Likewise.
50488         * modules/unistdio/u8-u8-asprintf: Likewise.
50489         * modules/unistdio/u8-u8-snprintf: Likewise.
50490         * modules/unistdio/u8-u8-sprintf: Likewise.
50491         * modules/unistdio/u8-u8-vasnprintf: Likewise.
50492         * modules/unistdio/u8-u8-vasprintf: Likewise.
50493         * modules/unistdio/u8-u8-vsnprintf: Likewise.
50494         * modules/unistdio/u8-u8-vsprintf: Likewise.
50495         * modules/unistdio/u8-vasnprintf: Likewise.
50496         * modules/unistdio/u8-vasprintf: Likewise.
50497         * modules/unistdio/u8-vsnprintf: Likewise.
50498         * modules/unistdio/u8-vsprintf: Likewise.
50499         * modules/unistdio/u16-asnprintf: Likewise.
50500         * modules/unistdio/u16-asprintf: Likewise.
50501         * modules/unistdio/u16-snprintf: Likewise.
50502         * modules/unistdio/u16-sprintf: Likewise.
50503         * modules/unistdio/u16-u16-asnprintf: Likewise.
50504         * modules/unistdio/u16-u16-asprintf: Likewise.
50505         * modules/unistdio/u16-u16-snprintf: Likewise.
50506         * modules/unistdio/u16-u16-sprintf: Likewise.
50507         * modules/unistdio/u16-u16-vasnprintf: Likewise.
50508         * modules/unistdio/u16-u16-vasprintf: Likewise.
50509         * modules/unistdio/u16-u16-vsnprintf: Likewise.
50510         * modules/unistdio/u16-u16-vsprintf: Likewise.
50511         * modules/unistdio/u16-vasnprintf: Likewise.
50512         * modules/unistdio/u16-vasprintf: Likewise.
50513         * modules/unistdio/u16-vsnprintf: Likewise.
50514         * modules/unistdio/u16-vsprintf: Likewise.
50515         * modules/unistdio/u32-asnprintf: Likewise.
50516         * modules/unistdio/u32-asprintf: Likewise.
50517         * modules/unistdio/u32-snprintf: Likewise.
50518         * modules/unistdio/u32-sprintf: Likewise.
50519         * modules/unistdio/u32-u32-asnprintf: Likewise.
50520         * modules/unistdio/u32-u32-asprintf: Likewise.
50521         * modules/unistdio/u32-u32-snprintf: Likewise.
50522         * modules/unistdio/u32-u32-sprintf: Likewise.
50523         * modules/unistdio/u32-u32-vasnprintf: Likewise.
50524         * modules/unistdio/u32-u32-vasprintf: Likewise.
50525         * modules/unistdio/u32-u32-vsnprintf: Likewise.
50526         * modules/unistdio/u32-u32-vsprintf: Likewise.
50527         * modules/unistdio/u32-vasnprintf: Likewise.
50528         * modules/unistdio/u32-vasprintf: Likewise.
50529         * modules/unistdio/u32-vsnprintf: Likewise.
50530         * modules/unistdio/u32-vsprintf: Likewise.
50531         * modules/unistdio/ulc-asnprintf: Likewise.
50532         * modules/unistdio/ulc-asprintf: Likewise.
50533         * modules/unistdio/ulc-fprintf: Likewise.
50534         * modules/unistdio/ulc-snprintf: Likewise.
50535         * modules/unistdio/ulc-sprintf: Likewise.
50536         * modules/unistdio/ulc-vasnprintf: Likewise.
50537         * modules/unistdio/ulc-vasprintf: Likewise.
50538         * modules/unistdio/ulc-vfprintf: Likewise.
50539         * modules/unistdio/ulc-vsnprintf: Likewise.
50540         * modules/unistdio/ulc-vsprintf: Likewise.
50541         * modules/unistr/u8-check: Likewise.
50542         * modules/unistr/u8-chr: Likewise.
50543         * modules/unistr/u8-cmp: Likewise.
50544         * modules/unistr/u8-cmp2: Likewise.
50545         * modules/unistr/u8-cpy: Likewise.
50546         * modules/unistr/u8-cpy-alloc: Likewise.
50547         * modules/unistr/u8-endswith: Likewise.
50548         * modules/unistr/u8-mblen: Likewise.
50549         * modules/unistr/u8-mbsnlen: Likewise.
50550         * modules/unistr/u8-mbtouc: Likewise.
50551         * modules/unistr/u8-mbtouc-unsafe: Likewise.
50552         * modules/unistr/u8-mbtoucr: Likewise.
50553         * modules/unistr/u8-move: Likewise.
50554         * modules/unistr/u8-next: Likewise.
50555         * modules/unistr/u8-prev: Likewise.
50556         * modules/unistr/u8-set: Likewise.
50557         * modules/unistr/u8-startswith: Likewise.
50558         * modules/unistr/u8-stpcpy: Likewise.
50559         * modules/unistr/u8-stpncpy: Likewise.
50560         * modules/unistr/u8-strcat: Likewise.
50561         * modules/unistr/u8-strchr: Likewise.
50562         * modules/unistr/u8-strcmp: Likewise.
50563         * modules/unistr/u8-strcoll: Likewise.
50564         * modules/unistr/u8-strcpy: Likewise.
50565         * modules/unistr/u8-strcspn: Likewise.
50566         * modules/unistr/u8-strdup: Likewise.
50567         * modules/unistr/u8-strlen: Likewise.
50568         * modules/unistr/u8-strmblen: Likewise.
50569         * modules/unistr/u8-strmbtouc: Likewise.
50570         * modules/unistr/u8-strncat: Likewise.
50571         * modules/unistr/u8-strncmp: Likewise.
50572         * modules/unistr/u8-strncpy: Likewise.
50573         * modules/unistr/u8-strnlen: Likewise.
50574         * modules/unistr/u8-strpbrk: Likewise.
50575         * modules/unistr/u8-strrchr: Likewise.
50576         * modules/unistr/u8-strspn: Likewise.
50577         * modules/unistr/u8-strstr: Likewise.
50578         * modules/unistr/u8-strtok: Likewise.
50579         * modules/unistr/u8-to-u16: Likewise.
50580         * modules/unistr/u8-to-u32: Likewise.
50581         * modules/unistr/u8-uctomb: Likewise.
50582         * modules/unistr/u16-check: Likewise.
50583         * modules/unistr/u16-chr: Likewise.
50584         * modules/unistr/u16-cmp: Likewise.
50585         * modules/unistr/u16-cmp2: Likewise.
50586         * modules/unistr/u16-cpy: Likewise.
50587         * modules/unistr/u16-cpy-alloc: Likewise.
50588         * modules/unistr/u16-endswith: Likewise.
50589         * modules/unistr/u16-mblen: Likewise.
50590         * modules/unistr/u16-mbsnlen: Likewise.
50591         * modules/unistr/u16-mbtouc: Likewise.
50592         * modules/unistr/u16-mbtouc-unsafe: Likewise.
50593         * modules/unistr/u16-mbtoucr: Likewise.
50594         * modules/unistr/u16-move: Likewise.
50595         * modules/unistr/u16-next: Likewise.
50596         * modules/unistr/u16-prev: Likewise.
50597         * modules/unistr/u16-set: Likewise.
50598         * modules/unistr/u16-startswith: Likewise.
50599         * modules/unistr/u16-stpcpy: Likewise.
50600         * modules/unistr/u16-stpncpy: Likewise.
50601         * modules/unistr/u16-strcat: Likewise.
50602         * modules/unistr/u16-strchr: Likewise.
50603         * modules/unistr/u16-strcmp: Likewise.
50604         * modules/unistr/u16-strcoll: Likewise.
50605         * modules/unistr/u16-strcpy: Likewise.
50606         * modules/unistr/u16-strcspn: Likewise.
50607         * modules/unistr/u16-strdup: Likewise.
50608         * modules/unistr/u16-strlen: Likewise.
50609         * modules/unistr/u16-strmblen: Likewise.
50610         * modules/unistr/u16-strmbtouc: Likewise.
50611         * modules/unistr/u16-strncat: Likewise.
50612         * modules/unistr/u16-strncmp: Likewise.
50613         * modules/unistr/u16-strncpy: Likewise.
50614         * modules/unistr/u16-strnlen: Likewise.
50615         * modules/unistr/u16-strpbrk: Likewise.
50616         * modules/unistr/u16-strrchr: Likewise.
50617         * modules/unistr/u16-strspn: Likewise.
50618         * modules/unistr/u16-strstr: Likewise.
50619         * modules/unistr/u16-strtok: Likewise.
50620         * modules/unistr/u16-to-u32: Likewise.
50621         * modules/unistr/u16-to-u8: Likewise.
50622         * modules/unistr/u16-uctomb: Likewise.
50623         * modules/unistr/u32-check: Likewise.
50624         * modules/unistr/u32-chr: Likewise.
50625         * modules/unistr/u32-cmp: Likewise.
50626         * modules/unistr/u32-cmp2: Likewise.
50627         * modules/unistr/u32-cpy: Likewise.
50628         * modules/unistr/u32-cpy-alloc: Likewise.
50629         * modules/unistr/u32-endswith: Likewise.
50630         * modules/unistr/u32-mblen: Likewise.
50631         * modules/unistr/u32-mbsnlen: Likewise.
50632         * modules/unistr/u32-mbtouc: Likewise.
50633         * modules/unistr/u32-mbtouc-unsafe: Likewise.
50634         * modules/unistr/u32-mbtoucr: Likewise.
50635         * modules/unistr/u32-move: Likewise.
50636         * modules/unistr/u32-next: Likewise.
50637         * modules/unistr/u32-prev: Likewise.
50638         * modules/unistr/u32-set: Likewise.
50639         * modules/unistr/u32-startswith: Likewise.
50640         * modules/unistr/u32-stpcpy: Likewise.
50641         * modules/unistr/u32-stpncpy: Likewise.
50642         * modules/unistr/u32-strcat: Likewise.
50643         * modules/unistr/u32-strchr: Likewise.
50644         * modules/unistr/u32-strcmp: Likewise.
50645         * modules/unistr/u32-strcoll: Likewise.
50646         * modules/unistr/u32-strcpy: Likewise.
50647         * modules/unistr/u32-strcspn: Likewise.
50648         * modules/unistr/u32-strdup: Likewise.
50649         * modules/unistr/u32-strlen: Likewise.
50650         * modules/unistr/u32-strmblen: Likewise.
50651         * modules/unistr/u32-strmbtouc: Likewise.
50652         * modules/unistr/u32-strncat: Likewise.
50653         * modules/unistr/u32-strncmp: Likewise.
50654         * modules/unistr/u32-strncpy: Likewise.
50655         * modules/unistr/u32-strnlen: Likewise.
50656         * modules/unistr/u32-strpbrk: Likewise.
50657         * modules/unistr/u32-strrchr: Likewise.
50658         * modules/unistr/u32-strspn: Likewise.
50659         * modules/unistr/u32-strstr: Likewise.
50660         * modules/unistr/u32-strtok: Likewise.
50661         * modules/unistr/u32-to-u16: Likewise.
50662         * modules/unistr/u32-to-u8: Likewise.
50663         * modules/unistr/u32-uctomb: Likewise.
50664         * modules/uniwbrk/u8-wordbreaks: Likewise.
50665         * modules/uniwbrk/u16-wordbreaks: Likewise.
50666         * modules/uniwbrk/u32-wordbreaks: Likewise.
50667         * modules/uniwbrk/ulc-wordbreaks: Likewise.
50668         * modules/uniwbrk/wordbreak-property: Likewise.
50669         * modules/uniwidth/u8-strwidth: Likewise.
50670         * modules/uniwidth/u8-width: Likewise.
50671         * modules/uniwidth/u16-strwidth: Likewise.
50672         * modules/uniwidth/u16-width: Likewise.
50673         * modules/uniwidth/u32-strwidth: Likewise.
50674         * modules/uniwidth/u32-width: Likewise.
50675         * modules/uniwidth/width: Likewise.
50676         * modules/unicase/cased-tests (Makefile.am): Link all test programs
50677         with $(LIBUNISTRING).
50678         * modules/unicase/ignorable-tests: Likewise.
50679         * modules/unicase/locale-language-tests: Likewise.
50680         * modules/unicase/tolower-tests: Likewise.
50681         * modules/unicase/totitle-tests: Likewise.
50682         * modules/unicase/toupper-tests: Likewise.
50683         * modules/unicase/u8-casecmp-tests: Likewise.
50684         * modules/unicase/u8-casecoll-tests: Likewise.
50685         * modules/unicase/u8-casefold-tests: Likewise.
50686         * modules/unicase/u8-is-cased-tests: Likewise.
50687         * modules/unicase/u8-is-casefolded-tests: Likewise.
50688         * modules/unicase/u8-is-lowercase-tests: Likewise.
50689         * modules/unicase/u8-is-titlecase-tests: Likewise.
50690         * modules/unicase/u8-is-uppercase-tests: Likewise.
50691         * modules/unicase/u8-tolower-tests: Likewise.
50692         * modules/unicase/u8-totitle-tests: Likewise.
50693         * modules/unicase/u8-toupper-tests: Likewise.
50694         * modules/unicase/u16-casecmp-tests: Likewise.
50695         * modules/unicase/u16-casecoll-tests: Likewise.
50696         * modules/unicase/u16-casefold-tests: Likewise.
50697         * modules/unicase/u16-is-cased-tests: Likewise.
50698         * modules/unicase/u16-is-casefolded-tests: Likewise.
50699         * modules/unicase/u16-is-lowercase-tests: Likewise.
50700         * modules/unicase/u16-is-titlecase-tests: Likewise.
50701         * modules/unicase/u16-is-uppercase-tests: Likewise.
50702         * modules/unicase/u16-tolower-tests: Likewise.
50703         * modules/unicase/u16-totitle-tests: Likewise.
50704         * modules/unicase/u16-toupper-tests: Likewise.
50705         * modules/unicase/u32-casecmp-tests: Likewise.
50706         * modules/unicase/u32-casecoll-tests: Likewise.
50707         * modules/unicase/u32-casefold-tests: Likewise.
50708         * modules/unicase/u32-is-cased-tests: Likewise.
50709         * modules/unicase/u32-is-casefolded-tests: Likewise.
50710         * modules/unicase/u32-is-lowercase-tests: Likewise.
50711         * modules/unicase/u32-is-titlecase-tests: Likewise.
50712         * modules/unicase/u32-is-uppercase-tests: Likewise.
50713         * modules/unicase/u32-tolower-tests: Likewise.
50714         * modules/unicase/u32-totitle-tests: Likewise.
50715         * modules/unicase/u32-toupper-tests: Likewise.
50716         * modules/unicase/ulc-casecmp-tests: Likewise.
50717         * modules/unicase/ulc-casecoll-tests: Likewise.
50718         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
50719         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
50720         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
50721         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
50722         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
50723         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
50724         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
50725         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
50726         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
50727         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
50728         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
50729         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
50730         * modules/unictype/bidicategory-byname-tests: Likewise.
50731         * modules/unictype/bidicategory-name-tests: Likewise.
50732         * modules/unictype/bidicategory-of-tests: Likewise.
50733         * modules/unictype/bidicategory-test-tests: Likewise.
50734         * modules/unictype/block-list-tests: Likewise.
50735         * modules/unictype/block-of-tests: Likewise.
50736         * modules/unictype/block-test-tests: Likewise.
50737         * modules/unictype/category-C-tests: Likewise.
50738         * modules/unictype/category-Cc-tests: Likewise.
50739         * modules/unictype/category-Cf-tests: Likewise.
50740         * modules/unictype/category-Cn-tests: Likewise.
50741         * modules/unictype/category-Co-tests: Likewise.
50742         * modules/unictype/category-Cs-tests: Likewise.
50743         * modules/unictype/category-L-tests: Likewise.
50744         * modules/unictype/category-Ll-tests: Likewise.
50745         * modules/unictype/category-Lm-tests: Likewise.
50746         * modules/unictype/category-Lo-tests: Likewise.
50747         * modules/unictype/category-Lt-tests: Likewise.
50748         * modules/unictype/category-Lu-tests: Likewise.
50749         * modules/unictype/category-M-tests: Likewise.
50750         * modules/unictype/category-Mc-tests: Likewise.
50751         * modules/unictype/category-Me-tests: Likewise.
50752         * modules/unictype/category-Mn-tests: Likewise.
50753         * modules/unictype/category-N-tests: Likewise.
50754         * modules/unictype/category-Nd-tests: Likewise.
50755         * modules/unictype/category-Nl-tests: Likewise.
50756         * modules/unictype/category-No-tests: Likewise.
50757         * modules/unictype/category-P-tests: Likewise.
50758         * modules/unictype/category-Pc-tests: Likewise.
50759         * modules/unictype/category-Pd-tests: Likewise.
50760         * modules/unictype/category-Pe-tests: Likewise.
50761         * modules/unictype/category-Pf-tests: Likewise.
50762         * modules/unictype/category-Pi-tests: Likewise.
50763         * modules/unictype/category-Po-tests: Likewise.
50764         * modules/unictype/category-Ps-tests: Likewise.
50765         * modules/unictype/category-S-tests: Likewise.
50766         * modules/unictype/category-Sc-tests: Likewise.
50767         * modules/unictype/category-Sk-tests: Likewise.
50768         * modules/unictype/category-Sm-tests: Likewise.
50769         * modules/unictype/category-So-tests: Likewise.
50770         * modules/unictype/category-Z-tests: Likewise.
50771         * modules/unictype/category-Zl-tests: Likewise.
50772         * modules/unictype/category-Zp-tests: Likewise.
50773         * modules/unictype/category-Zs-tests: Likewise.
50774         * modules/unictype/category-and-not-tests: Likewise.
50775         * modules/unictype/category-and-tests: Likewise.
50776         * modules/unictype/category-byname-tests: Likewise.
50777         * modules/unictype/category-name-tests: Likewise.
50778         * modules/unictype/category-none-tests: Likewise.
50779         * modules/unictype/category-of-tests: Likewise.
50780         * modules/unictype/category-or-tests: Likewise.
50781         * modules/unictype/category-test-withtable-tests: Likewise.
50782         * modules/unictype/combining-class-tests: Likewise.
50783         * modules/unictype/ctype-alnum-tests: Likewise.
50784         * modules/unictype/ctype-alpha-tests: Likewise.
50785         * modules/unictype/ctype-blank-tests: Likewise.
50786         * modules/unictype/ctype-cntrl-tests: Likewise.
50787         * modules/unictype/ctype-digit-tests: Likewise.
50788         * modules/unictype/ctype-graph-tests: Likewise.
50789         * modules/unictype/ctype-lower-tests: Likewise.
50790         * modules/unictype/ctype-print-tests: Likewise.
50791         * modules/unictype/ctype-punct-tests: Likewise.
50792         * modules/unictype/ctype-space-tests: Likewise.
50793         * modules/unictype/ctype-upper-tests: Likewise.
50794         * modules/unictype/ctype-xdigit-tests: Likewise.
50795         * modules/unictype/decimal-digit-tests: Likewise.
50796         * modules/unictype/digit-tests: Likewise.
50797         * modules/unictype/mirror-tests: Likewise.
50798         * modules/unictype/numeric-tests: Likewise.
50799         * modules/unictype/property-alphabetic-tests: Likewise.
50800         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
50801         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
50802         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
50803         * modules/unictype/property-bidi-block-separator-tests: Likewise.
50804         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
50805         * modules/unictype/property-bidi-common-separator-tests: Likewise.
50806         * modules/unictype/property-bidi-control-tests: Likewise.
50807         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
50808         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
50809         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
50810         * modules/unictype/property-bidi-european-digit-tests: Likewise.
50811         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
50812         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
50813         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
50814         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
50815         * modules/unictype/property-bidi-pdf-tests: Likewise.
50816         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
50817         * modules/unictype/property-bidi-whitespace-tests: Likewise.
50818         * modules/unictype/property-byname-tests: Likewise.
50819         * modules/unictype/property-combining-tests: Likewise.
50820         * modules/unictype/property-composite-tests: Likewise.
50821         * modules/unictype/property-currency-symbol-tests: Likewise.
50822         * modules/unictype/property-dash-tests: Likewise.
50823         * modules/unictype/property-decimal-digit-tests: Likewise.
50824         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
50825         * modules/unictype/property-deprecated-tests: Likewise.
50826         * modules/unictype/property-diacritic-tests: Likewise.
50827         * modules/unictype/property-extender-tests: Likewise.
50828         * modules/unictype/property-format-control-tests: Likewise.
50829         * modules/unictype/property-grapheme-base-tests: Likewise.
50830         * modules/unictype/property-grapheme-extend-tests: Likewise.
50831         * modules/unictype/property-grapheme-link-tests: Likewise.
50832         * modules/unictype/property-hex-digit-tests: Likewise.
50833         * modules/unictype/property-hyphen-tests: Likewise.
50834         * modules/unictype/property-id-continue-tests: Likewise.
50835         * modules/unictype/property-id-start-tests: Likewise.
50836         * modules/unictype/property-ideographic-tests: Likewise.
50837         * modules/unictype/property-ids-binary-operator-tests: Likewise.
50838         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
50839         * modules/unictype/property-ignorable-control-tests: Likewise.
50840         * modules/unictype/property-iso-control-tests: Likewise.
50841         * modules/unictype/property-join-control-tests: Likewise.
50842         * modules/unictype/property-left-of-pair-tests: Likewise.
50843         * modules/unictype/property-line-separator-tests: Likewise.
50844         * modules/unictype/property-logical-order-exception-tests: Likewise.
50845         * modules/unictype/property-lowercase-tests: Likewise.
50846         * modules/unictype/property-math-tests: Likewise.
50847         * modules/unictype/property-non-break-tests: Likewise.
50848         * modules/unictype/property-not-a-character-tests: Likewise.
50849         * modules/unictype/property-numeric-tests: Likewise.
50850         * modules/unictype/property-other-alphabetic-tests: Likewise.
50851         * modules/unictype/property-other-default-ignorable-code-point-tests:
50852         Likewise.
50853         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
50854         * modules/unictype/property-other-id-continue-tests: Likewise.
50855         * modules/unictype/property-other-id-start-tests: Likewise.
50856         * modules/unictype/property-other-lowercase-tests: Likewise.
50857         * modules/unictype/property-other-math-tests: Likewise.
50858         * modules/unictype/property-other-uppercase-tests: Likewise.
50859         * modules/unictype/property-paired-punctuation-tests: Likewise.
50860         * modules/unictype/property-paragraph-separator-tests: Likewise.
50861         * modules/unictype/property-pattern-syntax-tests: Likewise.
50862         * modules/unictype/property-pattern-white-space-tests: Likewise.
50863         * modules/unictype/property-private-use-tests: Likewise.
50864         * modules/unictype/property-punctuation-tests: Likewise.
50865         * modules/unictype/property-quotation-mark-tests: Likewise.
50866         * modules/unictype/property-radical-tests: Likewise.
50867         * modules/unictype/property-sentence-terminal-tests: Likewise.
50868         * modules/unictype/property-soft-dotted-tests: Likewise.
50869         * modules/unictype/property-space-tests: Likewise.
50870         * modules/unictype/property-terminal-punctuation-tests: Likewise.
50871         * modules/unictype/property-test-tests: Likewise.
50872         * modules/unictype/property-titlecase-tests: Likewise.
50873         * modules/unictype/property-unassigned-code-value-tests: Likewise.
50874         * modules/unictype/property-unified-ideograph-tests: Likewise.
50875         * modules/unictype/property-uppercase-tests: Likewise.
50876         * modules/unictype/property-variation-selector-tests: Likewise.
50877         * modules/unictype/property-white-space-tests: Likewise.
50878         * modules/unictype/property-xid-continue-tests: Likewise.
50879         * modules/unictype/property-xid-start-tests: Likewise.
50880         * modules/unictype/property-zero-width-tests: Likewise.
50881         * modules/unictype/scripts-tests: Likewise.
50882         * modules/unictype/syntax-c-ident-tests: Likewise.
50883         * modules/unictype/syntax-c-whitespace-tests: Likewise.
50884         * modules/unictype/syntax-java-ident-tests: Likewise.
50885         * modules/unictype/syntax-java-whitespace-tests: Likewise.
50886         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
50887         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
50888         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
50889         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
50890         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
50891         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
50892         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
50893         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
50894         * modules/uniname/uniname-tests: Likewise.
50895         * modules/uninorm/canonical-decomposition-tests: Likewise.
50896         * modules/uninorm/compat-decomposition-tests: Likewise.
50897         * modules/uninorm/composition-tests: Likewise.
50898         * modules/uninorm/decomposing-form-tests: Likewise.
50899         * modules/uninorm/decomposition-tests: Likewise.
50900         * modules/uninorm/filter-tests: Likewise.
50901         * modules/uninorm/nfc-tests: Likewise.
50902         * modules/uninorm/nfd-tests: Likewise.
50903         * modules/uninorm/nfkc-tests: Likewise.
50904         * modules/uninorm/nfkd-tests: Likewise.
50905         * modules/uninorm/u8-normcmp-tests: Likewise.
50906         * modules/uninorm/u8-normcoll-tests: Likewise.
50907         * modules/uninorm/u16-normcmp-tests: Likewise.
50908         * modules/uninorm/u16-normcoll-tests: Likewise.
50909         * modules/uninorm/u32-normcmp-tests: Likewise.
50910         * modules/uninorm/u32-normcoll-tests: Likewise.
50911         * modules/unistdio/u8-asnprintf-tests: Likewise.
50912         * modules/unistdio/u8-vasnprintf-tests: Likewise.
50913         * modules/unistdio/u8-vasprintf-tests: Likewise.
50914         * modules/unistdio/u8-vsnprintf-tests: Likewise.
50915         * modules/unistdio/u8-vsprintf-tests: Likewise.
50916         * modules/unistdio/u16-asnprintf-tests: Likewise.
50917         * modules/unistdio/u16-vasnprintf-tests: Likewise.
50918         * modules/unistdio/u16-vasprintf-tests: Likewise.
50919         * modules/unistdio/u16-vsnprintf-tests: Likewise.
50920         * modules/unistdio/u16-vsprintf-tests: Likewise.
50921         * modules/unistdio/u32-asnprintf-tests: Likewise.
50922         * modules/unistdio/u32-vasnprintf-tests: Likewise.
50923         * modules/unistdio/u32-vasprintf-tests: Likewise.
50924         * modules/unistdio/u32-vsnprintf-tests: Likewise.
50925         * modules/unistdio/u32-vsprintf-tests: Likewise.
50926         * modules/unistdio/ulc-asnprintf-tests: Likewise.
50927         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
50928         * modules/unistdio/ulc-vasprintf-tests: Likewise.
50929         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
50930         * modules/unistdio/ulc-vsprintf-tests: Likewise.
50931         * modules/unistr/u8-check-tests: Likewise.
50932         * modules/unistr/u8-chr-tests: Likewise.
50933         * modules/unistr/u8-cmp-tests: Likewise.
50934         * modules/unistr/u8-cmp2-tests: Likewise.
50935         * modules/unistr/u8-cpy-alloc-tests: Likewise.
50936         * modules/unistr/u8-cpy-tests: Likewise.
50937         * modules/unistr/u8-mblen-tests: Likewise.
50938         * modules/unistr/u8-mbsnlen-tests: Likewise.
50939         * modules/unistr/u8-mbtouc-tests: Likewise.
50940         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
50941         * modules/unistr/u8-mbtoucr-tests: Likewise.
50942         * modules/unistr/u8-move-tests: Likewise.
50943         * modules/unistr/u8-next-tests: Likewise.
50944         * modules/unistr/u8-prev-tests: Likewise.
50945         * modules/unistr/u8-set-tests: Likewise.
50946         * modules/unistr/u8-stpcpy-tests: Likewise.
50947         * modules/unistr/u8-stpncpy-tests: Likewise.
50948         * modules/unistr/u8-strcat-tests: Likewise.
50949         * modules/unistr/u8-strcmp-tests: Likewise.
50950         * modules/unistr/u8-strcoll-tests: Likewise.
50951         * modules/unistr/u8-strcpy-tests: Likewise.
50952         * modules/unistr/u8-strdup-tests: Likewise.
50953         * modules/unistr/u8-strlen-tests: Likewise.
50954         * modules/unistr/u8-strmblen-tests: Likewise.
50955         * modules/unistr/u8-strmbtouc-tests: Likewise.
50956         * modules/unistr/u8-strncat-tests: Likewise.
50957         * modules/unistr/u8-strncmp-tests: Likewise.
50958         * modules/unistr/u8-strncpy-tests: Likewise.
50959         * modules/unistr/u8-strnlen-tests: Likewise.
50960         * modules/unistr/u8-to-u16-tests: Likewise.
50961         * modules/unistr/u8-to-u32-tests: Likewise.
50962         * modules/unistr/u8-uctomb-tests: Likewise.
50963         * modules/unistr/u16-check-tests: Likewise.
50964         * modules/unistr/u16-chr-tests: Likewise.
50965         * modules/unistr/u16-cmp-tests: Likewise.
50966         * modules/unistr/u16-cmp2-tests: Likewise.
50967         * modules/unistr/u16-cpy-alloc-tests: Likewise.
50968         * modules/unistr/u16-cpy-tests: Likewise.
50969         * modules/unistr/u16-mblen-tests: Likewise.
50970         * modules/unistr/u16-mbsnlen-tests: Likewise.
50971         * modules/unistr/u16-mbtouc-tests: Likewise.
50972         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
50973         * modules/unistr/u16-mbtoucr-tests: Likewise.
50974         * modules/unistr/u16-move-tests: Likewise.
50975         * modules/unistr/u16-next-tests: Likewise.
50976         * modules/unistr/u16-prev-tests: Likewise.
50977         * modules/unistr/u16-set-tests: Likewise.
50978         * modules/unistr/u16-stpcpy-tests: Likewise.
50979         * modules/unistr/u16-stpncpy-tests: Likewise.
50980         * modules/unistr/u16-strcat-tests: Likewise.
50981         * modules/unistr/u16-strcmp-tests: Likewise.
50982         * modules/unistr/u16-strcoll-tests: Likewise.
50983         * modules/unistr/u16-strcpy-tests: Likewise.
50984         * modules/unistr/u16-strdup-tests: Likewise.
50985         * modules/unistr/u16-strlen-tests: Likewise.
50986         * modules/unistr/u16-strmblen-tests: Likewise.
50987         * modules/unistr/u16-strmbtouc-tests: Likewise.
50988         * modules/unistr/u16-strncat-tests: Likewise.
50989         * modules/unistr/u16-strncmp-tests: Likewise.
50990         * modules/unistr/u16-strncpy-tests: Likewise.
50991         * modules/unistr/u16-strnlen-tests: Likewise.
50992         * modules/unistr/u16-to-u32-tests: Likewise.
50993         * modules/unistr/u16-to-u8-tests: Likewise.
50994         * modules/unistr/u16-uctomb-tests: Likewise.
50995         * modules/unistr/u32-check-tests: Likewise.
50996         * modules/unistr/u32-chr-tests: Likewise.
50997         * modules/unistr/u32-cmp-tests: Likewise.
50998         * modules/unistr/u32-cmp2-tests: Likewise.
50999         * modules/unistr/u32-cpy-alloc-tests: Likewise.
51000         * modules/unistr/u32-cpy-tests: Likewise.
51001         * modules/unistr/u32-mblen-tests: Likewise.
51002         * modules/unistr/u32-mbsnlen-tests: Likewise.
51003         * modules/unistr/u32-mbtouc-tests: Likewise.
51004         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
51005         * modules/unistr/u32-mbtoucr-tests: Likewise.
51006         * modules/unistr/u32-move-tests: Likewise.
51007         * modules/unistr/u32-next-tests: Likewise.
51008         * modules/unistr/u32-prev-tests: Likewise.
51009         * modules/unistr/u32-set-tests: Likewise.
51010         * modules/unistr/u32-stpcpy-tests: Likewise.
51011         * modules/unistr/u32-stpncpy-tests: Likewise.
51012         * modules/unistr/u32-strcat-tests: Likewise.
51013         * modules/unistr/u32-strcmp-tests: Likewise.
51014         * modules/unistr/u32-strcoll-tests: Likewise.
51015         * modules/unistr/u32-strcpy-tests: Likewise.
51016         * modules/unistr/u32-strdup-tests: Likewise.
51017         * modules/unistr/u32-strlen-tests: Likewise.
51018         * modules/unistr/u32-strmblen-tests: Likewise.
51019         * modules/unistr/u32-strmbtouc-tests: Likewise.
51020         * modules/unistr/u32-strncat-tests: Likewise.
51021         * modules/unistr/u32-strncmp-tests: Likewise.
51022         * modules/unistr/u32-strncpy-tests: Likewise.
51023         * modules/unistr/u32-strnlen-tests: Likewise.
51024         * modules/unistr/u32-to-u16-tests: Likewise.
51025         * modules/unistr/u32-to-u8-tests: Likewise.
51026         * modules/unistr/u32-uctomb-tests: Likewise.
51027         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
51028         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
51029         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
51030         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
51031         * modules/uniwidth/u8-strwidth-tests: Likewise.
51032         * modules/uniwidth/u8-width-tests: Likewise.
51033         * modules/uniwidth/u16-strwidth-tests: Likewise.
51034         * modules/uniwidth/u16-width-tests: Likewise.
51035         * modules/uniwidth/u32-strwidth-tests: Likewise.
51036         * modules/uniwidth/u32-width-tests: Likewise.
51037         * modules/uniwidth/width-tests: Likewise.
51039 2010-05-18  Richard Jones  <rjones@redhat.com>
51041         doc: users.txt: list hivex
51042         * users.txt: Add hivex.
51044 2010-05-18  Richard Jones  <rjones@redhat.com>
51046         doc: users.txt: list febootstrap
51047         * users.txt: Add febootstrap.
51049 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
51051         bootstrap: fix an error when gnulib is not used as a git submodule
51052         * build-aux/bootstrap (gnulib_path): If its length is zero then
51053         assign "gnulib" to it.
51054         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
51056 2010-05-16  Bruno Haible  <bruno@clisp.org>
51058         Avoid autoconf warnings about AM_ICONV.
51059         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
51060         2.64.
51062 2010-05-16  Bruno Haible  <bruno@clisp.org>
51064         absolute-header: Make the macro usable in more situations.
51065         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
51066         from gl_ABSOLUTE_HEADER.
51067         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
51069 2010-05-16  James Youngman  <jay@gnu.org>
51071         doc: update users.txt
51072         * users.txt: Add CSSC.
51074 2010-05-16  Jim Meyering  <meyering@redhat.com>
51076         init.sh: fix an error in the previous change; add more comments
51077         * tests/init.sh: Compare exit code in loop against 9, not 2.
51078         Patch by Bruno Haible.
51079         Make the two tests more similar by adding an empty "then" clause.
51080         Add comments.
51082         init.sh: avoid unnecessary shell re-exec
51083         * tests/init.sh: Improve the re-exec-required check to first test the
51084         current shell.  If it passes the test, do not search for a shell that
51085         does pass, and do not re-exec.  This test is particularly contorted to
51086         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
51087         of $(...) evokes a syntax error and causes immediate shell exit with
51088         status 2.  Bruno Haible reported that the re-exec made it impossible
51089         to single-step through any init.sh-using script.
51091 2010-05-16  Bruno Haible  <bruno@clisp.org>
51093         Fix collision between gnulib's and libintl's printf replacements.
51094         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
51095         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
51096         (printf): When using GNU C, map the __printf__ function to rpl_printf
51097         via __asm__. When not using GNU C, define rpl_printf instead of
51098         __printf__.
51099         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
51100         commit.
51101         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
51102         commit.
51103         * m4/asm-underscore.m4: New file.
51104         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
51105         * modules/stdio (Files): Add m4/asm-underscore.m4.
51106         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
51107         Reported by Ben Pfaff.
51109 2010-05-16  Bruno Haible  <bruno@clisp.org>
51111         verify: Avoid skipping the test on openSUSE 11.0.
51112         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
51114 2010-05-13  Bruno Haible  <bruno@clisp.org>
51116         Avoid useless warnings from G++.
51117         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
51118         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
51119         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
51121 2010-05-11  Jim Meyering  <meyering@redhat.com>
51123         maint.mk: tweak preceding change
51124         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
51125         regexps tighter by anchoring at EOL, and make the new group "shy"
51126         for slightly decreased overhead.
51128 2010-05-11  Eric Blake  <eblake@redhat.com>
51130         maint.mk: gnulib doesn't guarantee NSIG
51131         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
51133 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
51135         test-pwrite.c: Remove unused variable declaration.
51136         * tests/test-pwrite.c (main): Remove read_buf declaration.
51138         Remove useless test-pwrite.sh file.
51139         * tests/test-pwrite.sh: Delete file.
51140         * modules/pwrite-tests: Remove references.
51141         Reported by Bruno Haible.
51143 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
51145         init.sh: fix a typo
51146         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
51148 2010-05-10  Jim Meyering  <meyering@redhat.com>
51150         maint.mk: avoid using a temporary file in the always-defined-macros check
51151         * top/maint.mk (.re-defmac): Remove rule.
51152         (gl_trap_): Remove definition.
51153         (sc_prohibit_always-defined_macros): Rewrite not to create and
51154         depend on a temporary file.  Instead, depend on GNU grep's ability
51155         to read a list of regular expressions from stdin when given "-f -".
51157 2010-05-09  Bruno Haible  <bruno@clisp.org>
51159         Update to GNU gettext 0.18, part 1.
51160         * m4/gettext.m4: Update to GNU gettext 0.18.
51161         * m4/intl.m4: Likewise.
51162         * m4/po.m4: Likewise.
51163         * modules/gettext (Files): Add m4/fcntl-o.m4.
51164         (configure.ac): Require gettext infrastructure from version 0.18.
51166 2010-05-09  Jim Meyering  <meyering@redhat.com>
51168         init.sh: enable MALLOC_PERTURB_
51169         * tests/init.sh: Enable glibc's malloc-perturbing option.
51171         maint.mk: improve sc_cross_check_PATH_usage_in_tests
51172         With my recent change in init.sh from the two-line form:
51173             -#   : ${srcdir=.}
51174             -#   . "$srcdir/init.sh"; path_prepend_ .
51175             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
51176         I noticed that using the one-line form would cause this test
51177         to fail with a false-positive, or to stop working altogether,
51178         depending on whether help-version changed or all the tests did.
51179         * top/maint.mk (_hv_regex): Remove this definition.
51180         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
51181         (_hv_regex_strong): Use a stronger regex to check for conformance.
51182         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
51183         Give a separate diagnostic for lack of conforming use.
51185         maint.mk: prohibit definition of symbols defined by gnulib
51186         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
51187         definition of symbols defined by gnulib.
51189 2010-05-09  Bruno Haible  <bruno@clisp.org>
51191         acl: Avoid test failure on Cygwin-hosted mingw.
51192         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
51194 2010-05-09  Bruno Haible  <bruno@clisp.org>
51196         error: Use system's fcntl function.
51197         * lib/error.c (fcntl): Undefine.
51199 2010-05-09  Jim Meyering  <meyering@redhat.com>
51201         verify: adjust formatting to be more consistent
51202         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
51203         argument-list '('s, and after one comma.
51205 2010-05-09  Bruno Haible  <bruno@clisp.org>
51207         error: More reliable output on mingw.
51208         * lib/error.c: Include <windows.h>.
51209         (is_open): New function.
51210         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
51211         defined.
51213 2010-05-09  Bruno Haible  <bruno@clisp.org>
51215         vasnprintf: Fix syntax errors in libintl build on mingw.
51216         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
51217         pad_ourselves and prec_ourselves after use.
51219 2010-05-08  Bruno Haible  <bruno@clisp.org>
51221         * lib/config.charset: Update comments for Cygwin 1.7.
51222         * lib/localcharset.c: Likewise.
51224 2010-05-07  Jim Meyering  <meyering@redhat.com>
51226         init.sh: improve comments
51227         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
51228         . "${srcdir=.}/init.sh"; path_prepend_ .
51229         Add a note about path_prepend_ and the alternative of using
51230         TESTS_ENVIRONMENT.
51232 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
51234         exclude: Unescape hashed patterns in wildcard mode.
51235         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
51236         to the hash list.
51237         * tests/test-exclude8.sh: New test case.
51238         * modules/exclude-tests: Add new test.
51240 2010-05-05  Eric Blake  <eblake@redhat.com>
51242         verify: automate tests
51243         * modules/verify-tests: New module.
51244         * tests/test-verify.sh: New file.
51245         * tests/test-verify.c: Guard each negative test with a unique id.
51246         Also avoid warning about unused left hand of comma expressions.
51248 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
51250         Further improvements to verify.h, suggested by Eric Blake.
51251         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
51252         the GL_* versions, to avoid collision with OpenGL.
51253         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
51254         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
51255         than testing merely whether it's defined.
51257         Modify verify.h to pacify gcc -Wredundant_decls.
51258         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
51259         These use the prefix "GL_" since they're likely to be useful elsewhere.
51260         We may need to break them out into a different .h file.
51261         (__COUNTER__): Define to 0 if the compiler doesn't support it.
51262         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
51263         of verify_function__.
51265 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
51267         Tests for module pwrite.
51268         * modules/pwrite-tests: New file.
51269         * tests/test-pwrite.sh: New file.
51270         * tests/test-pwrite.c: New file.
51272         New module pwrite.
51273         * lib/unistd.in.h (pwrite): New declaration.
51274         * lib/pwrite.c: New file, from glibc with modifications.
51275         * m4/pwrite.m4: New file.
51276         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
51277         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
51278         REPLACE_PWRITE.
51279         * modules/pwrite: New file.
51280         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
51281         REPLACE_PWRITE.
51282         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
51283         * doc/posix-functions/pwrite.texi: Mention the new module.
51285 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
51287         pread: Update documentation.
51288         * doc/posix-functions/pread.texi: Mention the 'pread' module.
51290 2010-05-04  Eric Blake  <eblake@redhat.com>
51292         docs: update cygwin progress
51293         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
51294         this bug.
51295         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
51296         Added in cygwin 1.7.2.
51297         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
51298         Likewise.
51299         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
51300         Likewise.
51301         * doc/glibc-functions/dup3.texi (dup3): Likewise.
51302         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
51303         * doc/glibc-functions/accept4.texi (accept4): Likewise.
51304         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
51305         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
51306         Mention nproc module.
51307         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
51308         bug in cygwin 1.7.5 addition.
51309         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
51310         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
51311         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
51312         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
51313         1.7.5.
51314         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
51315         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
51316         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
51317         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
51318         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
51319         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
51320         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
51321         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
51322         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
51323         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
51324         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
51325         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
51326         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
51327         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
51328         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
51329         Likewise.
51330         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
51331         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
51332         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
51333         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
51334         Likewise.
51335         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
51336         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
51337         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
51338         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
51339         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
51340         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
51341         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
51342         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
51343         Likewise.
51344         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
51345         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
51346         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
51347         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
51348         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
51349         Likewise.
51350         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
51351         Likewise.
51352         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
51353         Likewise.
51354         * doc/glibc-functions/xdrrec_endofrecord.texi
51355         (xdrrec_endofrecord): Likewise.
51356         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
51357         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
51358         Likewise.
51359         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
51360         Likewise.
51362 2010-05-04  Jim Meyering  <meyering@redhat.com>
51364         gendocs.sh: make its "-s FILE" option more useful
51365         * build-aux/gendocs.sh: When honoring the -s FILE option, update
51366         $PACKAGE to reflect the probably-different basename of "FILE".
51368 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
51370         bootstrap: don't ignore download_po_files failure
51371         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
51372         failure.
51374 2010-05-03  Jim Meyering  <meyering@redhat.com>
51376         maint.mk: allow to pass options to gendocs.sh
51377         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
51378         (gendocs_options_): New overridable variable.
51380         gnu-web-doc-update: don't ignore configure or build failure
51381         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
51383         announce-gen: backslash-escape '@'s in --help output
51384         * build-aux/announce-gen: Fix syntax errors.
51386         maint.mk, announce-gen: allow project-specific announcement mail headers
51387         * top/maint.mk (translation_project_): Define default.
51388         (announcement_Cc_, announcement_mail_headers_): Likewise.
51389         (announcement): Invoke announce-gen with new --mail-headers option.
51390         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
51392         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
51393         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
51394         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
51395         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
51396         line in the "err2" output file when running "make check" in verbose
51397         mode (i.e., with set -x enabled).
51399 2010-05-03  Bruno Haible  <bruno@clisp.org>
51401         wctob: Fix for weird platforms.
51402         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
51403         argument value.
51405 2010-05-03  Jim Meyering  <meyering@redhat.com>
51407         maint.mk: prohibit unwarranted use of <strings.h>
51408         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
51409         strings.h in a file that does not also use strcasecmp, strncasecmp,
51410         ffs or ffsll.
51412         maint.mk: remove obsolete comments
51413         * top/maint.mk: Remove stale, commented-out rules.
51415 2010-05-02  Bruno Haible  <bruno@clisp.org>
51417         wcwidth: Declare also when it's aliased.
51418         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
51419         macro.
51421 2010-05-02  Bruno Haible  <bruno@clisp.org>
51423         Fix regression from 2010-04-25.
51424         * gnulib-tool (func_modules_transitive_closure): Check the status of
51425         all modules, not only of the tests that are of the form foo-tests where
51426         foo is a module.
51428 2010-05-02  Bruno Haible  <bruno@clisp.org>
51430         wctob: Work around nasty Cygwin 1.7.2 bug.
51431         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
51432         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
51434 2010-05-01  Bruno Haible  <bruno@clisp.org>
51436         fpurge: Sharper test.
51437         * tests/test-fpurge.c (main): Add one more ftell check.
51438         * modules/fpurge-tests (Depends-on): Add ftell.
51439         Suggested by Eric Blake.
51441 2010-05-01  Bruno Haible  <bruno@clisp.org>
51443         ftello: Another test.
51444         * tests/test-ftello3.c: New file.
51445         * modules/ftello-tests (Files): Add it.
51446         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
51447         MOSTLYCLEANFILES.
51449         ftell: Another test.
51450         * tests/test-ftell3.c: New file.
51451         * modules/ftell-tests (Files): Add it.
51452         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
51453         MOSTLYCLEANFILES.
51455 2010-05-01  Bruno Haible  <bruno@clisp.org>
51457         ftell, ftello: Work around Solaris bug.
51458         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
51459         * lib/ftello.c: Include stdio-impl.h.
51460         (ftello): On Solaris, when _IOWRT is set, compute the result without
51461         looking at _IOREAD.
51462         * modules/ftello (Files): Add lib/stdio-impl.h.
51463         * doc/posix-functions/ftell.texi: Mention Solaris bug.
51464         * doc/posix-functions/ftello.texi: Likewise.
51465         Reported by Eric Blake.
51467 2010-05-01  Bruno Haible  <bruno@clisp.org>
51469         freading: Adapt to special meaning of _IOREAD flag on Solaris.
51470         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
51471         the _IOWRT flag is also set.
51473 2010-05-01  Bruno Haible  <bruno@clisp.org>
51475         Fix doc about a HP-UX stdio bug.
51476         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
51477         * doc/posix-functions/ftello.texi: Likewise.
51479 2010-05-01  Bruno Haible  <bruno@clisp.org>
51481         lseek test: Fix failure on Solaris.
51482         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
51483         output.
51485 2010-04-30  Jim Meyering  <meyering@redhat.com>
51487         bootstrap: don't ignore failure to generate po*/Makevars
51488         * build-aux/bootstrap (with_gettext): Don't ignore failure
51489         to create po/Makevars or runtime-po/Makevars.
51491 2010-04-29  Eric Blake  <eblake@redhat.com>
51493         headers: relax license to LGPLv2+
51494         * modules/fcntl-h (License): Relax license.
51495         * modules/getopt-posix (License): Likewise.
51496         * modules/locale (License): Likewise.
51497         * modules/math (License): Likewise.
51498         * modules/pty (License): Likewise.
51499         * modules/sched (License): Likewise.
51500         * modules/search (License): Likewise.
51501         * modules/spawn (License): Likewise.
51502         * modules/stdarg (License): Likewise.
51503         * modules/sysexits (License): Likewise.
51505 2010-04-29  Jim Meyering  <meyering@redhat.com>
51507         inttypes: relax license to LGPLv2+
51508         * modules/inttypes (License): Relax license.
51510 2010-04-29  Simon Josefsson  <simon@josefsson.org>
51512         * top/maint.mk (indent): Run twice to produce idempotent results.
51514 2010-04-28  Bruno Haible  <bruno@clisp.org>
51516         getdate: Generate getdate.c in the source directory.
51517         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
51518         MOSTLYCLEANFILES.
51519         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
51521 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
51523         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
51524         is not declared as a const *; avoid warnings in that case.
51526 2010-04-28  Eric Blake  <eblake@redhat.com>
51528         canonicalize-lgpl: avoid compiler warning
51529         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
51530         declaration' / 'extraneous semicolon' warning with some compilers.
51531         Reported by Andreas Gruenbacher.
51533 2010-04-28  Jim Meyering  <meyering@redhat.com>
51535         init.sh: ensure a more reliable exit status when exiting via trap
51536         * tests/init.sh (setup_): Don't rely on $? in signal handler.
51537         Inspired by patches from Dmitry V. Levin.
51538         Also trap on signal 3 (SIGQUIT).
51540 2010-04-27  Bruno Haible  <bruno@clisp.org>
51542         Update doc about utimes().
51543         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
51544         'utimens' module.
51545         Reported by Andreas Gruenbacher <agruen@suse.de>.
51547 2010-04-27  Eric Blake  <eblake@redhat.com>
51549         full-read, full-write: relax license
51550         * modules/full-read (License): Drop to LGPLv2+.
51551         * modules/full-write (License): Likewise.
51552         * modules/safe-read (License): Likewise.
51553         * modules/safe-write (License): Likewise.
51555         pthread: mention library for linking
51556         * modules/pthread (Link): Mention $(LIB_PTHREAD).
51558 2010-04-27  Jim Meyering  <meyering@redhat.com>
51560         maint.mk: fix a bug introduced in last change
51561         * top/maint.mk (gl_assured_headers_): Now that all names are on
51562         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
51563         is not anchored to end of word, it should be adequate.
51565         maint.mk: avoid side-effect in latest syntax-check
51566         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
51567         to run commands via $(shell...), and hence to incur cost only when
51568         the new rule is actually run.
51570         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
51571         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
51572         and use that to create a regexp used to detect all #if HAVE_..._H uses.
51573         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
51574         (gl_assured_headers_, az_, AZ_): Define.
51575         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
51577 2010-04-26  Jim Meyering  <jim@meyering.net>
51578             Bruno Haible  <bruno@clisp.org>
51580         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
51581         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
51582         Prompted by an exchange with Gilles Espinasse.
51584 2010-04-26  Jim Meyering  <meyering@redhat.com>
51586         git-version-gen: aesthetic tweak
51587         * build-aux/git-version-gen: Use "$nl" rather than a literal,
51588         so that the command remains on a single line.
51590 2010-04-26  Eric Blake  <eblake@redhat.com>
51592         git-version-gen: allow use on EBCDIC hosts
51593         * build-aux/git-version-gen (dirty): Use literal rather than tying
51594         ourselves to ascii.
51595         Reported by Steve Goetze.
51597 2010-04-25  Bruno Haible  <bruno@clisp.org>
51599         netdb: Add support for GNULIB_POSIXCHECK.
51600         * lib/netdb.in.h: Include warn-on-use.h.
51601         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
51602         functions are used when GNULIB_POSIXCHECK is defined and the
51603         getaddrinfo module is not in use.
51604         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
51605         freeaddrinfo, gai_strerror, getnameinfo are declared.
51606         * modules/netdb (Depends-on): Add warn-on-use.
51607         (Makefile.am): Include warn-on-use.h in netdb.h.
51609 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
51611         build: avoid "make check" failure without .git/ directory
51612         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
51613         there is no .git/ directory.
51615 2010-04-25  Bruno Haible  <bruno@clisp.org>
51617         ptsname: Fix misuse of ttyname_r.
51618         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
51619         of errno.
51621 2010-04-25  Bruno Haible  <bruno@clisp.org>
51623         ttyname_r: Make it work on Solaris 10.
51624         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
51625         if the system function has the POSIX declaration. Test whether the
51626         function fails if the buffer is less than 128 bytes large.
51627         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
51628         system's ttyname_r function. Provide a reasonably large buffer.
51629         * modules/ttyname_r (Depends-on): Add extensions.
51630         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
51632 2010-04-25  Bruno Haible  <bruno@clisp.org>
51634         Use the 'extensions' module for some more functions on Solaris.
51635         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
51636         module.
51637         * doc/posix-functions/ctime_r.texi: Likewise.
51638         * doc/posix-functions/getgrgid_r.texi: Likewise.
51639         * doc/posix-functions/getgrnam_r.texi: Likewise.
51640         * doc/posix-functions/getpwnam_r.texi: Likewise.
51641         * doc/posix-functions/getpwuid_r.texi: Likewise.
51642         * doc/posix-functions/readdir_r.texi: Likewise.
51643         * doc/posix-functions/sigwait.texi: Likewise.
51644         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
51645         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
51647 2010-04-25  Bruno Haible  <bruno@clisp.org>
51649         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
51650         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
51651         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
51652         * lib/ttyname_r.c: Include <limits.h>.
51653         (ttyname_r): Define using the system's ttyname_r function, if it exists
51654         and not on Solaris.
51655         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
51656         set.
51657         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
51658         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
51659         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
51660         Reported by Simon Josefsson.
51662 2010-04-25  Bruno Haible  <bruno@clisp.org>
51664         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
51665         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
51666         * doc/posix-functions/ctime_r.texi: Likewise.
51667         * doc/posix-functions/getgrgid_r.texi: Likewise.
51668         * doc/posix-functions/getgrnam_r.texi: Likewise.
51669         * doc/posix-functions/getlogin_r.texi: Likewise.
51670         * doc/posix-functions/getpwnam_r.texi: Likewise.
51671         * doc/posix-functions/getpwuid_r.texi: Likewise.
51672         * doc/posix-functions/readdir_r.texi: Likewise.
51673         * doc/posix-functions/sigwait.texi: Likewise.
51674         * doc/posix-functions/ttyname_r.texi: Likewise.
51675         Reported by Simon Josefsson.
51677 2010-04-25  Bruno Haible  <bruno@clisp.org>
51679         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
51680         * gnulib-tool (func_usage): Document that --with-*-tests options apply
51681         also to --create-testdir.
51682         (func_acceptable): Don't consider the status of *-tests modules here.
51683         (func_modules_transitive_closure): Consider it here, before including a
51684         test module.
51685         (func_import, func_create_testdir): Set inc_all_direct_tests,
51686         inc_all_indirect_tests.
51687         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
51688         --create-testdir and --create-megatestdir.
51690 2010-04-25  Bruno Haible  <bruno@clisp.org>
51692         gnulib-tool: Add --without-*-tests options.
51693         * gnulib-tool (func_usage): Document the --without-*-tests options.
51694         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
51695         excl_unportable_tests): New variables.
51696         Fail if they are specified with --import or --update.
51697         (func_acceptable): Respect the excl_*_tests variables.
51698         (func_import): Set the excl_*_tests variables to empty.
51700 2010-04-25  Simon Josefsson  <simon@josefsson.org>
51701             Bruno Haible  <bruno@clisp.org>
51703         Work around a MacOS X 10.4 bug with openpty.
51704         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
51705         * tests/test-openpty.c (main): Close the master side explicitly.
51707 2010-04-25  Bruno Haible  <bruno@clisp.org>
51709         strnlen: Fix a C++ test error on MacOS X and Solaris.
51710         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
51711         the function is not declared.
51712         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
51713         Simon Josefsson.
51715 2010-04-24  Bruno Haible  <bruno@clisp.org>
51717         Avoid a gcc warning.
51718         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
51719         of correct type for %08lx directive.
51720         Reported by Eric Blake.
51722 2010-04-24  Bruno Haible  <bruno@clisp.org>
51724         vasnprintf: Correct errno value in case of out-of-memory.
51725         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
51726         or sprintf. Use the errno value from SNPRINTF or sprintf.
51727         Reported by Ian Beckwith <ianb@erislabs.net>.
51729 2010-04-24  Bruno Haible  <bruno@clisp.org>
51731         ansi-c++-opt: Find correct compiler when cross-compiling.
51732         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
51733         AC_CHECK_PROGS.
51734         Reported by Simon Josefsson.
51736 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
51738         vc-list-files: Add support for subversion
51739         * build-aux/vc-list-files: Use "svn list" to generate the list of
51740         files controlled by subversion.
51742 2010-04-23  Jim Meyering  <meyering@redhat.com>
51744         vc-list-files tests: convert to use init.sh
51745         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
51746         path_prepend_.
51747         Use Exit, not exit.
51748         Use skip_ rather than open coding it.
51749         Remove trap set-up and compare definitions.
51750         * tests/test-vc-list-files-git.sh: Likewise.
51751         * modules/vc-list-files-tests (Files): Add tests/init.sh.
51753 2010-04-22  Simon Josefsson  <simon@josefsson.org>
51755         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
51756         backup files.
51758 2010-04-21  Simon Josefsson  <simon@josefsson.org>
51760         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
51762 2010-04-20  Eric Blake  <eblake@redhat.com>
51764         tests: be robust to ignored SIGPIPE
51765         * tests/test-select-in.sh: Consume all output.
51766         * tests/test-lseek.sh: Check correct exit status, while avoiding
51767         EPIPE.
51769 2010-04-20  Simon Josefsson  <simon@josefsson.org>
51770             Bruno Haible  <bruno@clisp.org>
51772         visibility: Don't use -fvisibility if it leads to a warning.
51773         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
51774         yes, don't pretend that visibility works if it leads to a warning.
51775         Reported by Mike Gran <spk121@yahoo.com>.
51777 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
51779         * build-aux/bootstrap: Use "git -h" for testing for supported options
51780         instead of "git --help".  The short-form option only shows a summary,
51781         and doesn't layout the full man page.  Grep for the full option name
51782         in the summary, too.
51784 2010-04-19  Bruno Haible  <bruno@clisp.org>
51786         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
51787         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
51788         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
51789         mention of RELOCATABLE_STRIP.
51790         Reported by Sylvain Beucler <beuc@beuc.net>.
51792 2010-04-19  Bruno Haible  <bruno@clisp.org>
51794         * lib/diffseq.h: Fix typo in comment.
51795         Reported by Eric Blake.
51797 2010-04-19  Bruno Haible  <bruno@clisp.org>
51799         ioctl: Move autoconf macro to a .m4 file.
51800         * m4/ioctl.m4: New file, extracted from modules/ioctl.
51801         * modules/ioctl (Files): Add it.
51802         (configure.ac): Simply invoke gl_FUNC_IOCTL.
51803         Reported by Ian Beckwith <ianb@erislabs.net>.
51805 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
51806             Bruno Haible  <bruno@clisp.org>
51808         diffseq: Accommodate use-case with abstract arrays.
51809         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
51810         is not defined.
51811         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
51812         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
51814 2010-04-18  Bruno Haible  <bruno@clisp.org>
51816         * doc/posix-headers/stdbool.texi: More precise wording.
51818 2010-04-17  Jim Meyering  <meyering@redhat.com>
51820         maint.mk: use gnu-style indentation in an embedded perl script
51821         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
51822         Rename variable: s/two/last_two_bytes/
51824 2010-04-16  Eric Blake  <eblake@redhat.com>
51826         test-stdbool: skip test that fails with Solaris CC
51827         * tests/test-stdbool.c (f): Skip test that causes compilation
51828         error under buggy C++ compiler.
51829         * lib/stdbool.in.h: Document the limitation.
51830         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
51832         setenv: allow compilation with C++
51833         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
51834         register keyword.
51836         stdint: allow test to pass with C++
51837         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
51839         getopt: allow compilation with C++
51840         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
51841         struct.
51842         * lib/getopt.c (_getopt_internal_r): Use correct type.
51843         Reported by Dagobert Michelson, via Joel E. Denny.
51845 2010-04-16  Bruno Haible  <bruno@clisp.org>
51847         Override netdb.h always.
51848         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
51849         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
51850         Reported by Ludovic Courtès <ludo@gnu.org>.
51852 2010-04-15  Bruno Haible  <bruno@clisp.org>
51854         openpty: Fix mistake from 2010-03-21.
51855         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
51856         Reported by Simon Josefsson.
51858 2010-04-15  Eric Blake  <eblake@redhat.com>
51860         test-forkpty: fix expected signature
51861         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
51862         Reported by Simon Josefsson.
51864 2010-04-15  Jim Meyering  <meyering@redhat.com>
51866         maint.mk: texinfo_suffix_re_: correct the default regexp
51867         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
51869         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
51870         make it configurable via texinfo_suffix_re_.
51872 2010-04-14  Eric Blake  <eblake@redhat.com>
51874         strtok_r: relax license to LGPLv2+
51875         * modules/strtok_r (License): Relax license.
51876         Reported by Matthias Bolte.
51878 2010-04-14  Simon Josefsson  <simon@josefsson.org>
51880         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
51881         version 1.4.4 by default instead of requiring the libgcrypt
51882         version used during build.  This makes it possible to use the
51883         application with older but still binary compatible libgcrypt
51884         versions.
51886 2010-04-13  Eric Blake  <eblake@redhat.com>
51888         getopt-gnu: match recent glibc fixes and posix ruling
51889         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
51890         '+' handling, when requesting extensions.
51891         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
51892         'W;' handling.
51893         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
51894         * doc/posix-functions/getopt.texi (getopt): Document this.
51895         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
51896         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
51897         Likewise.
51899         getopt: merge bug fixes from glibc
51900         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
51901         diagnostics.  Honor '+:' correctly.  Reject ';'.
51903         getopt-posix: detect MacOS bug
51904         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
51905         optind when missing a required argument.
51906         * doc/posix-functions/getopt.texi (getopt): Document the bug.
51907         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
51908         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
51909         Likewise.
51911         getopt-posix: avoid spurious failure on Solaris
51912         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
51913         an indicator that setting optind=1 is sufficient for reset.
51915         getopt-posix: avoid spurious failure on FreeBSD
51916         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
51917         in POSIX mode, since the m4 test uses it.
51919         gnulib-tool: silence warning on BSD sh
51920         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
51922 2010-04-13  Jim Meyering  <meyering@redhat.com>
51924         doc: users.txt: GNU patch now uses gnulib
51925         * users.txt: Add patch.
51927 2010-04-12  Jim Meyering  <meyering@redhat.com>
51929         maint.mk: generate more concise timing data for syntax-check rules
51930         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
51931         " done" from each line that reports a syntax-check test duration.
51933 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
51935         git-version-gen: use "git update-index..." rather than "git status"
51936         * build-aux/git-version-gen: Use git update-index --refresh, not
51937         "git status".  With some versions of git, "git status" would fail
51938         to update the index and result in an unwarranted "-dirty" suffix.
51940 2010-04-11  Jim Meyering  <meyering@redhat.com>
51942         openat: correct formatting (no semantic change)
51943         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
51944         Suggested by Bruno Haible.
51946 2010-04-11  Bruno Haible  <bruno@clisp.org>
51948         Stricter declaration checking in testdirs.
51949         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
51950         If for_tests is true, augment AM_CPPFLAGS to define
51951         GNULIB_STRICT_CHECKING.
51952         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
51953         GNULIB_STRICT_CHECKING is defined, verify that the function is
51954         declared.
51956 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
51957             Bruno Haible  <bruno@clisp.org>
51959         libunistring: Improve configure output.
51960         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
51961         Don't say "consider installing GNU libunistring" when checking again
51962         with libiconv.
51964 2010-04-11  Bruno Haible  <bruno@clisp.org>
51966         libunistring: Correct value of $LTLIBUNISTRING.
51967         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
51968         correct the value of $LTLIBUNISTRING.
51970 2010-04-11  Bruno Haible  <bruno@clisp.org>
51972         havelib: Add static libraries to LIBS in the right order.
51973         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
51974         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
51976 2010-04-11  Bruno Haible  <bruno@clisp.org>
51978         libunistring: Detect libunistring also when it depends on libiconv.
51979         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
51980         the second AC_LIB_HAVE_LINKFLAGS invocation.
51982 2010-04-11  James Youngman  <jay@gnu.org>
51984         close-stream: declare local scalars to be "const"
51985         * lib/close-stream.c (close_stream): Make boolean variables const
51986         to document the fact that we set but do not change them.
51988 2010-04-11  Bruno Haible  <bruno@clisp.org>
51990         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
51992 2010-04-11  Jim Meyering  <meyering@redhat.com>
51994         maint.mk: don't include dist-check.mk
51995         * top/maint.mk: Remove bogus include directive.
51997         maint.mk: improve empty-line-at-EOF check
51998         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
51999         solution, rather than tail+Perl-based one.  The latter would read
52000         a few kilobytes from the end of each file, and did not handle empty
52001         files properly.
52003         maint.mk: print the elapsed time for each syntax-check rule
52004         * top/maint.mk (sc_m_rules_): Save start time in a file.
52005         (sc_z_rules_): New rules: remove temp file and print elapsed time.
52006         (local-check): Interpose the .z rules
52008 2010-04-11  Jim Meyering  <meyering@redhat.com>
52010         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
52011         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
52012         empty file with one that ends in an empty line.
52014 2010-04-10  Bruno Haible  <bruno@clisp.org>
52016         mkdir: Make it work on mingw64.
52017         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
52018         * lib/mkdir.c: Update comment.
52019         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
52021 2010-04-10  Bruno Haible  <bruno@clisp.org>
52023         Don't override improved macro from newer autoconf.
52024         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
52025         autoconf >= 2.62.
52026         Reported by Joel E. Denny <jdenny@clemson.edu>.
52028 2010-04-10  Jim Meyering  <meyering@redhat.com>
52030         maint.mk: new syntax-check rule: prohibit empty lines at end of file
52031         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
52033         maint.mk: correct a diagnostic
52034         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
52035         in diagnostic; now use $prohibit.
52037 2010-04-10  Bruno Haible  <address@hidden>
52039         fchownat: Fix a C++ test error on Solaris 8.
52040         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
52041         the function does not exist.
52043 2010-04-10  Bruno Haible  <bruno@clisp.org>
52045         vasnprintf: Add more tests.
52046         * tests/test-vasnprintf-posix.c: Include <errno.h>.
52047         (test_function): Test converting an invalid wide string.
52049         vasnprintf: Correct handling of unconvertible wide string arguments.
52050         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
52051         VASNPRINTF.
52052         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
52053         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
52054         smaller than the expected maximum need for the directive. Set errno to
52055         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
52056         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
52057         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
52058         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
52059         * modules/vasnprintf (Files): Add m4/printf.m4.
52060         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
52062 2010-04-10  Bruno Haible  <bruno@clisp.org>
52064         vasnprintf: Fix crash in %ls directive.
52065         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
52066         string is passed as argument to %ls, with no precision and no width.
52067         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
52069 2010-04-10  Bruno Haible  <bruno@clisp.org>
52071         vasnprintf: Fix multiple test failures on mingw.
52072         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
52073         _snprintf, or snwprintf, not _snwprintf.
52075 2010-04-10  Bruno Haible  <bruno@clisp.org>
52077         write: Fix a C++ test error on mingw.
52078         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
52080 2010-04-10  Bruno Haible  <bruno@clisp.org>
52082         vasnprintf test: Reduce code duplication.
52083         * tests/test-vasnprintf.c (test_function): New function, extracted from
52084         test_vasnprintf.
52085         (test_vasnprintf, test_asnprintf): Invoke it.
52087 2010-04-10  Bruno Haible  <bruno@clisp.org>
52089         strnlen: Fix warning in C++ mode on MacOS X.
52090         * lib/string.in.h (strnlen): Use the modern idiom.
52091         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
52092         defining strnlen as a macro already in <config.h>.
52093         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
52094         REPLACE_STRNLEN.
52095         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
52096         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
52098 2010-04-08  James Youngman  <jay@gnu.org>
52100         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
52101         the example.
52103 2010-04-09  Jim Meyering  <meyering@redhat.com>
52105         maint.mk: print better diagnostic when there is no $(_hv_file)
52106         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
52107         announce that when $(_hv_file) (aka help-version) does not exist.
52109         init.sh: run tr in the "C" locale to avoid multibyte interpretation
52110         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
52111         not try to interpret its random input bytes.  Jarno Rajahalme reported
52112         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
52113         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
52114         (mktempd_): Likewise, just in case.
52116         ftruncate: add two years to projected module removal date: 2012
52117         * m4/ftruncate.m4: Adjust comments.
52119         ftruncate: mark module as obsolete; even MinGW provides it, now
52120         * modules/ftruncate (Status): Obsolete.
52121         (Notice): Say that.
52122         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
52123         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
52125 2010-04-08  Bruno Haible  <bruno@clisp.org>
52127         Fix side effects from tests-related modules.
52128         * modules/dprintf-posix (Comment): New section.
52129         * modules/fprintf-posix (Comment): Likewise.
52130         * modules/obstack-printf-posix (Comment): Likewise.
52131         * modules/printf-posix (Comment): Likewise.
52132         * modules/snprintf-posix (Comment): Likewise.
52133         * modules/sprintf-posix (Comment): Likewise.
52134         * modules/vasnprintf-posix (Comment): Likewise.
52135         * modules/vasprintf-posix (Comment): Likewise.
52136         * modules/vdprintf-posix (Comment): Likewise.
52137         * modules/vfprintf-posix (Comment): Likewise.
52138         * modules/vprintf-posix (Comment): Likewise.
52139         * modules/vsnprintf-posix (Comment): Likewise.
52140         * modules/vsprintf-posix (Comment): Likewise.
52141         * modules/xprintf-posix (Comment): Likewise.
52142         * modules/xvasprintf-posix (Comment): Likewise.
52143         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
52144         * modules/floorf-tests (Depends-on): Likewise.
52145         * modules/round-tests (Depends-on): Likewise.
52146         * modules/roundf-tests (Depends-on): Likewise.
52147         * modules/trunc-tests (Depends-on): Likewise.
52148         * modules/truncf-tests (Depends-on): Likewise.
52149         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
52150         'fprintf-posix' module is not present.
52151         * tests/test-floorf2.c (check): Likewise.
52152         * tests/test-trunc2.c (check): Likewise.
52153         * tests/test-truncf2.c (check): Likewise.
52154         * tests/test-round2.c (equal): Likewise.
52155         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
52157 2010-04-07  Karl Berry  <karl@gnu.org>
52159         * config/srclist.txt,
52160         * config/srclistvars.sh,
52161         * config/srclist-update: doc fixes.
52163 2010-04-07  Jim Meyering  <meyering@redhat.com>
52165         maint.mk: add a PATH crosschecking syntax-check rule
52166         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
52167         Useful if you use a test like the one in help-version (coreutils,
52168         diffutils, grep, gzip) that ensures $(VERSION) matches what is
52169         printed by prog --version.
52171 2010-04-06  Bruno Haible  <bruno@clisp.org>
52173         Fix link error on mingw.
52174         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
52175         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
52177 2010-04-06  Bruno Haible  <bruno@clisp.org>
52179         Assume rmdir exists.
52180         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
52182 2010-04-06  Giuseppe Scrivano  <gscrivano@gnu.org>
52184         doc: update users.txt
52185         * users.txt: Add gcal.
52187 2010-04-06  Jim Meyering  <meyering@redhat.com>
52189         init.sh: simply unset TMPDIR rather than risking env -i
52190         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
52191         although it probably works fine on all Unix-based systems, some
52192         systems (Cygwin?) cannot tolerate a totally cleared environment.
52193         Suggestion from Eric Blake.
52195 2010-04-06  Jim Meyering  <meyering@redhat.com>
52197         init.sh: portability fix: use env's POSIX-specified -i option not -u
52198         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
52199         than unportable env -u.  Solaris 5.11's env lacks support for -u.
52201 2010-04-05  Bruno Haible  <bruno@clisp.org>
52203         btowc: Work around Cygwin 1.7.2 bug.
52204         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
52205         does not map NUL to 0.
52206         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
52208 2010-04-05  Bruno Haible  <bruno@clisp.org>
52210         Make the multithread modules work on Cygwin 1.7.2.
52211         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
52212         imported symbols can be declared weak, so that it returns "no" on
52213         Cygwin 1.7.2.
52215 2010-04-05  Bruno Haible  <bruno@clisp.org>
52217         Use the module 'strncat'.
52218         * modules/unistr/u8-strncat (Depends-on): Add strncat.
52220         Tests for module 'strncat'.
52221         * modules/strncat-tests: New file.
52222         * tests/test-strncat.c: New file.
52224         New module 'strncat'.
52225         * lib/string.in.h (strncat): New declaration.
52226         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
52227         * m4/strncat.m4: New file, based on m4/memchr.m4.
52228         * modules/strncat: New file.
52229         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
52230         is declared.
52231         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
52232         REPLACE_STRNCAT.
52233         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
52234         REPLACE_STRNCAT.
52235         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
52236         module.
52237         * tests/test-string-c++.cc: Check signature of strncat.
52239 2010-04-05  Jim Meyering  <meyering@redhat.com>
52241         xstrtoumax-tests: convert to use init.sh
52242         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
52243         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
52244         Use Exit, not exit.
52245         Remove uses of $EXEEXT and "./" to run a program in the current dir.
52247         xstrtoimax-tests: convert to use init.sh
52248         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
52249         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
52250         Use Exit, not exit.
52251         Remove uses of $EXEEXT and "./" to run a program in the current dir.
52253 2010-04-05  Bruno Haible  <bruno@clisp.org>
52255         sys_socket: Avoid #define replacements in C++ mode.
52256         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
52257         warning to the function if possible, rather than #defining the symbol
52258         to a dysfunctional alias.
52260 2010-04-05  Bruno Haible  <bruno@clisp.org>
52262         fseeko: Fix C++ test error on mingw.
52263         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
52264         gl_FUNC_FSEEKO.
52265         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
52266         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
52267         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
52268         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
52270 2010-04-05  Bruno Haible  <bruno@clisp.org>
52272         duplocale: Improve test output.
52273         * tests/test-duplocale.c (main): Print reason for skipped test.
52275 2010-04-05  Bruno Haible  <bruno@clisp.org>
52277         Assume rmdir exists.
52278         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
52279         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
52281 2010-04-05  Bruno Haible  <bruno@clisp.org>
52283         Fix link error on Solaris 8 with cc.
52284         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
52286 2010-04-05  Bruno Haible  <bruno@clisp.org>
52288         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
52289         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
52291 2010-04-05  Bruno Haible  <bruno@clisp.org>
52293         vasprintf: Update documentation.
52294         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
52296 2010-04-05  Bruno Haible  <bruno@clisp.org>
52298         ptsname: Improve test.
52299         * tests/test-ptsname.c (main): Also try the various master names of BSD
52300         systems.
52302 2010-04-05  Bruno Haible  <bruno@clisp.org>
52304         memchr: Avoid a possible C++ test error.
52305         * lib/string.in.h (memchr): Provide declaration if function is missing.
52306         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
52307         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
52308         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
52309         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
52311 2010-04-05  Bruno Haible  <bruno@clisp.org>
52313         strtok_r: Improve idiom.
52314         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
52315         AC_LIBOBJ is used.
52317 2010-04-05  Bruno Haible  <bruno@clisp.org>
52319         strdup: Improve idiom.
52320         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
52321         AC_LIBOBJ is used.
52322         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
52323         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
52324         when AC_LIBOBJ is used.
52326 2010-04-05  Bruno Haible  <bruno@clisp.org>
52328         mbsinit, mbrtowc, wcrtomb: Improve idioms.
52329         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
52330         don't set REPLACE_MBSINIT to 1.
52331         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
52332         don't set REPLACE_MBRTOWC to 1.
52333         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
52334         exist, don't set REPLACE_MBSRTOWCS to 1.
52335         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
52336         exist, don't set REPLACE_MBSNRTOWCS to 1.
52337         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
52338         don't set REPLACE_WCRTOMB to 1.
52339         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
52340         exist, don't set REPLACE_WCSRTOMBS to 1.
52341         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
52342         exist, don't set REPLACE_WCSNRTOMBS to 1.
52344 2010-04-05  Bruno Haible  <bruno@clisp.org>
52346         ldexpl: Improve idiom.
52347         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
52348         make sure to set HAVE_DECL_LDEXPL to 0.
52350 2010-04-05  Jim Meyering  <meyering@redhat.com>
52352         xstrtol-tests: convert to use init.sh
52353         * modules/xstrtol-tests (Files): Add tests/init.sh.
52354         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
52355         Use Exit, not exit.
52356         Remove uses of $EXEEXT and "./" to run a program in the current dir.
52358         atexit-tests: convert to use init.sh
52359         * modules/atexit-tests (Files): Add tests/init.sh.
52360         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
52361         Use Exit, not exit.
52362         Remove uses of $EXEEXT and "./" to run a program in the current dir.
52364         init.sh: fix typo
52365         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
52367         init.sh: make it easier for a test script to write to the tty, ...
52368         when using automake's parallel-tests mode.
52369         * tests/init.sh (stderr_fileno_): Define overridable variable.
52370         (warn_): New function, to use it.
52371         (fail_, skip_, framework_failure_): Use warn_.
52373 2010-04-04  Bruno Haible  <bruno@clisp.org>
52375         btowc: Avoid warning.
52376         * lib/btowc.c: Include <stdlib.h>.
52377         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
52379 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
52380             Bruno Haible  <bruno@clisp.org>
52382         wchar: Port to NetBSD 1.5.
52383         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
52384         * lib/wctype.in.h (WEOF): Likewise.
52386 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
52387             Bruno Haible  <bruno@clisp.org>
52389         Port extended stdio to NetBSD 1.5.
52390         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
52391         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
52392         older.
52394 2010-04-04  Bruno Haible  <bruno@clisp.org>
52396         string: Remove unused substitution.
52397         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
52398         HAVE_DECL_STRERROR.
52399         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
52401 2010-04-04  Bruno Haible  <bruno@clisp.org>
52403         strtod: Avoid a possible C++ test error.
52404         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
52405         set REPLACE_STRTOD.
52407 2010-04-04  Bruno Haible  <bruno@clisp.org>
52409         strerror: Update documentation.
52410         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
52412 2010-04-04  Bruno Haible  <bruno@clisp.org>
52414         stdio: Fix some C++ test errors on Solaris 8 with GCC.
52415         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
52416         _GL_CXXALIAS_SYS_CAST.
52418 2010-04-04  Bruno Haible  <bruno@clisp.org>
52420         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
52421         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
52422         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
52423         REPLACE_FREXPL to 1.
52424         * doc/posix-functions/frexpl.texi: Update documentation.
52426 2010-04-04  Bruno Haible  <bruno@clisp.org>
52428         math: Fix some C++ test errors on Solaris 8 and Cygwin.
52429         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
52431 2010-04-04  Bruno Haible  <bruno@clisp.org>
52433         Implement nanosleep for native Windows.
52434         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
52436 2010-04-04  Bruno Haible  <bruno@clisp.org>
52438         math: Fix some C++ test errors on Solaris 8.
52439         * lib/math.in.h (truncf, trunc): Use simpler idiom.
52441 2010-04-04  Bruno Haible  <bruno@clisp.org>
52443         math: Fix some C++ test errors on Cygwin.
52444         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
52445         truncl): Provide declaration if the system does not have it.
52446         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
52447         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
52448         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
52449         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
52450         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
52451         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
52452         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
52453         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
52454         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
52455         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
52456         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
52457         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
52458         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
52459         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
52460         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
52461         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
52462         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
52463         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
52464         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
52465         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
52466         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
52467         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
52469 2010-04-04  Bruno Haible  <bruno@clisp.org>
52471         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
52472         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
52473         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
52474         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
52475         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
52476         * m4/isinf.m4 (gl_ISINF): Likewise.
52477         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
52479 2010-04-04  Bruno Haible  <bruno@clisp.org>
52481         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
52482         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
52484 2010-04-04  Bruno Haible  <bruno@clisp.org>
52486         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
52487         * modules/tmpfile (configure.ac): Update.
52489         tmpfile: Fix C++ test error on mingw.
52490         * lib/stdio.in.h (tmpfile): New declaration.
52491         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
52492         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
52493         * modules/tmpfile (Depends-on): Add stdio.
52494         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
52495         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
52496         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
52497         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
52498         REPLACE_TMPFILE.
52499         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
52501 2010-04-04  Bruno Haible  <bruno@clisp.org>
52503         ioctl: Fix C++ test error on mingw.
52504         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
52505         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
52506         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
52508 2010-04-03  Bruno Haible  <bruno@clisp.org>
52510         wcwidth: Fix C++ test error on mingw.
52511         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
52512         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
52513         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
52515 2010-04-03  Bruno Haible  <bruno@clisp.org>
52517         nanosleep: Fix C++ test error on mingw.
52518         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
52519         * lib/time.in.h (nanosleep): Use modern idiom.
52520         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
52521         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
52522         REPLACE_NANOSLEEP to 1.
52523         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
52524         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
52526 2010-04-03  Bruno Haible  <bruno@clisp.org>
52528         strptime: Fix C++ test error on mingw.
52529         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
52530         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
52531         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
52532         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
52533         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
52534         not REPLACE_STRPTIME.
52535         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
52536         REPLACE_STRPTIME.
52538 2010-04-03  Bruno Haible  <bruno@clisp.org>
52540         timegm: Fix C++ test error on mingw.
52541         * lib/time.in.h (timegm): Use modern idiom.
52542         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
52543         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
52544         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
52545         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
52547 2010-04-03  Bruno Haible  <bruno@clisp.org>
52549         timegm: Assume declaration if function exists.
52550         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
52551         if it exists. Don't clobber ac_cv_func_timegm.
52553 2010-04-03  Bruno Haible  <bruno@clisp.org>
52555         time_r: Fix C++ test error on mingw.
52556         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
52557         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
52558         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
52559         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
52560         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
52562 2010-04-03  Bruno Haible  <bruno@clisp.org>
52564         time_r: Minor updates.
52565         * modules/time_r (Description): Mention the provided functions.
52566         * lib/time_r.c: Don't include <string.h>.
52567         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
52568         * doc/posix-functions/localtime_r.texi: Likewise.
52570 2010-04-03  Bruno Haible  <bruno@clisp.org>
52572         time: Fix regression introduced on 2010-03-08.
52573         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
52574         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
52576 2010-04-03  Jim Meyering  <meyering@redhat.com>
52578         maint.mk: don't silently disable project-specific syntax-check rules
52579         * top/maint.mk (_prohibit_regexp): Define, to help people realize
52580         that they need to convert their project-specific syntax-check rules
52581         to use the new _sc_search_regexp.
52583 2010-04-03  Bruno Haible  <bruno@clisp.org>
52585         fchdir: Fix regression introduced on 2010-03-08.
52586         * lib/unistd.in.h (fchdir): Fix declaration.
52587         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
52588         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
52589         REPLACE_FCHDIR.
52590         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
52591         REPLACE_FCHDIR.
52593 2010-04-03  Bruno Haible  <bruno@clisp.org>
52595         getpagesize: Fix C++ test error on mingw.
52596         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
52597         system does not declare the function.
52598         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
52599         declared.
52600         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
52601         HAVE_DECL_GETPAGESIZE.
52602         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
52604 2010-04-03  Bruno Haible  <bruno@clisp.org>
52606         stdio: Make C++ tests work on mingw.
52607         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
52608         does not declare the function.
52610 2010-04-03  Bruno Haible  <bruno@clisp.org>
52612         ftello: Fix C++ test error on mingw.
52613         * lib/stdio.in.h (ftello): Use modern idiom.
52614         * lib/ftello.c (ftello): Renamed from rpl_ftello.
52615         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
52616         is missing and that it needs to be replaced.
52617         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
52618         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
52619         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
52621 2010-04-03  Bruno Haible  <bruno@clisp.org>
52623         fseeko: Fix C++ test error on mingw.
52624         * lib/stdio.in.h (fseeko): Use modern idiom.
52625         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
52626         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
52627         is missing and that it needs to be replaced.
52628         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
52629         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
52630         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
52632 2010-04-03  Bruno Haible  <bruno@clisp.org>
52634         mkstemp: Fix C++ test error on mingw.
52635         * lib/stdlib.in.h (mkstemp): Use modern idiom.
52636         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
52637         function is missing and that it needs to be replaced.
52638         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
52639         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
52641 2010-04-03  Bruno Haible  <bruno@clisp.org>
52643         stpncpy: Fix C++ test error on mingw.
52644         * lib/string.in.h (stpncpy): Use modern idiom.
52645         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
52646         function is missing and that it needs to be replaced.
52647         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
52648         REPLACE_STPNCPY.
52649         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
52651 2010-04-03  Bruno Haible  <bruno@clisp.org>
52653         sys_stat: Fix C++ test error on mingw.
52654         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
52655         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
52657 2010-04-03  Bruno Haible  <bruno@clisp.org>
52659         pty: Update doc.
52660         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
52662 2010-04-03  Bruno Haible  <bruno@clisp.org>
52664         unistd: Fix C++ test error on mingw.
52665         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
52667 2010-04-03  Bruno Haible  <bruno@clisp.org>
52669         Update doc regarding mingw.
52670         * doc/glibc-functions/openpty.texi: Update regarding mingw.
52671         * doc/glibc-functions/login_tty.texi: Likewise.
52672         * doc/glibc-functions/forkpty.texi: Likewise.
52674 2010-04-03  Bruno Haible  <bruno@clisp.org>
52676         stdlib: Avoid compilation failure of c-strtold on mingw.
52677         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
52679 2010-04-03  Bruno Haible  <bruno@clisp.org>
52681         locale: Make C++ tests work on Cygwin and mingw.
52682         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
52683         cannot provide the function.
52684         Reported by Simon Josefsson.
52686 2010-04-03  Bruno Haible  <bruno@clisp.org>
52688         localename: Port to MacOS X 10.6.
52689         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
52690         memory layout of the locales in MacOS X 10.6 as well.
52691         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
52693 2010-04-02  Bruno Haible  <bruno@clisp.org>
52695         gnulib-tool: Ensure that long-running tests are executed last.
52696         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
52697         running tests after the one for the other tests.
52699 2010-04-02  Bruno Haible  <bruno@clisp.org>
52701         gnulib-tool: Ensure the tests in the main directory are executed first.
52702         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
52703         start with the current directory.
52705 2010-04-02  Bruno Haible  <bruno@clisp.org>
52707         Tests for module 'havelib', moved here from GNU gettext.
52708         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
52709         modifications.
52710         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
52711         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
52712         with modifications.
52713         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
52714         modifications.
52715         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
52716         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
52717         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
52718         with modifications.
52719         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
52720         with modifications.
52721         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
52722         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
52723         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
52724         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
52725         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
52726         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
52727         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
52728         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
52729         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
52730         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
52731         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
52732         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
52733         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
52734         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
52735         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
52736         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
52737         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
52738         with modifications.
52739         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
52740         with modifications.
52741         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
52742         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
52743         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
52744         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
52745         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
52746         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
52747         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
52748         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
52749         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
52750         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
52751         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
52752         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
52753         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
52754         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
52755         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
52756         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
52757         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
52758         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
52759         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
52760         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
52761         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
52762         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
52763         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
52764         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
52765         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
52766         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
52767         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
52768         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
52769         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
52770         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
52771         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
52772         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
52773         * tests/havelib/rpathx/rpathx.c: New file, from
52774         gettext/autoconf-lib-link.
52775         * tests/havelib/rpathx/Makefile.am: New file, from
52776         gettext/autoconf-lib-link.
52777         * tests/havelib/rpathx/configure.ac: New file, from
52778         gettext/autoconf-lib-link with modifications.
52779         * tests/havelib/rpathy/rpathy.c: New file, from
52780         gettext/autoconf-lib-link.
52781         * tests/havelib/rpathy/Makefile.am: New file, from
52782         gettext/autoconf-lib-link.
52783         * tests/havelib/rpathy/configure.ac: New file, from
52784         gettext/autoconf-lib-link with modifications.
52785         * tests/havelib/rpathz/rpathz.c: New file, from
52786         gettext/autoconf-lib-link.
52787         * tests/havelib/rpathz/Makefile.am: New file, from
52788         gettext/autoconf-lib-link.
52789         * tests/havelib/rpathz/configure.ac: New file, from
52790         gettext/autoconf-lib-link with modifications.
52791         * tests/havelib/rpathlx/usex.c: New file, from
52792         gettext/autoconf-lib-link.
52793         * tests/havelib/rpathlx/Makefile.am: New file, from
52794         gettext/autoconf-lib-link.
52795         * tests/havelib/rpathlx/configure.ac: New file, from
52796         gettext/autoconf-lib-link with modifications.
52797         * tests/havelib/rpathly/usey.c: New file, from
52798         gettext/autoconf-lib-link.
52799         * tests/havelib/rpathly/Makefile.am: New file, from
52800         gettext/autoconf-lib-link.
52801         * tests/havelib/rpathly/configure.ac: New file, from
52802         gettext/autoconf-lib-link with modifications.
52803         * tests/havelib/rpathlz/usez.c: New file, from
52804         gettext/autoconf-lib-link.
52805         * tests/havelib/rpathlz/Makefile.am: New file, from
52806         gettext/autoconf-lib-link.
52807         * tests/havelib/rpathlz/configure.ac: New file, from
52808         gettext/autoconf-lib-link with modifications.
52809         * tests/havelib/rpathlyx/usey.c: New file, from
52810         gettext/autoconf-lib-link.
52811         * tests/havelib/rpathlyx/Makefile.am: New file, from
52812         gettext/autoconf-lib-link.
52813         * tests/havelib/rpathlyx/configure.ac: New file, from
52814         gettext/autoconf-lib-link with modifications.
52815         * tests/havelib/rpathlzyx/usez.c: New file, from
52816         gettext/autoconf-lib-link.
52817         * tests/havelib/rpathlzyx/Makefile.am: New file, from
52818         gettext/autoconf-lib-link.
52819         * tests/havelib/rpathlzyx/configure.ac: New file, from
52820         gettext/autoconf-lib-link with modifications.
52821         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
52822         with modifications.
52824 2010-04-02  Bruno Haible  <bruno@clisp.org>
52826         gnulib-tool: Create distributed built sources also for the tests.
52827         * gnulib-tool (func_create_testdir): Also generate distributed built
52828         sources in the tests directory.
52830 2010-04-02  Bruno Haible  <bruno@clisp.org>
52832         gnulib-tool: Obey user's environment variables.
52833         * gnulib-tool (func_create_testdir): When creating built sources,
52834         respect the environment variables for autoconf, automake, etc. given by
52835         the user.
52837 2010-04-02  Bruno Haible  <bruno@clisp.org>
52839         gnulib-tool: Provide the value of --m4-base to modules.
52840         * gnulib-tool (func_import, func_create_testdir): Emit a definition
52841         of gl_m4_base.
52843 2010-04-02  Eric Blake  <eblake@redhat.com>
52845         maint.mk: fix some fallout
52846         * NEWS: Document the incompatible change, and its effect on cfg.mk.
52847         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
52849 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
52851         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
52852         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
52853         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
52854         (sc_cast_of_x_alloc_return_value): Likewise.
52855         (sc_cast_of_alloca_return_value): Likewise.
52856         (sc_space_tab): Likewise.
52857         (sc_prohibit_atoi_atof): Likewise.
52858         (sc_prohibit_magic_number_exit): Likewise.
52859         (sc_error_exit_success): Likewise.
52860         (sc_file_system): Likewise.
52861         (sc_prohibit_have_config_h): Likewise.
52862         (sc_require_config_h): Likewise.
52863         (sc_prohibit_HAVE_MBRTOWC): Likewise.
52864         (sc_obsolete_symbols): Likewise.
52865         (sc_changelog): Likewise.
52866         (sc_program_name): Likewise.
52867         (sc_the_the): Likewise.
52868         (sc_trailing_blank): Likewise.
52869         (sc_two_space_separator_in_usage): Likewise.
52870         (sc_useless_cpp_parens): Likewise.
52871         (sc_GPL_version): Likewise.
52872         (sc_GFDL_version): Likewise.
52873         (sc_texinfo_acronym): Likewise.
52874         (sc_prohibit_cvs_keyword): Likewise.
52875         (sc_prohibit_stat_st_blocks): Likewise.
52876         (sc_prohibit_S_IS_definition): Likewise.
52877         (sc_redundant_const): Likewise.
52878         (sc_makefile_TAB_only_indentation): Likewise.
52879         (sc_m4_quote_check): Likewise.
52880         (sc_makefile_path_separator_check): Likewise.
52881         (sc_copyright_check): Likewise.
52882         (sc_Wundef_boolean): Likewise.
52883         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
52885         maint.mk: match 0 or more whitespace-before-function-call '('
52886         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
52887         that have zero or two-and-more spaces between the function name
52888         and the open parenthesis.
52889         (sc_error_message_warn_fatal): Likewise.
52890         (sc_error_message_uppercase): Likewise.
52891         (sc_error_message_period): Likewise.
52893 2010-03-31  Eric Blake  <eblake@redhat.com>
52895         maint.mk: check for [ as well as test
52896         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
52897         Based on a libvirt report by Matthias Bolte.
52899         gnumakefile: don't squelch _version output
52900         * top/GNUmakefile (_version): Create one-shot dependency rather
52901         than using $(shell) when version must be regenerated.
52902         (_autoreconf): Run verbosely, by default.
52904         sys_time: avoid compiler warnings
52905         * lib/sys_time.in.h (includes): Ensure gcc pragma is
52906         unconditional, fixing regression from 2010-03-29.
52907         Reported by Simon Josefsson.
52909 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
52911         maint.mk: s/_header_without_use/_sc_header_without_use/
52912         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
52913         (sc_prohibit_assert_without_use): Use the new name.
52914         (sc_prohibit_close_stream_without_use): Likewise.
52915         (sc_prohibit_getopt_without_use): Likewise.
52916         (sc_prohibit_quotearg_without_use): Likewise.
52917         (sc_prohibit_quote_without_use): Likewise.
52918         (sc_prohibit_long_options_without_use): Likewise.
52919         (sc_prohibit_inttostr_without_use): Likewise.
52920         (sc_prohibit_ignore_value_without_use): Likewise.
52921         (sc_prohibit_error_without_use): Likewise.
52922         (sc_prohibit_xalloc_without_use): Likewise.
52923         (sc_prohibit_hash_without_use): Likewise.
52924         (sc_prohibit_hash_pjw_without_use): Likewise.
52925         (sc_prohibit_safe_read_without_use): Likewise.
52926         (sc_prohibit_argmatch_without_use): Likewise.
52927         (sc_prohibit_canonicalize_without_use): Likewise.
52928         (sc_prohibit_root_dev_ino_without_use): Likewise.
52929         (sc_prohibit_openat_without_use): Likewise.
52930         (sc_prohibit_c_ctype_without_use): Likewise.
52931         (sc_prohibit_signal_without_use): Likewise.
52932         (sc_prohibit_intprops_without_use): Likewise.
52934 2010-03-30  Eric Blake  <eblake@redhat.com>
52936         maint: improve module indicators
52937         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
52938         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
52939         columns, and avoid extra macro expansion.
52941         fdopendir: work around FreeBSD bug
52942         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
52943         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
52944         * modules/dirent (Makefile.am): Substitute it.
52945         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
52946         declaration.
52947         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
52948         fix.
52949         Reported by Christian Weisgerber <naddy@mips.inka.de>.
52951 2010-03-29  Bruno Haible  <bruno@clisp.org>
52953         Emit #pragma system_header after the inclusion guard, not before.
52954         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
52955         guard that spans the entire file, not before. This enables an
52956         optimization in GCC's preprocessor.
52957         * lib/ctype.in.h: Likewise.
52958         * lib/dirent.in.h: Likewise.
52959         * lib/errno.in.h: Likewise.
52960         * lib/float.in.h: Likewise.
52961         * lib/getopt.in.h: Likewise.
52962         * lib/iconv.in.h: Likewise.
52963         * lib/langinfo.in.h: Likewise.
52964         * lib/locale.in.h: Likewise.
52965         * lib/math.in.h: Likewise.
52966         * lib/netdb.in.h: Likewise.
52967         * lib/netinet_in.in.h: Likewise.
52968         * lib/pty.in.h: Likewise.
52969         * lib/sched.in.h: Likewise.
52970         * lib/se-selinux.in.h: Likewise.
52971         * lib/search.in.h: Likewise.
52972         * lib/spawn.in.h: Likewise.
52973         * lib/stdarg.in.h: Likewise.
52974         * lib/stdint.in.h: Likewise.
52975         * lib/string.in.h: Likewise.
52976         * lib/strings.in.h: Likewise.
52977         * lib/sys_file.in.h: Likewise.
52978         * lib/sys_ioctl.in.h: Likewise.
52979         * lib/sys_time.in.h: Likewise.
52980         * lib/sys_times.in.h: Likewise.
52981         * lib/sys_utsname.in.h: Likewise.
52982         * lib/sys_wait.in.h: Likewise.
52983         * lib/sysexits.in.h: Likewise.
52984         * lib/wctype.in.h: Likewise.
52986 2010-03-28  James Youngman  <jay@gnu.org>
52988         save-cwd: don't leak a file descriptor when the caller execs.
52989         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
52990         saved file descriptor.
52991         * modules/save-cwd (Depends-on): Depend on cloexec.
52993 2010-03-29  Bruno Haible  <bruno@clisp.org>
52995         Remove vestiges of fts-lgpl module.
52996         * lib/fts_.h: Assume GNULIB_FTS is 1.
52997         * lib/fts.c: Likewise.
52998         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
53000 2010-03-28  Bruno Haible  <bruno@clisp.org>
53002         Fix definition of tests witness macro.
53003         * gnulib-tool (func_import): Fix definition of witness macro.
53005 2010-03-28  Bruno Haible  <bruno@clisp.org>
53007         Fix ioctl's protoype on glibc systems.
53008         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
53009         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
53010         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
53011         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
53012         signature. If not, arrange to replace the ioctl function.
53013         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
53014         REPLACE_IOCTL.
53015         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
53016         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
53017         Reported by Ludovic Courtès <ludo@gnu.org>.
53019 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
53021         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
53022         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
53023         made it so grep -r --include=GLOB* ... did not work.
53025 2010-03-26  Jim Meyering  <meyering@redhat.com>
53026             Eric Blake  <eblake@redhat.com>
53028         maint.mk: prohibit use of test's -o and -a operators
53029         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
53031 2010-03-28  Bruno Haible  <bruno@clisp.org>
53033         Remove unused GNULIB_XYZ macro definitions.
53034         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
53035         invocation.
53037 2010-03-28  Bruno Haible  <bruno@clisp.org>
53039         Mark privileged tests modules.
53040         * modules/idpriv-drop-tests (Status): New section.
53041         * modules/idpriv-droptemp-tests (Status): New section.
53043 2010-03-28  Bruno Haible  <bruno@clisp.org>
53045         Split C++ tests into separate tests modules.
53046         * modules/dirent-c++-tests: New file, extracted from
53047         modules/dirent-tests.
53048         * modules/dirent-tests: Depend on it.
53049         * modules/fcntl-h-c++-tests: New file, extracted from
53050         modules/fcntl-h-tests.
53051         * modules/fcntl-h-tests: Depend on it.
53052         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
53053         * modules/glob-tests: Depend on it.
53054         * modules/iconv-h-c++-tests: New file, extracted from
53055         modules/iconv-h-tests.
53056         * modules/iconv-h-tests: Depend on it.
53057         * modules/langinfo-c++-tests: New file, extracted from
53058         modules/langinfo-tests.
53059         * modules/langinfo-tests: Depend on it.
53060         * modules/locale-c++-tests: New file, extracted from
53061         modules/locale-tests.
53062         * modules/locale-tests: Depend on it.
53063         * modules/math-c++-tests: New file, extracted from modules/math-tests.
53064         * modules/math-tests: Depend on it.
53065         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
53066         * modules/pty-tests: Depend on it.
53067         * modules/search-c++-tests: New file, extracted from
53068         modules/search-tests.
53069         * modules/search-tests: Depend on it.
53070         * modules/signal-c++-tests: New file, extracted from
53071         modules/signal-tests.
53072         * modules/signal-tests: Depend on it.
53073         * modules/spawn-c++-tests: New file, extracted from
53074         modules/spawn-tests.
53075         * modules/spawn-tests: Depend on it.
53076         * modules/stdio-c++-tests: New file, extracted from
53077         modules/stdio-tests.
53078         * modules/stdio-tests: Depend on it.
53079         * modules/stdlib-c++-tests: New file, extracted from
53080         modules/stdlib-tests.
53081         * modules/stdlib-tests: Depend on it.
53082         * modules/string-c++-tests: New file, extracted from
53083         modules/string-tests.
53084         * modules/string-tests: Depend on it.
53085         * modules/sys_ioctl-c++-tests: New file, extracted from
53086         modules/sys_ioctl-tests.
53087         * modules/sys_ioctl-tests: Depend on it.
53088         * modules/sys_select-c++-tests: New file, extracted from
53089         modules/sys_select-tests.
53090         * modules/sys_select-tests: Depend on it.
53091         * modules/sys_socket-c++-tests: New file, extracted from
53092         modules/sys_socket-tests.
53093         * modules/sys_socket-tests: Depend on it.
53094         * modules/sys_stat-c++-tests: New file, extracted from
53095         modules/sys_stat-tests.
53096         * modules/sys_stat-tests: Depend on it.
53097         * modules/sys_time-c++-tests: New file, extracted from
53098         modules/sys_time-tests.
53099         * modules/sys_time-tests: Depend on it.
53100         * modules/time-c++-tests: New file, extracted from modules/time-tests.
53101         * modules/time-tests: Depend on it.
53102         * modules/unistd-c++-tests: New file, extracted from
53103         modules/unistd-tests.
53104         * modules/unistd-tests: Depend on it.
53105         * modules/wchar-c++-tests: New file, extracted from
53106         modules/wchar-tests.
53107         * modules/wchar-tests: Depend on it.
53108         * modules/wctype-c++-tests: New file, extracted from
53109         modules/wctype-tests.
53110         * modules/wctype-tests: Depend on it.
53111         Reported by Simon Josefsson.
53113 2010-03-28  Bruno Haible  <bruno@clisp.org>
53115         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
53116         * gnulib-tool (func_exists_module): New function, extracted from
53117         func_verify_module.
53118         (func_verify_module): Use it.
53119         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
53120         'foo' only if 'foo' exists.
53121         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
53122         module.
53124 2010-03-28  Bruno Haible  <bruno@clisp.org>
53126         gnulib-tool: Add support for special categories of tests.
53127         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
53128         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
53129         (func_usage): Document them.
53130         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
53131         inc_unportable_tests, inc_all_tests): New variables.
53132         (func_acceptable): Consider these variables.
53133         (func_modules_transitive_closure): Make it work when the 'Status' field
53134         consists of multiple words.
53135         (func_import): Store and restore the values of inc_cxx_tests,
53136         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
53137         inc_all_tests in gnulib-comp.m4.
53138         (func_create_testdir): Set inc_all_tests to true.
53139         * doc/gnulib.texi (Extra tests modules): New section.
53140         Suggested by Jim Meyering.
53142 2010-03-28  Bruno Haible  <bruno@clisp.org>
53144         ansi-c++-opt: Allow turning off the C++ build by default.
53145         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
53146         gl_CXX_CHOICE_DEFAULT_NO is defined.
53147         Requested by Eric Blake.
53149 2010-03-28  Bruno Haible  <bruno@clisp.org>
53151         unistd: Avoid #define replacements in C++ mode.
53152         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
53153         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
53154         setsockopt, shutdown, select): In C++, attach a warning to the function
53155         if possible, rather than #defining the symbol to a dysfunctional alias.
53156         Reported by John W. Eaton <jwe@gnu.org>.
53158 2010-03-28  Bruno Haible  <bruno@clisp.org>
53160         Fix link errors on mingw.
53161         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
53162         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
53163         $(LIBSOCKET).
53164         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
53165         $(LIBSOCKET).
53167 2010-03-28  Bruno Haible  <bruno@clisp.org>
53168             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53170         lib-ignore: Determine different options for different compilers.
53171         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
53172         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
53173         Add comments.
53174         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
53175         * NEWS: Mention the change.
53177 2010-03-27  Bruno Haible  <bruno@clisp.org>
53179         Remove unused GNULIB_XYZ macro definitions.
53180         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
53181         * modules/fseek (configure.ac): Likewise.
53182         * modules/ioctl (configure.ac): Likewise.
53183         * modules/open (configure.ac): Likewise.
53184         * modules/stdlib-safer (configure.ac): Likewise.
53186 2010-03-27  Bruno Haible  <bruno@clisp.org>
53188         Add a remark about certain modules.
53189         * modules/malloc (Comment): New section.
53190         * modules/realloc (Comment): Likewise.
53191         * modules/sigpipe (Comment): Likewise.
53193 2010-03-27  Bruno Haible  <bruno@clisp.org>
53195         Resolve conflict between the two kinds of module indicators.
53196         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
53197         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
53198         * modules/canonicalize (configure.ac): Invoke
53199         gl_MODULE_INDICATOR_FOR_TESTS.
53200         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
53201         GNULIB_XYZ.
53202         * tests/test-dirent-c++.cc: Likewise.
53203         * tests/test-dirent-safer.c: Likewise.
53204         * tests/test-dup2.c: Likewise.
53205         * tests/test-fchdir.c: Likewise.
53206         * tests/test-fcntl-h-c++.cc: Likewise.
53207         * tests/test-getopt.c: Likewise.
53208         * tests/test-getopt.h: Likewise.
53209         * tests/test-langinfo-c++.cc: Likewise.
53210         * tests/test-locale-c++.cc: Likewise.
53211         * tests/test-math-c++.cc: Likewise.
53212         * tests/test-pty-c++.cc: Likewise.
53213         * tests/test-search-c++.cc: Likewise.
53214         * tests/test-signal-c++.cc: Likewise.
53215         * tests/test-spawn-c++.cc: Likewise.
53216         * tests/test-stdio-c++.cc: Likewise.
53217         * tests/test-stdlib-c++.cc: Likewise.
53218         * tests/test-string-c++.cc: Likewise.
53219         * tests/test-sys_ioctl-c++.cc: Likewise.
53220         * tests/test-sys_select-c++.cc: Likewise.
53221         * tests/test-sys_socket-c++.cc: Likewise.
53222         * tests/test-sys_stat-c++.cc: Likewise.
53223         * tests/test-sys_time-c++.cc: Likewise.
53224         * tests/test-time-c++.cc: Likewise.
53225         * tests/test-unistd-c++.cc: Likewise.
53226         * tests/test-wchar-c++.cc: Likewise.
53227         * tests/uninorm/test-u8-nfc.c: Likewise.
53228         * tests/uninorm/test-u8-nfd.c: Likewise.
53229         * tests/uninorm/test-u8-nfkc.c: Likewise.
53230         * tests/uninorm/test-u8-nfkd.c: Likewise.
53231         * tests/uninorm/test-u16-nfc.c: Likewise.
53232         * tests/uninorm/test-u16-nfd.c: Likewise.
53233         * tests/uninorm/test-u16-nfkc.c: Likewise.
53234         * tests/uninorm/test-u16-nfkd.c: Likewise.
53235         * tests/uninorm/test-u32-nfc.c: Likewise.
53236         * tests/uninorm/test-u32-nfc-big.c: Likewise.
53237         * tests/uninorm/test-u32-nfd.c: Likewise.
53238         * tests/uninorm/test-u32-nfd-big.c: Likewise.
53239         * tests/uninorm/test-u32-nfkc.c: Likewise.
53240         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
53241         * tests/uninorm/test-u32-nfkd.c: Likewise.
53242         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
53243         * tests/uninorm/test-u32-normalize-big.c: Likewise.
53245 2010-03-27  Bruno Haible  <bruno@clisp.org>
53247         Distinguish two kinds of module indicators.
53248         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
53249         gl_MODULE_INDICATOR.
53250         (gl_MODULE_INDICATOR): New macro.
53251         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
53252         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
53253         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
53254         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
53255         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
53256         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
53257         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
53258         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
53259         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
53260         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
53261         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
53262         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
53263         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
53264         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
53265         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
53266         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
53267         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
53268         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
53269         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
53270         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
53271         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
53272         * modules/cloexec (configure.ac): Likewise.
53273         * modules/getopt-gnu (configure.ac): Likewise.
53274         * modules/uninorm/u8-normalize (configure.ac): Likewise.
53275         * modules/uninorm/u16-normalize (configure.ac): Likewise.
53276         * modules/uninorm/u32-normalize (configure.ac): Likewise.
53277         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
53279 2010-03-27  Bruno Haible  <bruno@clisp.org>
53281         New module description field 'Comment'.
53282         * gnulib-tool: New option --extract-comment.
53283         (func_usage): Document it.
53284         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
53285         (func_get_comment): New function.
53286         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
53288 2010-03-27  Bruno Haible  <bruno@clisp.org>
53290         Addendum to 2010-02-07 commit.
53291         * gnulib-tool (func_usage): Document --extract-applicability option.
53293 2010-03-27  Bruno Haible  <bruno@clisp.org>
53295         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
53296         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
53297         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
53298         rather than link errors.
53300 2010-03-27  Bruno Haible  <bruno@clisp.org>
53302         Avoid side effects from tests-related modules on the compilation of lib.
53303         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
53304         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
53305         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
53306         parameter. Emit into AM_CPPFLAGS a definition of the designated C
53307         macro.
53308         (func_import): Define a witness macro. Assign it a value that depends
53309         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
53310         tests-related modules.
53311         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
53312         Reported by Jim Meyering.
53314 2010-03-27  Bruno Haible  <bruno@clisp.org>
53316         Factorize common .m4 code.
53317         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
53318         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
53319         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
53320         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
53321         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
53322         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
53323         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
53324         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
53325         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
53326         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
53327         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
53328         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
53329         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
53330         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
53331         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
53332         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
53333         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
53334         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
53335         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
53336         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
53337         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
53338         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
53339         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
53340         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
53341         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
53342         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
53343         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
53344         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
53345         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
53346         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
53347         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
53348         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
53350 2010-03-27  Bruno Haible  <bruno@clisp.org>
53352         Fix a compilation error on Cygwin with g++ >= 4.3.
53353         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
53354         if it is undefined or if we alias it to chmod.
53355         (lstat): Don't warn about the use of this function if it is undefined
53356         or if we alias it to stat.
53357         Reported by Simon Josefsson.
53359 2010-03-27  Bruno Haible  <bruno@clisp.org>
53361         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
53362         * modules/getlogin (configure.ac): Update.
53364         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
53365         * modules/getlogin_r (configure.ac): Update.
53367         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
53368         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
53369         * modules/inet_ntop (configure.ac): Update.
53371         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
53372         * modules/inet_pton (configure.ac): Update.
53374         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
53375         * modules/mbslen (configure.ac): Update.
53377         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
53378         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
53379         * modules/forkpty (configure.ac): Update.
53380         * modules/openpty (configure.ac): Update.
53382 2010-03-26  Simon Josefsson  <simon@josefsson.org>
53384         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
53385         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
53387 2010-03-25  Eric Blake  <eblake@redhat.com>
53389         maint: use pragma consistently across replacement headers
53390         * lib/ctype.in.h (system_header): Hoist for consistent placement.
53391         * lib/dirent.in.h (system_header): Likewise.
53392         * lib/errno.in.h (system_header): Likewise.
53393         * lib/float.in.h (system_header): Likewise.
53394         * lib/getopt.in.h (system_header): Likewise.
53395         * lib/iconv.in.h (system_header): Likewise.
53396         * lib/inttypes.in.h (system_header): Likewise.
53397         * lib/langinfo.in.h (system_header): Likewise.
53398         * lib/locale.in.h (system_header): Likewise.
53399         * lib/math.in.h (system_header): Likewise.
53400         * lib/netdb.in.h (system_header): Likewise.
53401         * lib/netinet_in.in.h (system_header): Likewise.
53402         * lib/pty.in.h (system_header): Likewise.
53403         * lib/sched.in.h (system_header): Likewise.
53404         * lib/se-selinux.in.h (system_header): Likewise.
53405         * lib/search.in.h (system_header): Likewise.
53406         * lib/spawn.in.h (system_header): Likewise.
53407         * lib/stdarg.in.h (system_header): Likewise.
53408         * lib/stdint.in.h (system_header): Likewise.
53409         * lib/string.in.h (system_header): Likewise.
53410         * lib/strings.in.h (system_header): Likewise.
53411         * lib/sys_file.in.h (system_header): Likewise.
53412         * lib/sys_ioctl.in.h (system_header): Likewise.
53413         * lib/sys_socket.in.h (system_header): Likewise.
53414         * lib/sys_times.in.h (system_header): Likewise.
53415         * lib/sys_utsname.in.h (system_header): Likewise.
53416         * lib/sys_wait.in.h (system_header): Likewise.
53417         * lib/sysexits.in.h (system_header): Likewise.
53418         * lib/unistd.in.h (system_header): Likewise.
53419         * lib/wctype.in.h (system_header): Likewise.
53421         arpa/inet: fix mingw compilation warning
53422         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
53423         Reported by Matthew Bolte.
53425 2010-03-25  Bruno Haible  <bruno@clisp.org>
53427         Avoid collision between gnulib wrapper and libintl wrapper.
53428         * lib/printf.c (printf): Don't define if a printf wrapper is already
53429         defined in intl/printf.c.
53430         Reported by Michel Boaventura <michel@michelboaventura.com>.
53432 2010-03-25  Bruno Haible  <bruno@clisp.org>
53434         Use ANSI C.
53435         * lib/readutmp.h (getutent): Provide ANSI C prototype.
53437 2010-03-25  Bruno Haible  <bruno@clisp.org>
53439         Minor formatting changes.
53440         * lib/acosl.c: Insert space before function argument list.
53441         * lib/argz.c: Likewise.
53442         * lib/asinl.c: Likewise.
53443         * lib/expl.c: Likewise.
53444         * lib/gen-uni-tables.c: Likewise.
53445         * lib/gettext.h: Likewise.
53446         * lib/glthread/lock.h: Likewise.
53447         * lib/tanl.c: Likewise.
53448         * lib/uniname/uniname.c: Likewise.
53449         * tests/test-idpriv-drop.c: Likewise.
53450         * tests/test-idpriv-droptemp.c: Likewise.
53451         * tests/test-lock.c: Likewise.
53452         * tests/test-tls.c: Likewise.
53453         * lib/argp-help.c: Insert space before function-like macro argument
53454         list.
53455         * lib/memcmp.c: Likewise.
53456         * tests/test-base64.c: Likewise.
53457         * lib/localename.c: Insert space before sizeof's argument list.
53458         * lib/safe-alloc.h: Likewise.
53459         * lib/file-set.h: Insert space before macro argument list.
53460         * tests/test-argp.c: Likewise.
53461         * lib/argp-namefrob.h: Insert space before function parameter list.
53462         * lib/getaddrinfo.c: Likewise.
53463         * lib/netdb.in.h: Likewise.
53464         * lib/parse-duration.h: Likewise.
53465         * lib/parse-duration.c: Likewise.
53466         * lib/poll.c: Likewise.
53467         * lib/select.c: Likewise.
53468         * lib/trim.h: Likewise.
53469         * tests/test-usleep.c: Likewise.
53470         * lib/ldexpl.c: Insert space before function parameter list and before
53471         function argument list.
53472         * lib/logl.c: Likewise.
53473         * lib/sqrtl.c: Likewise.
53474         * lib/trim.c: Likewise.
53475         * lib/cosl.c: Use GNU style indentation. Insert space before function
53476         argument list.
53477         * lib/sinl.c: Likewise.
53478         * lib/tsearch.c: Insert space after 'for'.
53479         Reported by Jim Meyering.
53481 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
53483         * maint.mk (sc_Wundef_boolean): Check for the presence of the
53484         config header before grepping, as it's not present before
53485         autoreconf/configure are run.  Reported by Simon Josefsson.
53487 2010-03-23  Bruno Haible  <bruno@clisp.org>
53489         pt_chown: Make it work with automake < 1.11.
53490         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
53491         Reported by Simon Josefsson.
53493 2010-03-23  Bruno Haible  <bruno@clisp.org>
53495         pt_chown: Don't depend on GPLed modules.
53496         * lib/pt_chown.c: Don't include idpriv.h.
53497         (main): Don't drop privileges.
53498         * modules/pt_chown (Depends-on): Remove idpriv-drop.
53499         Reported by Simon Josefsson.
53501 2010-03-24  Simon Josefsson  <simon@josefsson.org>
53503         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
53504         suggestions from karl@freefriends.org (Karl Berry).
53506 2010-03-22  Eric Blake  <eblake@redhat.com>
53508         gethostname: further tweaks
53509         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
53510         are overriding gethostname.
53511         Suggested by Bruno Haible.
53513 2010-03-21  Bruno Haible  <bruno@clisp.org>
53515         Fix comments.
53516         * lib/forkpty.c (rpl_forkpty): Fix comment.
53517         * lib/openpty.c (rpl_openpty): Likewise.
53518         Reported by Eric Blake.
53520 2010-03-22  Eric Blake  <eblake@redhat.com>
53522         gethostname: fix build on mingw
53523         * lib/unistd.in.h (includes): Work around fact that mingw
53524         <winsock2.h> re-includes <unistd.h>, by avoiding any
53525         redeclarations if we are being included by <winsock2.h>.
53526         Reported by Matthias Bolte.
53528 2010-03-21  Bruno Haible  <bruno@clisp.org>
53530         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
53531         * lib/forkpty.c (forkpty): New replacement function, from glibc with
53532         modifications.
53533         * lib/pty.in.h (forkpty): Update declaration. Add comments.
53534         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
53535         provide the replacement.
53536         * modules/forkpty (Depends-on): Add openpty, login_tty.
53537         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
53538         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
53539         * doc/glibc-functions/forkpty.texi: More supported platforms.
53540         * config/srclist.txt: Add forkpty.c (commented).
53542 2010-03-21  Bruno Haible  <bruno@clisp.org>
53544         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
53545         (Makefile.am): Verify that PTY_LIB is defined.
53547         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
53549 2010-03-21  Bruno Haible  <bruno@clisp.org>
53551         Tests for module 'login_tty'.
53552         * modules/login_tty-tests: New file.
53553         * tests/test-login_tty.c: New file.
53555         New module 'login_tty'.
53556         * lib/login_tty.c: New file.
53557         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
53558         * modules/login_tty: New file.
53559         * doc/glibc-functions/login_tty.texi: Mention the new module.
53561 2010-03-21  Bruno Haible  <bruno@clisp.org>
53563         login_tty: Documentation.
53564         * doc/glibc-functions/login_tty.texi: New file.
53565         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
53567 2010-03-21  Bruno Haible  <bruno@clisp.org>
53569         pty: Consistent macro naming.
53570         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
53571         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
53572         * modules/pty (configure.ac): Update.
53574 2010-03-21  Bruno Haible  <bruno@clisp.org>
53576         Tests for openpty: Make stricter.
53577         * tests/test-openpty.c (main): Add test of canonical processing and
53578         erase.
53579         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
53581         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
53582         * lib/openpty.c (openpty): New replacement function.
53583         * lib/pty.in.h: Include <termios.h>.
53584         (openpty): Update declaration. Add comments.
53585         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
53586         is not declared, arrange to provide the replacement. Check for _getpty
53587         and posix_openpt.
53588         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
53589         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
53590         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
53591         * modules/pty-tests (test_pty_c___LDADD): New variable.
53592         * doc/glibc-functions/openpty.texi: More supported platforms.
53594 2010-03-21  Bruno Haible  <bruno@clisp.org>
53596         setenv: Tweaks.
53597         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
53598         the test program.
53599         * doc/posix-functions/setenv.texi: Update platforms list.
53601 2010-03-21  Bruno Haible  <bruno@clisp.org>
53603         New module 'unlockpt'.
53604         * lib/unlockpt.c: New file, from glibc with modifications.
53605         * m4/unlockpt.m4: New file.
53606         * modules/unlockpt: New file.
53607         * lib/stdlib.in.h (unlockpt): New declaration.
53608         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
53609         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
53610         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
53611         HAVE_UNLOCKPT.
53612         * doc/posix-functions/unlockpt.texi: Mention the new module.
53613         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
53614         * config/srclist.txt: Add unlockpt.c (commented).
53616 2010-03-21  Jim Meyering  <meyering@redhat.com>
53618         maint.mk: prohibit inclusion of "intprops.h" without use
53619         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
53621 2010-03-21  Bruno Haible  <bruno@clisp.org>
53623         New module 'grantpt'.
53624         * lib/grantpt.c: New file, from glibc with modifications.
53625         * m4/grantpt.m4: New file.
53626         * modules/grantpt: New file.
53627         * lib/stdlib.in.h (grantpt): New declaration.
53628         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
53629         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
53630         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
53631         HAVE_GRANTPT.
53632         * doc/posix-functions/grantpt.texi: Mention the new module.
53633         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
53634         * config/srclist.txt: Add grantpt.c (commented).
53636 2010-03-21  Bruno Haible  <bruno@clisp.org>
53638         New module 'pt_chown'.
53639         * lib/pt_chown.c: New file, from glibc with modifications.
53640         * lib/pty-private.h: New file, from glibc with modifications.
53641         * modules/pt_chown: New file.
53642         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
53644 2010-03-21  Bruno Haible  <bruno@clisp.org>
53646         Tests for module 'ptsname'.
53647         * modules/ptsname-tests: New file.
53648         * tests/test-ptsname.c: New file.
53650         New module 'ptsname'.
53651         * lib/ptsname.c: New file, from glibc with modifications.
53652         * m4/ptsname.m4: New file.
53653         * modules/ptsname: New file.
53654         * lib/stdlib.in.h (ptsname): New declaration.
53655         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
53656         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
53657         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
53658         HAVE_PTSNAME.
53659         * doc/posix-functions/ptsname.texi: Mention the new module.
53660         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
53661         * config/srclist.txt: Add ptsname.c (commented).
53663 2010-03-21  Bruno Haible  <bruno@clisp.org>
53665         Tests for module 'ttyname_r'.
53666         * modules/ttyname_r-tests: New file.
53667         * tests/test-ttyname_r.c: New file.
53669         New module 'ttyname_r'.
53670         * lib/ttyname_r.c: New file.
53671         * m4/ttyname_r.m4: New file.
53672         * modules/ttyname_r: New file.
53673         * lib/unistd.in.h (ttyname_r): New declaration.
53674         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
53675         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
53676         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
53677         HAVE_TTYNAME_R.
53678         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
53679         * doc/posix-functions/ttyname_r.texi: Mention the new module.
53681 2010-03-20  Bruno Haible  <bruno@clisp.org>
53683         signal: Undefine macro definitions in C++ mode.
53684         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
53685         sigfillset): Undefine macro definitions from the system header in C++
53686         mode.
53687         Reported by John W. Eaton <jwe@gnu.org>.
53689 2010-03-20  Bruno Haible  <bruno@clisp.org>
53691         Ensure no #include statements inside extern "C" { ... }.
53692         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
53693         contain #include statements.
53694         * lib/time.in.h: Likewise.
53696 2010-03-20  Bruno Haible  <bruno@clisp.org>
53698         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
53699         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
53700         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
53701         Reported by John W. Eaton <jwe@gnu.org>.
53703 2010-03-20  Bruno Haible  <bruno@clisp.org>
53705         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
53706         Reported by Jim Meyering.
53708 2010-03-20  Bruno Haible  <bruno@clisp.org>
53710         pipe: Set errno upon failure.
53711         * lib/pipe.h: Specify that when -1 is returned, errno is set.
53712         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
53713         errno value in error message.
53715 2010-03-20  Bruno Haible  <bruno@clisp.org>
53716             Jim Meyering  <meyering@redhat.com>
53718         lchown: Avoid "unused variable" warning.
53719         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
53721 2010-03-20  Bruno Haible  <bruno@clisp.org>
53723         Work around unlink() bug on MacOS X 10.5.6.
53724         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
53725         attempting to unlink a parent directory.
53726         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
53727         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
53728         activate for the replacement function.
53729         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
53731 2010-03-20  Bruno Haible  <bruno@clisp.org>
53733         Fix link errors on Solaris 8.
53734         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
53735         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
53737 2010-03-19  Jim Meyering  <meyering@redhat.com>
53739         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
53740         The _LIBC implementation of build_range_exp correctly honors the
53741         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
53742         However, the non-_LIBC implementation would ignore that syntax-bit
53743         flag and return REG_ERANGE unconditionally.
53744         This change makes it honor that flag.
53745         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
53746         Make two pointer parameters "const".
53747         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
53748         (parse_bracket_exp): Update caller.
53750         regex.m4: correct the reversed range endpoint ([b-a]) test
53751         * m4/regex.m4: When requiring that [b-a] evoke failure,
53752         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
53753         test pass once again for x86-based systems.
53755 2010-03-19  Bruno Haible  <bruno@clisp.org>
53757         scandir: Fix link error on Solaris 8.
53758         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
53759         macros.
53761 2010-03-19  Bruno Haible  <bruno@clisp.org>
53763         getusershell: Fix documentation.
53764         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
53765         module.
53766         * doc/glibc-functions/setusershell.texi: Likewise.
53768         getusershell: Provide declaration, missing on Solaris 9.
53769         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
53770         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
53771         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
53772         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
53773         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
53774         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
53775         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
53776         HAVE_GETUSERSHELL.
53777         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
53779 2010-03-19  Bruno Haible  <bruno@clisp.org>
53781         wctype: Provide iswblank function.
53782         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
53783         exists and is fine.
53784         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
53785         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
53786         * tests/test-wctype.c (main): Re-enable the iswblank tests.
53787         * doc/posix-functions/iswblank.texi: Update.
53789 2010-03-19  Bruno Haible  <bruno@clisp.org>
53791         Tests of module 'pty' in C++ mode.
53792         * modules/pty-tests: New file.
53793         * tests/test-pty-c++.cc: New file.
53794         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
53796 2010-03-19  Eric Blake  <eblake@redhat.com>
53798         logb: fix documentation
53799         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
53800         1.5 declaration bug.
53802         forkpty, openpty: prefer glibc's const-safe prototype
53803         * lib/forkpty.c (rpl_forkpty): New file.
53804         * lib/openpty.c (rpl_openpty): Likewise.
53805         * modules/forkpty (Files): Distribute it.
53806         * modules/openpty (Files): Likewise.
53807         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
53808         check...
53809         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
53810         replacement for non-const BSD signature.
53811         * modules/pty (Makefile.am): Substitute witnesses.
53812         * lib/pty.in.h (forkpty, openpty): Declare replacements.
53813         * tests/test-forkpty.c: Update signature check.
53814         * tests/test-openpty.c: Likewise.
53815         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
53816         * doc/glibc-functions/openpty.texi (openpty): Likewise.
53818         forkpty, openpty: split functions into new modules
53819         * modules/pty (Makefile.am): Substitute new witnesses.
53820         (Libraries): Move library detection...
53821         * modules/forkpty: ...into new module.
53822         * modules/openpty: Another new module.
53823         * modules/pty-tests: Rename and split...
53824         * modules/forkpty-tests: ...to this...
53825         * modules/openpty-tests: ...and this.
53826         * tests/test-pty.c: Rename and split...
53827         * tests/test-forkpty.c: ...to this...
53828         * tests/test-openpty.c: ...and this.
53829         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
53830         (gl_PTY): Split library searching...
53831         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
53832         (gl_FORKPTY, gl_OPENPTY): New macros.
53833         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
53834         * NEWS: Mention the split.
53835         * MODULES.html.sh (Misc): Document the modules.
53836         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
53837         * doc/glibc-functions/openpty.texi (openpty): Likewise.
53839         pty: improve replacement header
53840         * lib/pty.in.h: New file.
53841         * modules/pty (Files): Ship it.
53842         (Makefile.am): Always build replacement.
53843         * m4/pty.m4: Rename...
53844         * m4/pty_h.m4: ...to this.
53845         (gl_PTY): Modernize setting of witness macros; update check of
53846         forkpty to take proper advantage of cache.
53847         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
53849         getopt: avoid compiler warning
53850         * lib/getopt.c (attribute_hidden): Remove unused macro.
53852 2010-03-18  Bruno Haible  <bruno@clisp.org>
53854         Fix link errors on Solaris 8.
53855         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
53856         * modules/search-tests (test_search_c___LDADD): Likewise.
53857         * modules/signal-tests (test_signal_c___LDADD): Likewise.
53858         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
53859         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
53860         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
53861         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
53862         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
53863         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
53865 2010-03-18  Bruno Haible  <bruno@clisp.org>
53867         Fix bug introduced on 2010-03-14.
53868         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
53869         (gl_SPAWN_H): Require it.
53870         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
53871         Reported by Simon Josefsson.
53873 2010-03-18  Bruno Haible  <bruno@clisp.org>
53875         Fix typo introduced on 2009-12-31.
53876         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
53877         posix_spawn_file_actions_adddup2.
53879 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
53880         and Eric Blake  <eblake@redhat.com>
53882         test-vc-list-files-git: make more robust
53883         * tests/test-vc-list-files-git.sh: Unset problematic environment
53884         variables.  Chain commands together.
53886 2010-03-17  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
53888         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
53889         `AC_CHECK_DECL' invocation.
53891 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
53893         * lib/inttostr.c (inttostr): Make sure the invocation of verify
53894         appears before executable statements. Suggested by Petr Sumbera
53895         <Petr.Sumbera@Sun.COM>.
53897 2010-03-14  Bruno Haible  <bruno@clisp.org>
53899         * tests/test-flock.c (test_exclusive): Comment out a test that causes
53900         portability problems. Instead use a simpler test.
53901         (main): Check that invalid arguments are rejected only on Linux.
53903 2010-03-14  Bruno Haible  <bruno@clisp.org>
53905         Fix bug introduced on 2009-12-31.
53906         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
53907         gl_PREREQ_SYS_H_WINSOCK2 always.
53908         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
53909         SYS_SOCKET_H variable.
53910         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
53911         Update comments.
53912         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
53913         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
53914         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
53915         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
53916         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
53918 2010-03-14  Bruno Haible  <bruno@clisp.org>
53920         Fix values returned by sinl, cosl.
53921         * lib/trigl.h: Add specification comments.
53922         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
53923         that combines the values from the precomputed table with the values of
53924         the Chebyshev polynomials.
53926 2010-03-14  Bruno Haible  <bruno@clisp.org>
53928         Fix compilation error when modules 'posix_spawn[p]' are not used.
53929         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
53930         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
53932 2010-03-14  Bruno Haible  <bruno@clisp.org>
53934         Fix compilation error on mingw when module 'time_r' is not used.
53935         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
53936         is 1.
53937         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
53938         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
53939         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
53940         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
53942 2010-03-14  Bruno Haible  <bruno@clisp.org>
53944         Fix compilation error with Sun C.
53945         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
53946         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
53947         instead of GCC specific ULONG_LONG_MAX.
53948         * lib/xstrtoll.c: Likewise.
53949         * lib/xstrtoull.c: Likewise.
53951 2010-03-13  Bruno Haible  <bruno@clisp.org>
53953         Allow the user to disable C++ code and tests.
53954         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
53955         (gl_PROG_ANSI_CXX): Require it.
53957 2010-03-13  Bruno Haible  <bruno@clisp.org>
53959         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
53960         cases.
53962 2010-03-13  Bruno Haible  <bruno@clisp.org>
53964         Test that gnulib does not break the standard C++ headers.
53965         * tests/test-locale-c++2.cc: New file.
53966         * modules/locale-tests (Files): Add it.
53967         (Makefile.am): Compile it for test-locale-c++.
53968         * tests/test-math-c++2.cc: New file.
53969         * modules/math-tests (Files): Add it.
53970         (Makefile.am): Compile it for test-math-c++.
53971         * tests/test-signal-c++2.cc: New file.
53972         * modules/signal-tests (Files): Add it.
53973         (Makefile.am): Compile it for test-signal-c++.
53974         * tests/test-stdio-c++2.cc: New file.
53975         * modules/stdio-tests (Files): Add it.
53976         (Makefile.am): Compile it for test-stdio-c++.
53977         * tests/test-stdlib-c++2.cc: New file.
53978         * modules/stdlib-tests (Files): Add it.
53979         (Makefile.am): Compile it for test-stdlib-c++.
53980         * tests/test-string-c++2.cc: New file.
53981         * modules/string-tests (Files): Add it.
53982         (Makefile.am): Compile it for test-string-c++.
53983         * tests/test-time-c++2.cc: New file.
53984         * modules/time-tests (Files): Add it.
53985         (Makefile.am): Compile it for test-time-c++.
53986         Reported by John W. Eaton <jwe@gnu.org>.
53988 2010-03-13  Bruno Haible  <bruno@clisp.org>
53990         * gnulib-tool (func_usage): Clarify which options are available for
53991         --create-testdir and --create-megatestdir.
53993 2010-03-13  Bruno Haible  <bruno@clisp.org>
53995         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
53996         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
53997         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
53998         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
53999         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
54000         when appropriate.
54001         Reported by Jim Meyering.
54003 2010-03-12  Simon Josefsson  <simon@josefsson.org>
54005         * gnulib-tool (func_import): Explain origin of code.
54007 2010-03-12  Bruno Haible  <bruno@clisp.org>
54009         Fix problem with automake's definition of CXXLINK.
54010         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
54011         Reported by Simon Josefsson and Ludovic Courtès.
54013 2010-03-12  Bruno Haible  <bruno@clisp.org>
54015         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
54016         stable releases.
54018 2010-03-11  Bruno Haible  <bruno@clisp.org>
54020         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
54021         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
54022         whether the system provides one variant or multiple variants of the
54023         function.
54024         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
54025         C++ compilers.
54026         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
54027         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
54028         Reported by Jim Meyering.
54030 2010-03-09  Simon Josefsson  <simon@josefsson.org>
54032         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
54034 2010-03-08  Bruno Haible  <bruno@clisp.org>
54036         gnulib-tool: Add support for --libtool in --create-testdir.
54037         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
54038         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
54040 2010-03-08  Eric Blake  <eblake@redhat.com>
54042         gnulib-tool.texi: mention possibility of git submodule
54043         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
54044         submodules.
54045         * doc/.gitignore: Ignore another generated file.
54047 2010-03-08  Karl Berry  <karl@gnu.org>
54049         * doc/gnulib-tool.texi (VCS Issues): Mention third option
54050         of committing gnulib files while skipping others.
54052 2010-03-07  Bruno Haible  <bruno@clisp.org>
54054         Tests of module 'wctype' in C++ mode.
54055         * tests/test-wctype-c++.cc: New file.
54056         * modules/wctype-tests (Files): Add it and tests/signature.h.
54057         (Depends-on): Add ansi-c++-opt.
54058         (Makefile.am): Arrange to compile and run test-wctype-c++.
54060         Tests of module 'wchar' in C++ mode.
54061         * tests/test-wchar-c++.cc: New file.
54062         * modules/wchar-tests (Files): Add it and tests/signature.h.
54063         (Depends-on): Add ansi-c++-opt.
54064         (Makefile.am): Arrange to compile and run test-wchar-c++.
54065         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
54066         gl_MODULE_INDICATOR.
54068         Tests of module 'unistd' in C++ mode.
54069         * tests/test-unistd-c++.cc: New file.
54070         * modules/unistd-tests (Files): Add it and tests/signature.h.
54071         (Depends-on): Add ansi-c++-opt.
54072         (Makefile.am): Arrange to compile and run test-unistd-c++.
54073         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
54074         gl_MODULE_INDICATOR.
54076         Tests of module 'time' in C++ mode.
54077         * tests/test-time-c++.cc: New file.
54078         * modules/time-tests (Files): Add it and tests/signature.h.
54079         (Depends-on): Add ansi-c++-opt.
54080         (Makefile.am): Arrange to compile and run test-time-c++.
54081         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
54083         Tests of module 'sys_time' in C++ mode.
54084         * tests/test-sys_time-c++.cc: New file.
54085         * modules/sys_time-tests (Files): Add it and tests/signature.h.
54086         (Depends-on): Add ansi-c++-opt.
54087         (Makefile.am): Arrange to compile and run test-sys_time-c++.
54088         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
54089         gl_MODULE_INDICATOR.
54091         Tests of module 'sys_stat' in C++ mode.
54092         * tests/test-sys_stat-c++.cc: New file.
54093         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
54094         (Depends-on): Add ansi-c++-opt.
54095         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
54096         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
54097         gl_MODULE_INDICATOR.
54099         Tests of module 'sys_socket' in C++ mode.
54100         * tests/test-sys_socket-c++.cc: New file.
54101         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
54102         (Depends-on): Add ansi-c++-opt.
54103         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
54104         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
54105         gl_MODULE_INDICATOR.
54107         Tests of module 'sys_select' in C++ mode.
54108         * tests/test-sys_select-c++.cc: New file.
54109         * modules/sys_select-tests (Files): Add it and tests/signature.h.
54110         (Depends-on): Add ansi-c++-opt.
54111         (Makefile.am): Arrange to compile and run test-sys_select-c++.
54112         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
54113         gl_MODULE_INDICATOR.
54115         Tests of module 'sys_ioctl' in C++ mode.
54116         * tests/test-sys_ioctl-c++.cc: New file.
54117         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
54118         (Depends-on): Add ansi-c++-opt.
54119         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
54120         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
54121         gl_MODULE_INDICATOR.
54123         Tests of module 'string' in C++ mode.
54124         * tests/test-string-c++.cc: New file.
54125         * modules/string-tests (Files): Add it and tests/signature.h.
54126         (Depends-on): Add ansi-c++-opt.
54127         (Makefile.am): Arrange to compile and run test-string-c++.
54128         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
54129         gl_MODULE_INDICATOR.
54131         Tests of module 'stdlib' in C++ mode.
54132         * tests/test-stdlib-c++.cc: New file.
54133         * modules/stdlib-tests (Files): Add it and tests/signature.h.
54134         (Depends-on): Add ansi-c++-opt.
54135         (Makefile.am): Arrange to compile and run test-stdlib-c++.
54136         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
54137         gl_MODULE_INDICATOR.
54139         Tests of module 'stdio' in C++ mode.
54140         * tests/test-stdio-c++.cc: New file.
54141         * modules/stdio-tests (Files): Add it and tests/signature.h.
54142         (Depends-on): Add ansi-c++-opt.
54143         (Makefile.am): Arrange to compile and run test-stdio-c++.
54144         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
54145         gl_MODULE_INDICATOR.
54147         Tests of module 'spawn' in C++ mode.
54148         * tests/test-spawn-c++.cc: New file.
54149         * modules/spawn-tests (Files): Add it and tests/signature.h.
54150         (Depends-on): Add ansi-c++-opt.
54151         (Makefile.am): Arrange to compile and run test-spawn-c++.
54152         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
54153         gl_MODULE_INDICATOR.
54155         Tests of module 'signal' in C++ mode.
54156         * tests/test-signal-c++.cc: New file.
54157         * modules/signal-tests (Files): Add it and tests/signature.h.
54158         (Depends-on): Add ansi-c++-opt.
54159         (Makefile.am): Arrange to compile and run test-signal-c++.
54160         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
54161         gl_MODULE_INDICATOR.
54163         Tests of module 'search' in C++ mode.
54164         * tests/test-search-c++.cc: New file.
54165         * modules/search-tests (Files): Add it and tests/signature.h.
54166         (Depends-on): Add ansi-c++-opt.
54167         (Makefile.am): Arrange to compile and run test-search-c++.
54168         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
54169         gl_MODULE_INDICATOR.
54171         Tests of module 'math' in C++ mode.
54172         * tests/test-math-c++.cc: New file.
54173         * modules/math-tests (Files): Add it and tests/signature.h.
54174         (Depends-on): Add ansi-c++-opt.
54175         (Makefile.am): Arrange to compile and run test-math-c++.
54176         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
54178         Tests of module 'locale' in C++ mode.
54179         * tests/test-locale-c++.cc: New file.
54180         * modules/locale-tests (Files): Add it and tests/signature.h.
54181         (Depends-on): Add ansi-c++-opt.
54182         (Makefile.am): Arrange to compile and run test-locale-c++.
54183         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
54184         gl_MODULE_INDICATOR.
54186         Tests of module 'langinfo' in C++ mode.
54187         * tests/test-langinfo-c++.cc: New file.
54188         * modules/langinfo-tests (Files): Add it and tests/signature.h.
54189         (Depends-on): Add ansi-c++-opt.
54190         (Makefile.am): Arrange to compile and run test-langinfo-c++.
54191         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
54192         gl_MODULE_INDICATOR.
54194         Tests of module 'iconv-h' in C++ mode.
54195         * tests/test-iconv-h-c++.cc: New file.
54196         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
54197         (Depends-on): Add ansi-c++-opt.
54198         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
54200         Tests of module 'glob' in C++ mode.
54201         * tests/test-glob-c++.cc: New file.
54202         * modules/glob-tests (Files): Add it.
54203         (Depends-on): Add ansi-c++-opt.
54204         (Makefile.am): Arrange to compile and run test-glob-c++.
54206         Tests of module 'fcntl-h' in C++ mode.
54207         * tests/test-fcntl-h-c++.cc: New file.
54208         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
54209         (Depends-on): Add ansi-c++-opt.
54210         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
54211         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
54212         gl_MODULE_INDICATOR.
54214         Tests of module 'dirent' in C++ mode.
54215         * tests/test-dirent-c++.cc: New file.
54216         * modules/dirent-tests (Files): Add it and tests/signature.h.
54217         (Depends-on): Add ansi-c++-opt.
54218         (Makefile.am): Arrange to compile and run test-dirent-c++.
54219         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
54220         gl_MODULE_INDICATOR.
54222         New module 'ansi-c++-opt'.
54223         * modules/ansi-c++-opt: New file.
54224         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
54226         Document C++ namespace mode.
54227         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
54229         wctype: Avoid #define replacements in C++ mode.
54230         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
54231         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
54232         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
54233         In C++, define a namespaced alias symbol.
54234         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
54235         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
54236         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
54237         rule.
54239         wchar: Avoid #define replacements in C++ mode.
54240         * lib/wchar.in.h: Include c++defs.h.
54241         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
54242         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
54243         symbol.
54244         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
54245         * modules/wchar (Depends-on): Add c++defs.
54246         (Makefile.am): Update wchar.h rule.
54248         unistd: Avoid #define replacements in C++ mode.
54249         * lib/unistd.in.h: Include c++defs.h.
54250         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
54251         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
54252         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
54253         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
54254         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
54255         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
54256         symbol.
54257         (environ): Update.
54258         * modules/unistd (Depends-on): Add c++defs.
54259         (Makefile.am): Update unistd.h rule.
54261         time: Avoid #define replacements in C++ mode.
54262         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
54263         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
54264         define a namespaced alias symbol.
54265         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
54266         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
54267         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
54268         * modules/time (Depends-on): Add c++defs, warn-on-use.
54269         (Makefile.am): Update time.h rule.
54270         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
54271         * modules/nanosleep (configure.ac): Likewise.
54272         * modules/strptime (configure.ac): Likewise.
54273         * modules/timegm (configure.ac): Likewise.
54275         sys_time: Avoid #define replacements in C++ mode.
54276         * lib/sys_time.in.h: Include c++defs.h.
54277         (gettimeofday): In C++, define a namespaced alias symbol.
54278         * modules/sys_time (Depends-on): Add c++defs.
54279         (Makefile.am): Update sys/time.h rule.
54281         sys_stat: Avoid #define replacements in C++ mode.
54282         * lib/sys_stat.in.h: Include c++defs.h.
54283         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
54284         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
54285         namespaced alias symbol.
54286         In C++, define a namespaced alias symbol.
54287         * modules/sys_stat (Depends-on): Add c++defs.
54288         (Makefile.am): Update sys/stat.h rule.
54290         sys_socket: Avoid #define replacements in C++ mode.
54291         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
54292         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
54293         definitions also when the system has a <sys/socket.h>.
54294         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
54295         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
54296         In C++, define a namespaced alias symbol.
54297         * modules/sys_socket (Depends-on): Add c++defs.
54298         (Makefile.am): Update sys/socket.h rule.
54300         sys_select: Avoid #define replacements in C++ mode.
54301         * lib/sys_select.in.h: Include c++defs.h. Enable the function
54302         definitions also when the system has a <sys/select.h>.
54303         (select): In C++, define a namespaced alias symbol.
54304         * modules/sys_select (Depends-on): Add c++defs.
54305         (Makefile.am): Update sys/select.h rule.
54307         sys_ioctl: Avoid #define replacements in C++ mode.
54308         * lib/sys_ioctl.in.h: Include c++defs.h.
54309         (ioctl): In C++, define a namespaced alias symbol.
54310         * modules/sys_ioctl (Depends-on): Add c++defs.
54311         (Makefile.am): Update sys/ioctl.h rule.
54313         string: Avoid #define replacements in C++ mode.
54314         * lib/string.in.h: Include c++defs.h.
54315         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
54316         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
54317         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
54318         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
54319         strsignal, strverscmp): In C++, define a namespaced alias symbol.
54320         * modules/string (Depends-on): Add c++defs.
54321         (Makefile.am): Update string.h rule.
54323         stdlib: Avoid #define replacements in C++ mode.
54324         * lib/stdlib.in.h: Include c++defs.h.
54325         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
54326         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
54327         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
54328         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
54329         symbol.
54330         * modules/stdlib (Depends-on): Add c++defs.
54331         (Makefile.am): Update stdlib.h rule.
54333         stdio: Avoid #define replacements in C++ mode.
54334         * lib/stdio.in.h: Include c++defs.h.
54335         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
54336         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
54337         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
54338         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
54339         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
54340         namespaced alias symbol.
54341         * modules/stdio (Depends-on): Add c++defs.
54342         (Makefile.am): Update stdio.h rule.
54344         spawn: Avoid #define replacements in C++ mode.
54345         * lib/spawn.in.h: Include c++defs.h.
54346         (posix_spawn, posix_spawnp, posix_spawnattr_init,
54347         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
54348         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
54349         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
54350         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
54351         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
54352         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
54353         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
54354         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
54355         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
54356         In C++, define a namespaced alias symbol.
54357         * modules/spawn (Depends-on): Add c++defs.
54358         (Makefile.am): Update spawn.h rule.
54360         signal: Avoid #define replacements in C++ mode.
54361         * lib/signal.in.h: Include c++defs.h.
54362         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
54363         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
54364         namespaced alias symbol.
54365         * modules/signal (Depends-on): Add c++defs.
54366         (Makefile.am): Update signal.h rule.
54368         search: Avoid #define replacements in C++ mode.
54369         * lib/search.in.h: Include c++defs.h.
54370         (_gl_search_compar_fn, _gl_search_action_fn): New types.
54371         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
54372         symbol.
54373         * modules/search (Depends-on): Add c++defs.
54374         (Makefile.am): Update search.h rule.
54376         math: Avoid #define replacements in C++ mode.
54377         * lib/math.in.h: Include c++defs.h.
54378         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
54379         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
54380         trunc, truncl): In C++, define a namespaced alias symbol.
54381         * modules/math (Depends-on): Add c++defs.
54382         (Makefile.am): Update math.h rule.
54384         locale: Avoid #define replacements in C++ mode.
54385         * lib/locale.in.h: Include c++defs.h.
54386         (duplocale): In C++, define a namespaced alias symbol.
54387         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
54388         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
54389         * modules/locale (Depends-on): Add c++defs.
54390         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
54392         langinfo: Avoid #define replacements in C++ mode.
54393         * lib/langinfo.in.h: Include c++defs.h.
54394         (nl_langinfo): In C++, define a namespaced alias symbol.
54395         * modules/langinfo (Depends-on): Add c++defs.
54396         (Makefile.am): Update langinfo.h rule.
54398         iconv-h: Avoid #define replacements in C++ mode.
54399         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
54400         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
54401         symbol.
54402         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
54403         whenever iconv is present.
54404         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
54405         (Makefile.am): Update iconv.h rule.
54407         glob: Avoid #define replacements in C++ mode.
54408         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
54409         (_gl_glob_errfunc_fn): New type.
54410         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
54411         symbol.
54412         * modules/glob (Depends-on): Add c++defs, warn-on-use.
54413         (Makefile.am): Update glob.h rule.
54415         fcntl-h: Avoid #define replacements in C++ mode.
54416         * lib/fcntl.in.h: Include c++defs.h.
54417         (fcntl, open, openat): In C++, define a namespaced alias symbol.
54418         * modules/fcntl-h (Depends-on): Add c++defs.
54419         (Makefile.am): Update fcntl.h rule.
54421         dirent: Avoid #define replacements in C++ mode.
54422         * lib/dirent.in.h: Include c++defs.h.
54423         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
54424         namespaced alias symbol.
54425         (dirfd): Update declaration.
54426         * modules/dirent (Depends-on): Add c++defs.
54427         (Makefile.am): Update dirent.h rule.
54429         ctype: Make it usable in C++ code.
54430         * lib/ctype.in.h: Include c++defs.h.
54431         (isblank): Declare as extern "C".
54432         * modules/ctype (Depends-on): Add c++defs.
54433         (Makefile.am): Update ctype.h rule.
54435         New module 'c++defs'.
54436         * modules/c++defs: New file.
54437         * build-aux/c++defs.h: New file.
54438         Reported by John W. Eaton <jwe@gnu.org>.
54440 2010-03-07  Bruno Haible  <bruno@clisp.org>
54442         logb: Provide missing declaration for Cygwin.
54443         * lib/math.in.h (logb): New declaration.
54444         * m4/logb.m4: New file.
54445         * modules/logb (Files): Add m4/logb.m4.
54446         (Depends-on): Add math.
54447         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
54448         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
54449         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
54450         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
54451         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
54453 2010-03-07  Bruno Haible  <bruno@clisp.org>
54455         Fix test-cond link error.
54456         * tests/test-cond.c: Include <stdio.h>.
54458 2010-03-07  Bruno Haible  <bruno@clisp.org>
54460         Fix test-dirent-safer link error.
54461         * modules/dirent-safer-tests (Makefile.am): Define
54462         test_dirent_safer_LDADD.
54464 2010-03-07  Bruno Haible  <bruno@clisp.org>
54466         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
54467         among default module list.
54469 2010-03-07  Bruno Haible  <bruno@clisp.org>
54471         Fix link error on platforms with GNU libiconv.
54472         * modules/unistr/u8-strcoll-tests (Makefile): Define
54473         test_u8_strcoll_LDADD.
54474         * modules/unistr/u16-strcoll-tests (Makefile): Define
54475         test_u16_strcoll_LDADD.
54476         * modules/unistr/u32-strcoll-tests (Makefile): Define
54477         test_u32_strcoll_LDADD.
54479 2010-03-07  Bruno Haible  <bruno@clisp.org>
54481         Use POSIX declarations for socket functions.
54482         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
54483         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
54484         rpl_sendto): Change declaration to match POSIX.
54485         * lib/connect.c (rpl_connect): Likewise.
54486         * lib/accept.c (rpl_accept): Likewise.
54487         * lib/bind.c (rpl_bind): Likewise.
54488         * lib/getpeername.c (rpl_getpeername): Likewise.
54489         * lib/getsockname.c (rpl_getsockname): Likewise.
54490         * lib/recv.c (rpl_recv): Likewise.
54491         * lib/send.c (rpl_send): Likewise.
54492         * lib/recvfrom.c (rpl_recvfrom): Likewise.
54493         * lib/sendto.c (rpl_sendto): Likewise.
54495 2010-03-06  Bruno Haible  <bruno@clisp.org>
54497         Clarify access, euidaccess, faccessat.
54498         * doc/posix-functions/faccessat.texi: Mention security problem under
54499         "Other problems", not "Portability problems".
54500         * doc/posix-functions/access.texi: Likewise. Mention a related security
54501         problem.
54502         * doc/glibc-functions/euidaccess.texi: Mention security problems.
54503         * lib/euidaccess.c: Add comments about platforms.
54504         * lib/unistd.in.h (access, euidaccess): Add warnings.
54506 2010-03-07  Bruno Haible  <bruno@clisp.org>
54508         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
54509         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
54510         (POSIX_SPAWN_SETSCHEDULER): Likewise.
54511         (POSIX_SPAWN_USEVFORK): Define in a way that works when
54512         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
54513         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
54514         declare when POSIX_SPAWN_SETSCHEDULER is zero.
54515         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
54516         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
54517         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
54518         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
54519         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
54520         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
54521         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
54522         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
54523         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
54524         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
54525         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
54526         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
54527         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
54528         Likewise.
54529         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
54530         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
54531         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
54532         Likewise.
54533         * tests/test-spawn.c (main): Make it work when
54534         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
54536 2010-03-07  Bruno Haible  <bruno@clisp.org>
54538         Fix incorrect Makefile.am generation in German locale.
54539         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
54540         Execute sed command with character range in C locale.
54542 2010-03-06  Bruno Haible  <bruno@clisp.org>
54544         Tests for module 'iconv-h'.
54545         * modules/iconv-h-tests: New file.
54546         * tests/test-iconv-h.c: New file.
54548         New module 'iconv-h'.
54549         * modules/iconv-h: New file.
54550         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
54551         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
54552         (configure.ac): Remove gl_ICONV_H.
54553         (Makefile.am): Remove rule for iconv.h.
54555 2010-03-06  Bruno Haible  <bruno@clisp.org>
54557         More consistent naming of *.m4 files.
54558         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
54559         * modules/wctype (Files): Update.
54561         More consistent naming of *.m4 files.
54562         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
54563         * modules/wchar (Files): Update.
54565 2010-03-06  Jim Meyering  <meyering@redhat.com>
54567         euidaccess: relax license to LGPLv2+
54568         * modules/euidaccess (License): Relax to LGPLv2+.
54570 2010-03-06  Bruno Haible  <bruno@clisp.org>
54572         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
54573         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
54574         (Makefile.am): Augment lib_SOURCES instead.
54576 2010-03-04  Jim Meyering  <meyering@redhat.com>
54578         utime: remove obsolete module
54579         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
54580         unnecessary for years, and has been marked as obsolete for 10 months.
54581         * modules/utime: Remove file.
54582         * lib/utime.c: Remove file.
54583         * m4/utime.m4: Remove file.
54584         * m4/utimes-null.m4: Remove file.
54585         * doc/posix-functions/utime.texi (utime): Remove reference to
54586         the module.  Move the sole "fixed by gnulib" item into the
54587         "problems not fixed by Gnulib" list.
54588         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
54590 2010-03-05  Simon Josefsson  <simon@josefsson.org>
54592         * modules/exit (License): Relax license to LGPLv2+.
54593         (Status): Mark as obsolete.
54594         * NEWS: Mention deprecated 'exit' module.
54595         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
54596         of now obsolete 'exit'.
54598 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54600         fts-lgpl: remove unused module
54601         * modules/fts-lgpl: Remove.
54602         * MODULES.html.sh (func_all_modules): Adjust.
54603         * check-module (find_included_lib_files): Adjust.
54604         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
54606 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
54608         copy-acl: enhance Solaris ACL error handling
54609         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
54610         * lib/set-mode-acl.c (qset_acl): Likewise.
54612 2010-03-02  Bruno Haible  <bruno@clisp.org>
54614         spawn: Don't override the system defined values on FreeBSD 8.
54615         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
54616         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
54617         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
54618         if HAVE_POSIX_SPAWN is 1.
54619         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
54621 2010-03-01  Bruno Haible  <bruno@clisp.org>
54623         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
54624         regarding Automake.
54626 2010-02-25  Bruno Haible  <bruno@clisp.org>
54628         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
54629         * gnulib-tool: Define 'echo' as a function only before the ksh alias
54630         setting, not afterwards.
54631         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
54633 2010-02-24  Eric Blake  <eblake@redhat.com>
54635         bootstrap, git-version-gen: use timestamp
54636         * build-aux/git-version-gen (scriptversion): Force UTC.
54637         * build-aux/bootstrap (scriptversion): New variable.
54639         bootstrap: allow older git
54640         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
54641         older than 1.6.4.  Requested by the libvirt project.
54643 2010-02-23  Eric Blake  <eblake@redhat.com>
54645         warn-on-use: work with old autoconf
54646         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
54647         AS_VAR semantics of autoconf 2.60.
54648         Reported by Bruno Haible.
54650         bootstrap: improve some comments
54651         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
54652         clarification comments.
54654         gettimeofday: provide correct function
54655         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
54656         when replacement is declared, otherwise provide gettimeofday.
54657         Reported by Michael Goffioul.
54659 2010-02-23  Jim Meyering  <meyering@redhat.com>
54661         lib-ignore: relax license to "unlimited", not LGPLv2+
54662         * modules/lib-ignore (License): Relax to "unlimited".
54664 2010-02-23  Jim Meyering  <meyering@redhat.com>
54666         lib-ignore: relax license to LGPLv2+
54667         * modules/lib-ignore (License): Relax to LGPLv2+.
54669 2010-02-22  Eric Blake  <eblake@redhat.com>
54671         lseek: avoid bash 3.2 broken pipe bug
54672         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
54673         warning from bash 3.2.
54674         Reported by Ben Pfaff, with analysis from Bruno Haible.
54676         bootstrap: support non-FSF copyright holder
54677         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
54678         bootstrap.conf override of COPYRIGHT_HOLDER.
54679         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
54681         bootstrap: interoperate with gettext 0.14.1
54682         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
54684         bootstrap: allow for alternate submodule location
54685         * build-aux/bootstrap (gnulib_path): New variable; use instead of
54686         hardcoding submodule location.
54687         (gnulib_mk): Allow direct use of Makefile.am.
54689         bootstrap: use GNULIB_SRCDIR to reduce disk usage
54690         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
54691         rather than reconfiguring where the submodule points.
54693         gettimeofday: restore support for platforms that lack function
54694         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
54695         replacement if function is missing.
54696         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
54697         * modules/sys_time (Makefile.am): Substitute it.
54698         * lib/sys_time.in.h (gettimeofday): Check it.
54699         Reported by Michael Goffioul.
54701 2010-02-21  Bruno Haible  <bruno@clisp.org>
54703         * lib/stdio.in.h (obstack_printf): Fix typo.
54705 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
54707         vc-list-files: use bzr ls's -R option
54708         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
54709         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
54711 2010-02-21  Jim Meyering  <meyering@redhat.com>
54713         init.sh: fix EXEEXT shims to work also for names like test-prog
54714         * tests/init.sh: Re-exec a better shell, when needed.
54715         If the current shell lacks support for posix $(...), an init.sh-using
54716         test will now try to find a shell that supports that.  If EXEEXT is
54717         nonempty, we also require support for hyphen-in-alias-name and shell
54718         substitutions like ${var#glob}.  Failure to find such a shell results
54719         in a skipped test.
54721 2010-02-21  Bruno Haible  <bruno@clisp.org>
54723         Really work around "broken pipe" error message from bash 3.2.
54724         * gnulib-tool (func_reset_sigpipe): Remove function.
54725         (echo): In bash 3.2, define to a function that uses printf.
54726         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
54728 2010-02-20  Bruno Haible  <bruno@clisp.org>
54730         Restore support for automake 1.9.6 with autoconf 2.61.
54731         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
54732         Reported by James Youngman <jay@gnu.org>.
54734 2010-02-20  Bruno Haible  <bruno@clisp.org>
54736         Improve *printf warning condition.
54737         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
54738         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
54739         and the function is overridden due to SIGPIPE emulation.
54741 2010-02-20  Bruno Haible  <bruno@clisp.org>
54743         * lib/stdio.in.h: Tweak comments.
54745 2010-02-19  Bruno Haible  <bruno@clisp.org>
54747         Make it easier to find modules. New gnulib-tool option '--find'.
54748         * gnulib-tool: New option --find.
54749         (func_usage): Document it.
54750         (func_sanitize_modulelist): New function, extracted from
54751         func_all_modules.
54752         (func_all_modules): Invoke it.
54753         * doc/gnulib-tool.texi (Which modules?): New node.
54755 2010-02-18  Markus Duft  <mduft@gentoo.org>  (tiny change)
54757         * lib/sys_select.in.h: Provide select replacement even if
54758         sys/select.h exists on a system, for Interix.
54760 2010-02-18  Jim Meyering  <meyering@redhat.com>
54762         init.sh: don't use $(...) just yet
54763         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
54764         to accommodate e.g., Solaris' /bin/sh.
54766 2010-02-17  Bruno Haible  <bruno@clisp.org>
54768         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
54769         Reported by Ludovic Courtès <ludo@gnu.org>.
54771 2010-02-16  Simon Josefsson  <simon@josefsson.org>
54773         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
54774         linking with -lintl.
54776 2010-02-17  Simon Josefsson  <simon@josefsson.org>
54778         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
54779         if not provided by the system's netdb.h.  Reported by
54780         ludo@gnu.org (Ludovic Courtès).
54782 2010-02-15  Jim Meyering  <meyering@redhat.com>
54784         init.sh: improve portability and efficiency
54785         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
54786         "dummy" in a for loop.
54787         Use '!', not '^' to select the complement of a character set used
54788         in a "case" statement.
54789         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
54790         Suggestions from Eric Blake.
54792         init.sh: automatically accommodate programs with the .exe suffix
54793         Automatically arrange for an invocation of "prog" to execute the
54794         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
54795         may use the simpler "prog", yet still work when built on a system
54796         that requires specifying the added suffix.
54797         Do this by constructing a function named "prog" that invokes
54798         "prog.exe" for each .exe file in selected directories.
54799         * tests/init.sh (find_exe_basenames_): New function.
54800         (create_exe_shim_functions_): New function.
54801         (path_prepend_): Use it.
54803         maint.mk: mark syntax-check sc_*.m rules as .PHONY
54804         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
54805         "make -t syntax-check" doesn't create a ton of sc_*.m files.
54807 2010-02-14  Jim Meyering  <meyering@redhat.com>
54809         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
54810         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
54811         (sc_prohibit_hash_pjw_without_use): New rule.
54813         maint.mk: allow the default upload destination dir to be overridden
54814         * top/maint.mk (upload_dest_dir_): Define with a default that
54815         preserves the status quo.
54816         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
54817         Reported by Peter Simons.
54819         maint.mk: prohibit inclusion of "hash.h" without_use
54820         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
54822 2010-02-10  Jim Meyering  <meyering@redhat.com>
54824         maint.mk: prohibit inclusion of "ignore-value.h" without_use
54825         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
54827 2010-02-09  Eric Blake  <ebb9@byu.net>
54828         and Bruno Haible  <bruno@clisp.org>
54830         obstack-printf-posix: ensure declaration
54831         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
54832         extracted from gl_FUNC_OBSTACK_PRINTF.
54833         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
54834         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
54835         Likewise.
54836         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
54837         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
54838         0.
54840 2010-02-08  Bruno Haible  <bruno@clisp.org>
54842         gnulib-tool: Fix typo in 2010-02-07 commit.
54843         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
54844         Reported by Eric Blake.
54846 2010-02-07  Bruno Haible  <bruno@clisp.org>
54848         gnulib-tool: Fix up caching patches.
54849         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
54850         option --no-cache. Use associative arrays when supported by the shell.
54851         (sed_comments): New variable.
54852         (modcache): Renamed from do_cache.
54853         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
54854         abbreviate unnecessarily.
54855         (have_associative): New variable.
54856         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
54857         way also for ksh and zsh.
54858         (func_init_sed_convert_to_cache_statements): New function, extracted
54859         from func_cache_lookup_module. Add support for associative arrays.
54860         Don't set the c_MODULE_cached variable here. Ignore all lines before
54861         the first field header. Remove only the final newline, not all trailing
54862         newlines. Support empty fields correctly. Limit the use of 'eval' to
54863         assignments.
54864         (func_get_description, func_get_status, func_get_notice,
54865         func_get_applicability, func_get_filelist, func_get_dependencies,
54866         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
54867         func_get_automake_snippet, func_get_include_directive,
54868         func_get_link_directive, func_get_license, func_get_maintainer):
54869         Update documentation. List the unoptimized code first. Add support for
54870         associative arrays. Limit the use of 'eval' to assignments.
54871         (func_get_applicability): Undo stylistic pessimisations.
54872         (func_get_automake_snippet, func_get_include_directive): Reduce code
54873         duplication.
54874         (func_modules_transitive_closure, func_modules_add_dummy,
54875         func_modules_notice, func_modules_to_filelist, func_add_file,
54876         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
54877         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
54878         func_create_testdir, func_create_megatestdir): Update documentation.
54880 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54882         * gnulib-tool (func_cache_lookup_module): Store the module name
54883         belonging to the cache variable; error out if two different
54884         module names map to the same cache variable name.
54886 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54888         gnulib-tool: Make caching optional.
54889         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
54890         Update matching short versions of --no-changelog.
54891         (func_usage): Update.
54892         (sed_extract_cache_prog): Renamed from ...
54893         (sed_extract_prog): ... this; revert to old extraction script.
54894         (func_get_description, func_get_status)
54895         (func_get_notice, func_get_applicability, func_get_filelist)
54896         (func_get_dependencies, func_get_autoconf_early_snippet)
54897         (func_get_autoconf_snippet, func_get_automake_snippet)
54898         (func_get_include_directive, func_get_link_directive)
54899         (func_get_license, func_get_maintainer): If $do_cache is false,
54900         use old, non-caching extraction scripts.
54901         Suggestion by Bruno Haible.
54903 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54905         gnulib-tool: cache module metainformation.
54906         * gnulib-tool (sed_extract_prog): Match newline before each
54907         header, and rewrite header to a shell variable suffix.
54908         (func_cache_var, func_cache_lookup_module): New functions,
54909         to turn a module name into a cache variable prefix, and to
54910         look up and cache module metainformation.
54911         (func_get_description, func_get_status)
54912         (func_get_notice, func_get_applicability, func_get_filelist)
54913         (func_get_dependencies, func_get_autoconf_early_snippet)
54914         (func_get_autoconf_snippet, func_get_automake_snippet)
54915         (func_get_include_directive, func_get_link_directive)
54916         (func_get_license, func_get_maintainer): Use
54917         func_cache_lookup_module.
54919 2010-02-07  Bruno Haible  <bruno@clisp.org>
54921         fnctl: Fix missing dependency.
54922         * modules/fcntl (Depends-on): Add getdtablesize.
54923         Reported by John W. Eaton <jwe@gnu.org>.
54925 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
54927         Argp: fix recognition of short alias options.
54929         * lib/argp-parse.c (convert_options): Fix improper use of
54930         `|' between character values.
54931         * tests/test-argp.c (group1_option): New alias option
54932         --read (-r).
54933         (group1_parser): Special handling for 'r'.
54934         (test15): New test case.
54935         (test_fun): Add test15.
54936         * tests/test-argp-2.sh: Update expected --help and --usage
54937         outputs.
54939 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
54941         * tests/test-argp.c: Fix indentation.
54943 2010-02-04  Eric Blake  <ebb9@byu.net>
54945         gettimeofday: expose type of second argument
54946         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
54947         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
54948         * tests/test-gettimeofday.c: Use it to silence warning.
54949         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
54950         the issue.
54952 2010-02-03  Jim Meyering  <meyering@redhat.com>
54954         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
54955         * lib/regcomp.c (TYPE_SIGNED): Define.
54956         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
54958         regcomp.c: avoid a new -Wshadow warning
54959         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
54961 2010-02-01  Jim Meyering  <meyering@redhat.com>
54963         removing useless parentheses in cpp #define directives
54964         For motivation, see commit c0221df4, "define STREQ(a,b)
54965         consistently, removing useless parentheses"
54966         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
54967         * lib/mountlist.c (MNT_IGNORE): Likewise.
54968         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
54970 2010-02-01  Eric Blake  <ebb9@byu.net>
54972         sys_time: use link-warning
54973         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
54974         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
54975         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
54976         * modules/sys_time (Depends-on): Add warn-on-use.
54977         (Makefile.am): Always build replacement.
54978         (configure.ac): Update substitutions.
54979         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
54980         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
54981         bother with SYS_TIME_H.
54982         * modules/gettimeofday (configure.ac): Declare indicator.
54983         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
54984         in use.
54986         closein-tests: silence compiler warning
54987         * tests/test-closein.c (main): Ignore fread result.
54988         * modules/closein-tests (Depends-on): Add ignore-value.
54990         tests: silence warning about system return
54991         * tests/test-areadlink-with-size.c (main): Ignore system result.
54992         * tests/test-areadlink.c (main): Likewise.
54993         * tests/test-areadlinkat-with-size.c (main): Likewise.
54994         * tests/test-areadlinkat.c (main): Likewise.
54995         * tests/test-canonicalize-lgpl.c (main): Likewise.
54996         * tests/test-canonicalize.c (main): Likewise.
54997         * tests/test-chown.c (main): Likewise.
54998         * tests/test-fchownat.c (main): Likewise.
54999         * tests/test-fdutimensat.c (main): Likewise.
55000         * tests/test-fstatat.c (main): Likewise.
55001         * tests/test-futimens.c (main): Likewise.
55002         * tests/test-lchown.c (main): Likewise.
55003         * tests/test-link.c (main): Likewise.
55004         * tests/test-linkat.c (main): Likewise.
55005         * tests/test-lstat.c (main): Likewise.
55006         * tests/test-mkdir.c (main): Likewise.
55007         * tests/test-mkdirat.c (main): Likewise.
55008         * tests/test-mkfifo.c (main): Likewise.
55009         * tests/test-mkfifoat.c (main): Likewise.
55010         * tests/test-mknod.c (main): Likewise.
55011         * tests/test-readlink.c (main): Likewise.
55012         * tests/test-remove.c (main): Likewise.
55013         * tests/test-rename.c (main): Likewise.
55014         * tests/test-renameat.c (main): Likewise.
55015         * tests/test-rmdir.c (main): Likewise.
55016         * tests/test-symlink.c (main): Likewise.
55017         * tests/test-symlinkat.c (main): Likewise.
55018         * tests/test-unlink.c (main): Likewise.
55019         * tests/test-unlinkat.c (main): Likewise.
55020         * tests/test-utimens.c (main): Likewise.
55021         * tests/test-utimensat.c (main): Likewise.
55022         * modules/areadlink-tests (Depends-on): Add ignore-value.
55023         * modules/areadlink-with-size-tests (Depends-on): Likewise.
55024         * modules/areadlinkat-tests (Depends-on): Likewise.
55025         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
55026         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
55027         * modules/canonicalize-tests (Depends-on): Likewise.
55028         * modules/chown-tests (Depends-on): Likewise.
55029         * modules/fdutimensat-tests (Depends-on): Likewise.
55030         * modules/futimens-tests (Depends-on): Likewise.
55031         * modules/lchown-tests (Depends-on): Likewise.
55032         * modules/link-tests (Depends-on): Likewise.
55033         * modules/linkat-tests (Depends-on): Likewise.
55034         * modules/lstat-tests (Depends-on): Likewise.
55035         * modules/mkdir-tests (Depends-on): Likewise.
55036         * modules/mkfifo-tests (Depends-on): Likewise.
55037         * modules/mkfifoat-tests (Depends-on): Likewise.
55038         * modules/mknod-tests (Depends-on): Likewise.
55039         * modules/openat-tests (Depends-on): Likewise.
55040         * modules/readlink-tests (Depends-on): Likewise.
55041         * modules/remove-tests (Depends-on): Likewise.
55042         * modules/rename-tests (Depends-on): Likewise.
55043         * modules/renameat-tests (Depends-on): Likewise.
55044         * modules/rmdir-tests (Depends-on): Likewise.
55045         * modules/symlink-tests (Depends-on): Likewise.
55046         * modules/symlinkat-tests (Depends-on): Likewise.
55047         * modules/unlink-tests (Depends-on): Likewise.
55048         * modules/utimens-tests (Depends-on): Likewise.
55049         * modules/utimensat-tests (Depends-on): Likewise.
55051 2010-01-31  Bruno Haible  <bruno@clisp.org>
55053         Perform the same test for many <math.h> functions.
55054         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
55055         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
55056         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
55057         of gl_MATHFUNC.
55058         * modules/acos (configure.ac): Likewise.
55059         * modules/asin (configure.ac): Likewise.
55060         * modules/atan (configure.ac): Likewise.
55061         * modules/atan2 (configure.ac): Likewise.
55062         * modules/cbrt (configure.ac): Likewise.
55063         * modules/copysign (configure.ac): Likewise.
55064         * modules/cos (configure.ac): Likewise.
55065         * modules/cosh (configure.ac): Likewise.
55066         * modules/erf (configure.ac): Likewise.
55067         * modules/erfc (configure.ac): Likewise.
55068         * modules/exp (configure.ac): Likewise.
55069         * modules/fmod (configure.ac): Likewise.
55070         * modules/hypot (configure.ac): Likewise.
55071         * modules/j0 (configure.ac): Likewise.
55072         * modules/j1 (configure.ac): Likewise.
55073         * modules/jn (configure.ac): Likewise.
55074         * modules/lgamma (configure.ac): Likewise.
55075         * modules/log (configure.ac): Likewise.
55076         * modules/log10 (configure.ac): Likewise.
55077         * modules/log1p (configure.ac): Likewise.
55078         * modules/pow (configure.ac): Likewise.
55079         * modules/remainder (configure.ac): Likewise.
55080         * modules/sin (configure.ac): Likewise.
55081         * modules/sinh (configure.ac): Likewise.
55082         * modules/tan (configure.ac): Likewise.
55083         * modules/tanh (configure.ac): Likewise.
55084         * modules/y0 (configure.ac): Likewise.
55085         * modules/y1 (configure.ac): Likewise.
55086         * modules/yn (configure.ac): Likewise.
55087         Suggested by Paolo Bonzini.
55089 2010-01-31  Bruno Haible  <bruno@clisp.org>
55091         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
55093 2010-01-31  Bruno Haible  <bruno@clisp.org>
55095         Work around getdelim() bug on FreeBSD 8.0.
55096         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
55097         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
55098         not work.
55099         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
55100         is 1.
55101         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
55102         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
55103         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
55104         a non-zero size.
55105         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
55107 2010-01-31  Bruno Haible  <bruno@clisp.org>
55109         Work around getline() bug on FreeBSD 8.0.
55110         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
55111         and a non-zero size.
55112         * tests/test-getline.c (main): Likewise.
55113         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
55114         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
55116 2010-01-28  Eric Blake  <ebb9@byu.net>
55118         regex: fix build failure
55119         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
55120         platforms.
55122 2010-01-28  Jim Meyering  <meyering@redhat.com>
55124         regex: do not ignore memory allocation failure
55125         * lib/regex_internal.c (create_cd_newstate): Detect
55126         re_node_set_init_copy failure.   Extracted from glibc commit
55127         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
55129         regex: sync more white-space changes from libc
55130         * lib/regex_internal.c: White-space only changes.
55131         * lib/regexec.c: Likewise.
55133         regex: add many uses of __attribute_warn_unused_result__
55134         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
55135         * lib/regexec.c: Likewise.
55136         Extracted from a messy glibc commit.
55138         regcomp.c: spelling and merge-artifact from glibc
55139         * lib/regcomp.c: Merge remainder of glibc's
55140         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
55142         regcomp.c: sync white-space changes from glibc
55143         * lib/regcomp.c: Merge to accommodate white space
55144         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
55146         regcomp.c: do not ignore internal return values
55147         * lib/regcomp.c: Do not ignore internal return values.
55148         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
55149         but without its white-space changes and spelling fixes.
55151         regex_internal.h: define __attribute_warn_unused_result__
55152         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
55154         maint: add a syntax-check rule to check for vulnerable Makefile.in
55155         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
55157 2010-01-27  Jim Meyering  <meyering@redhat.com>
55159         ncftpput-ftp: clean up spaces
55160         * build-aux/ncftpput-ftp: Make Copyright line consistent.
55161         Remove trailing blanks.
55163 2010-01-27  Simon Josefsson  <simon@josefsson.org>
55165         * build-aux/git-version-gen: Fix copyright statement.
55166         * build-aux/gnupload: Likewise.
55167         * tests/test-arcfour.c: Likewise.
55168         * tests/test-arctwo.c: Likewise.
55169         * tests/test-count-one-bits.c: Likewise.
55170         * tests/test-crc.c: Likewise.
55171         * tests/test-des.c: Likewise.
55172         * tests/test-gc-arcfour.c: Likewise.
55173         * tests/test-gc-arctwo.c: Likewise.
55174         * tests/test-gc-des.c: Likewise.
55175         * tests/test-gc-hmac-md5.c: Likewise.
55176         * tests/test-gc-hmac-sha1.c: Likewise.
55177         * tests/test-gc-md2.c: Likewise.
55178         * tests/test-gc-md4.c: Likewise.
55179         * tests/test-gc-md5.c: Likewise.
55180         * tests/test-gc-pbkdf2-sha1.c: Likewise.
55181         * tests/test-gc-rijndael.c: Likewise.
55182         * tests/test-gc-sha1.c: Likewise.
55183         * tests/test-gc.c: Likewise.
55184         * tests/test-gethostname.c: Likewise.
55185         * tests/test-gettimeofday.c: Likewise.
55186         * tests/test-hash.c: Likewise.
55187         * tests/test-hmac-md5.c: Likewise.
55188         * tests/test-hmac-sha1.c: Likewise.
55189         * tests/test-md2.c: Likewise.
55190         * tests/test-md4.c: Likewise.
55191         * tests/test-md5.c: Likewise.
55192         * tests/test-memchr.c: Likewise.
55193         * tests/test-memchr2.c: Likewise.
55194         * tests/test-memcmp.c: Likewise.
55195         * tests/test-memmem.c: Likewise.
55196         * tests/test-memrchr.c: Likewise.
55197         * tests/test-rawmemchr.c: Likewise.
55198         * tests/test-read-file.c: Likewise.
55199         * tests/test-rijndael.c: Likewise.
55200         * tests/test-sockets.c: Likewise.
55201         * tests/test-strchrnul.c: Likewise.
55202         * tests/test-strstr.c: Likewise.
55203         * tests/test-strtod.c: Likewise.
55204         * build-aux/ncftpput-ftp: Likewise.
55206 2010-01-26  Eric Blake  <ebb9@byu.net>
55208         ignore-value: update recommended header name
55209         * modules/ignore-value (Include): Only use <> for headers that
55210         exist in glibc.
55212 2010-01-26  Jim Meyering  <meyering@redhat.com>
55214         test-userspec.c: avoid compiler warnings
55215         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
55216         and "initialization discards qualifiers..." warnings.
55217         Put the first "uid" in its own scope, and make char* members "const".
55219 2010-01-25  Bruno Haible  <bruno@clisp.org>
55221         gnulib-tool: Make warning diagnostics consistent.
55222         * gnulib-tool (func_warning): New function.
55223         Use it everywhere where gnulib-tool produces output to stderr and it is
55224         not a fatal error.
55226 2010-01-25  Bruno Haible  <bruno@clisp.org>
55228         Fix test dependencies.
55229         * modules/xstrtol-tests (Depends-on): Add inttypes.
55230         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
55232 2010-01-25  Pádraig Brady  <P@draigBrady.com>
55234         syntax-check: detect incorrect boolean macro values in config.h
55235         * modules/maintainer-makefile (configure.ac): Parameterize the location
55236         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
55237         The logic is from Eric Blake and the location indicated by Jim Meyering.
55238         Note the more natural CONFIG_HEADER name is prohibited by automake
55239         for backwards compatibility reasons.
55240         * top/maint.mk (sc_Wundef_boolean): New rule.
55242 2010-01-25  Jim Meyering  <meyering@redhat.com>
55244         bootstrap: detect MacOS 10.6's shasum, too
55245         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
55246         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
55248 2010-01-23  Jim Meyering  <meyering@redhat.com>
55250         xstrtoll: new module
55251         * modules/xstrtoll: New file.
55252         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
55253         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
55254         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
55255         ./configure fails if you use this module and lack "long long".
55256         * modules/xstrtoll-tests: New module.
55257         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
55258         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
55259         new init.sh-based test framework.
55261 2010-01-24  Bruno Haible  <bruno@clisp.org>
55263         Tests for module 'yn'.
55264         * modules/yn-tests: New file.
55265         * tests/test-yn.c: New file.
55267         Tests for module 'y1'.
55268         * modules/y1-tests: New file.
55269         * tests/test-y1.c: New file.
55271         Tests for module 'y0'.
55272         * modules/y0-tests: New file.
55273         * tests/test-y0.c: New file.
55275         Tests for module 'tanh'.
55276         * modules/tanh-tests: New file.
55277         * tests/test-tanh.c: New file.
55279         Tests for module 'tan'.
55280         * modules/tan-tests: New file.
55281         * tests/test-tan.c: New file.
55283         Tests for module 'sqrt'.
55284         * modules/sqrt-tests: New file.
55285         * tests/test-sqrt.c: New file.
55287         Tests for module 'sinh'.
55288         * modules/sinh-tests: New file.
55289         * tests/test-sinh.c: New file.
55291         Tests for module 'sin'.
55292         * modules/sin-tests: New file.
55293         * tests/test-sin.c: New file.
55295         Tests for module 'rint'.
55296         * modules/rint-tests: New file.
55297         * tests/test-rint.c: New file.
55299         Tests for module 'remainder'.
55300         * modules/remainder-tests: New file.
55301         * tests/test-remainder.c: New file.
55303         Tests for module 'pow'.
55304         * modules/pow-tests: New file.
55305         * tests/test-pow.c: New file.
55307         Tests for module 'nextafter'.
55308         * modules/nextafter-tests: New file.
55309         * tests/test-nextafter.c: New file.
55311         Tests for module 'modf'.
55312         * modules/modf-tests: New file.
55313         * tests/test-modf.c: New file.
55315         Tests for module 'logb'.
55316         * modules/logb-tests: New file.
55317         * tests/test-logb.c: New file.
55319         Tests for module 'log1p'.
55320         * modules/log1p-tests: New file.
55321         * tests/test-log1p.c: New file.
55323         Tests for module 'log10'.
55324         * modules/log10-tests: New file.
55325         * tests/test-log10.c: New file.
55327         Tests for module 'log'.
55328         * modules/log-tests: New file.
55329         * tests/test-log.c: New file.
55331         Tests for module 'lgamma'.
55332         * modules/lgamma-tests: New file.
55333         * tests/test-lgamma.c: New file.
55335         Tests for module 'ldexp'.
55336         * modules/ldexp-tests: New file.
55337         * tests/test-ldexp.c: New file.
55339         Tests for module 'jn'.
55340         * modules/jn-tests: New file.
55341         * tests/test-jn.c: New file.
55343         Tests for module 'j1'.
55344         * modules/j1-tests: New file.
55345         * tests/test-j1.c: New file.
55347         Tests for module 'j0'.
55348         * modules/j0-tests: New file.
55349         * tests/test-j0.c: New file.
55351         Tests for module 'hypot'.
55352         * modules/hypot-tests: New file.
55353         * tests/test-hypot.c: New file.
55355         Tests for module 'fmod'.
55356         * modules/fmod-tests: New file.
55357         * tests/test-fmod.c: New file.
55359         Tests for module 'fabs'.
55360         * modules/fabs-tests: New file.
55361         * tests/test-fabs.c: New file.
55363         Tests for module 'exp'.
55364         * modules/exp-tests: New file.
55365         * tests/test-exp.c: New file.
55367         Tests for module 'erfc'.
55368         * modules/erfc-tests: New file.
55369         * tests/test-erfc.c: New file.
55371         Tests for module 'erf'.
55372         * modules/erf-tests: New file.
55373         * tests/test-erf.c: New file.
55375         Tests for module 'cosh'.
55376         * modules/cosh-tests: New file.
55377         * tests/test-cosh.c: New file.
55379         Tests for module 'cos'.
55380         * modules/cos-tests: New file.
55381         * tests/test-cos.c: New file.
55383         Tests for module 'copysign'.
55384         * modules/copysign-tests: New file.
55385         * tests/test-copysign.c: New file.
55387         Tests for module 'cbrt'.
55388         * modules/cbrt-tests: New file.
55389         * tests/test-cbrt.c: New file.
55391         Tests for module 'atan2'.
55392         * modules/atan2-tests: New file.
55393         * tests/test-atan2.c: New file.
55395         Tests for module 'atan'.
55396         * modules/atan-tests: New file.
55397         * tests/test-atan.c: New file.
55399         Tests for module 'asin'.
55400         * modules/asin-tests: New file.
55401         * tests/test-asin.c: New file.
55403         Tests for module 'acos'.
55404         * modules/acos-tests: New file.
55405         * tests/test-acos.c: New file.
55407 2010-01-24  Bruno Haible  <bruno@clisp.org>
55409         Fix tests for common <math.h> functions.
55410         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
55411         code snippet that references the function pointer, rather than merely
55412         calling the function. Substitute the FUNC_LIBM variable.
55413         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
55414         * modules/acos (configure.ac): Likewise.
55415         * modules/asin (configure.ac): Likewise.
55416         * modules/atan (configure.ac): Likewise.
55417         * modules/atan2 (configure.ac): Likewise.
55418         * modules/cbrt (configure.ac): Likewise.
55419         * modules/copysign (configure.ac): Likewise.
55420         * modules/cos (configure.ac): Likewise.
55421         * modules/cosh (configure.ac): Likewise.
55422         * modules/erf (configure.ac): Likewise.
55423         * modules/erfc (configure.ac): Likewise.
55424         * modules/exp (configure.ac): Likewise.
55425         * modules/fabs (configure.ac): Likewise.
55426         * modules/fmod (configure.ac): Likewise.
55427         * modules/hypot (configure.ac): Likewise.
55428         * modules/j0 (configure.ac): Likewise.
55429         * modules/j1 (configure.ac): Likewise.
55430         * modules/jn (configure.ac): Likewise.
55431         * modules/ldexp (configure.ac): Likewise.
55432         * modules/lgamma (configure.ac): Likewise.
55433         * modules/log (configure.ac): Likewise.
55434         * modules/log10 (configure.ac): Likewise.
55435         * modules/log1p (configure.ac): Likewise.
55436         * modules/logb (configure.ac): Likewise.
55437         * modules/modf (configure.ac): Likewise.
55438         * modules/nextafter (configure.ac): Likewise.
55439         * modules/pow (configure.ac): Likewise.
55440         * modules/remainder (configure.ac): Likewise.
55441         * modules/rint (configure.ac): Likewise.
55442         * modules/sin (configure.ac): Likewise.
55443         * modules/sinh (configure.ac): Likewise.
55444         * modules/tan (configure.ac): Likewise.
55445         * modules/tanh (configure.ac): Likewise.
55446         * modules/y0 (configure.ac): Likewise.
55447         * modules/y1 (configure.ac): Likewise.
55448         * modules/yn (configure.ac): Likewise.
55450 2010-01-24  Bruno Haible  <bruno@clisp.org>
55452         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
55453         * tests/test-acosl.c (x): New variable.
55454         (main): Store argument in x and fetch it from x.
55455         * tests/test-asinl.c (x): New variable.
55456         (main): Store argument in x and fetch it from x.
55457         * tests/test-atanl.c (x): New variable.
55458         (main): Store argument in x and fetch it from x.
55459         * tests/test-cosl.c (x): New variable.
55460         (main): Store argument in x and fetch it from x.
55461         * tests/test-expl.c (x): New variable.
55462         (main): Store argument in x and fetch it from x.
55463         * tests/test-logl.c (x): New variable.
55464         (main): Store argument in x and fetch it from x.
55465         * tests/test-sinl.c (x): New variable.
55466         (main): Store argument in x and fetch it from x.
55467         * tests/test-sqrtl.c (x): New variable.
55468         (main): Store argument in x and fetch it from x.
55469         * tests/test-tanl.c (x): New variable.
55470         (main): Store argument in x and fetch it from x.
55472 2010-01-24  Bruno Haible  <bruno@clisp.org>
55474         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
55475         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
55476         assignments to the initial TESTS_ENVIRONMENT.
55477         * doc/gnulib.texi (Unit test modules): Document it.
55478         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
55479         TESTS_ENVIRONMENT.
55480         * modules/btowc-tests (Makefile.am): Likewise.
55481         * modules/c-stack-tests (Makefile.am): Likewise.
55482         * modules/c-strcase-tests (Makefile.am): Likewise.
55483         * modules/copy-file-tests (Makefile.am): Likewise.
55484         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
55485         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
55486         * modules/mbrtowc-tests (Makefile.am): Likewise.
55487         * modules/mbscasecmp-tests (Makefile.am): Likewise.
55488         * modules/mbscasestr-tests (Makefile.am): Likewise.
55489         * modules/mbschr-tests (Makefile.am): Likewise.
55490         * modules/mbscspn-tests (Makefile.am): Likewise.
55491         * modules/mbsinit-tests (Makefile.am): Likewise.
55492         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
55493         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
55494         * modules/mbspbrk-tests (Makefile.am): Likewise.
55495         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
55496         * modules/mbsrchr-tests (Makefile.am): Likewise.
55497         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
55498         * modules/mbsspn-tests (Makefile.am): Likewise.
55499         * modules/mbsstr-tests (Makefile.am): Likewise.
55500         * modules/nl_langinfo-tests (Makefile.am): Likewise.
55501         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
55502         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
55503         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
55504         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
55505         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
55506         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
55507         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
55508         * modules/wcrtomb-tests (Makefile.am): Likewise.
55509         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
55510         * modules/wcsrtombs-tests (Makefile.am): Likewise.
55511         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
55512         assignments from TESTS_ENVIRONMENT.
55513         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
55514         augmentation.
55515         * modules/argp-version-etc-tests (Makefile.am): Likewise.
55516         * modules/atexit-tests (Makefile.am): Likewise.
55517         * modules/binary-io-tests (Makefile.am): Likewise.
55518         * modules/closein-tests (Makefile.am): Likewise.
55519         * modules/dprintf-posix-tests (Makefile.am): Likewise.
55520         * modules/exclude-tests (Makefile.am): Likewise.
55521         * modules/fflush-tests (Makefile.am): Likewise.
55522         * modules/fpending-tests (Makefile.am): Likewise.
55523         * modules/fprintf-posix-tests (Makefile.am): Likewise.
55524         * modules/freadahead-tests (Makefile.am): Likewise.
55525         * modules/freadptr-tests (Makefile.am): Likewise.
55526         * modules/freadseek-tests (Makefile.am): Likewise.
55527         * modules/fseek-tests (Makefile.am): Likewise.
55528         * modules/fseeko-tests (Makefile.am): Likewise.
55529         * modules/ftell-tests (Makefile.am): Likewise.
55530         * modules/ftello-tests (Makefile.am): Likewise.
55531         * modules/idpriv-drop-tests (Makefile.am): Likewise.
55532         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
55533         * modules/lseek-tests (Makefile.am): Likewise.
55534         * modules/parse-duration-tests (Makefile.am): Likewise.
55535         * modules/perror-tests (Makefile.am): Likewise.
55536         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
55537         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
55538         * modules/pipe-tests (Makefile.am): Likewise.
55539         * modules/pread-tests (Makefile.am): Likewise.
55540         * modules/printf-posix-tests (Makefile.am): Likewise.
55541         * modules/select-tests (Makefile.am): Likewise.
55542         * modules/sigpipe-tests (Makefile.am): Likewise.
55543         * modules/tsearch-tests (Makefile.am): Likewise.
55544         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
55545         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
55546         * modules/uniname/uniname-tests (Makefile.am): Likewise.
55547         * modules/uniwidth/width-tests (Makefile.am): Likewise.
55548         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
55549         * modules/version-etc-tests (Makefile.am): Likewise.
55550         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
55551         * modules/vprintf-posix-tests (Makefile.am): Likewise.
55552         * modules/xalloc-die-tests (Makefile.am): Likewise.
55553         * modules/xprintf-posix-tests (Makefile.am): Likewise.
55554         * modules/xstrtoimax-tests (Makefile.am): Likewise.
55555         * modules/xstrtol-tests (Makefile.am): Likewise.
55556         * modules/xstrtoumax-tests (Makefile.am): Likewise.
55557         * modules/yesno-tests (Makefile.am): Likewise.
55558         Suggested by Jim Meyering.
55560 2010-01-24  Bruno Haible  <bruno@clisp.org>
55562         More documentation.
55563         * doc/gnulib.texi (Writing modules): New chapter.
55564         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
55565         the new chapter.
55567 2010-01-24  Jim Meyering  <meyering@redhat.com>
55569         maint.mk: do not prepend "./" after filtering
55570         * top/maint.mk (_prepend_srcdir_prefix): New variable
55571         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
55572         "./" when $(srcdir) is ".".
55574         define STREQ(a,b) consistently, removing useless parentheses
55575         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
55576         since the only risk is that "a" or "b" contains an unparenthesized
55577         comma, but if either did that, STREQ would have 3 or more arguments.
55578         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
55579         * lib/fts.c (STREQ): Remove unnecessary parentheses.
55580         * lib/hash-triple.c (STREQ): Likewise.
55581         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
55582         * lib/getugroups.c (STREQ): Likewise.
55584 2010-01-23  Jim Meyering  <meyering@redhat.com>
55586         maint.mk: fix syntax-check in a non-srcdir build directory
55587         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
55588         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
55590 2010-01-22  Jim Meyering  <meyering@redhat.com>
55592         userspec: add unit tests
55593         * tests/test-userspec.c: New file.
55594         * modules/userspec-tests: Likewise.
55596 2010-01-21  Jim Meyering  <meyering@redhat.com>
55598         maint.mk: handle source file names containing "." robustly
55599         * top/maint.mk (_dot_escaped_srcdir): Define.
55600         (VC_LIST): Use it in LHS of sed substitution.
55602 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
55604         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
55605         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
55606         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
55607         from a non-srcdir build.
55609 2010-01-20  Eric Blake  <ebb9@byu.net>
55611         warn-on-use: use instead of link-warning
55612         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
55613         * modules/unistd (Depends-on, Makefile.am): Likewise.
55614         * modules/arpa_inet (Depends-on): Replace link-warning with
55615         warn-on-use.
55616         (Makefile.am): Update rules accordingly.
55617         * modules/ctype (Depends-on, Makefile.am): Likewise.
55618         * modules/dirent (Depends-on, Makefile.am): Likewise.
55619         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
55620         * modules/inttypes (Depends-on, Makefile.am): Likewise.
55621         * modules/langinfo (Depends-on, Makefile.am): Likewise.
55622         * modules/locale (Depends-on, Makefile.am): Likewise.
55623         * modules/math (Depends-on, Makefile.am): Likewise.
55624         * modules/search (Depends-on, Makefile.am): Likewise.
55625         * modules/signal (Depends-on, Makefile.am): Likewise.
55626         * modules/spawn (Depends-on, Makefile.am): Likewise.
55627         * modules/stdlib (Depends-on, Makefile.am): Likewise.
55628         * modules/string (Depends-on, Makefile.am): Likewise.
55629         * modules/strings (Depends-on, Makefile.am): Likewise.
55630         * modules/sys_file (Depends-on, Makefile.am): Likewise.
55631         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
55632         * modules/sys_select (Depends-on, Makefile.am): Likewise.
55633         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
55634         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
55635         * modules/sys_times (Depends-on, Makefile.am): Likewise.
55636         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
55637         * modules/wchar (Depends-on, Makefile.am): Likewise.
55638         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
55639         should be poisoned.
55640         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
55641         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
55642         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
55643         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
55644         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
55645         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
55646         * m4/math_h.m4 (gl_MATH_H): Likewise.
55647         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
55648         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
55649         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
55650         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
55651         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
55652         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
55653         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
55654         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
55655         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
55656         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
55657         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
55658         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
55659         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
55660         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
55661         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
55662         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
55663         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
55664         GL_LINK_WARNING.
55665         * lib/ctype.in.h: Likewise.
55666         * lib/dirent.in.h: Likewise.
55667         * lib/fcntl.in.h: Likewise.
55668         * lib/inttypes.in.h: Likewise.
55669         * lib/langinfo.in.h: Likewise.
55670         * lib/locale.in.h: Likewise.
55671         * lib/math.in.h: Likewise.
55672         * lib/search.in.h: Likewise.
55673         * lib/signal.in.h: Likewise.
55674         * lib/spawn.in.h: Likewise.
55675         * lib/stdio.in.h: Likewise.
55676         * lib/stdlib.in.h: Likewise.
55677         * lib/string.in.h: Likewise.
55678         * lib/strings.in.h: Likewise.
55679         * lib/sys_file.in.h: Likewise.
55680         * lib/sys_ioctl.in.h: Likewise.
55681         * lib/sys_select.in.h: Likewise.
55682         * lib/sys_socket.in.h: Likewise.
55683         * lib/sys_stat.in.h: Likewise.
55684         * lib/sys_times.in.h: Likewise.
55685         * lib/sys_utsname.in.h: Likewise.
55686         * lib/unistd.in.h: Likewise.
55687         * lib/wchar.in.h: Likewise.
55689 2010-01-20  Bruno Haible  <bruno@clisp.org>
55691         Avoid duplicate -lm.
55692         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
55693         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
55694         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
55695         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
55696         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
55697         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
55698         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
55699         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
55700         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
55701         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
55702         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
55703         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
55704         Reported by Paolo Bonzini.
55706 2010-01-19  Bruno Haible  <bruno@clisp.org>
55708         langinfo, nl_langinfo: Relicense under LGPLv2+.
55709         * modules/langinfo (License): Change to LGPLv2+.
55710         * modules/nl_langinfo (License): Likewise.
55711         Patch by David Lutterkort <lutter@redhat.com>.
55713 2010-01-19  Bruno Haible  <bruno@clisp.org>
55715         Avoid compilation error with cc on OSF/1 5.1.
55716         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
55717         statement, not before.
55718         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55720 2010-01-18  Bruno Haible  <bruno@clisp.org>
55722         Avoid a link error due to the __printf__ symbol.
55723         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
55724         and 2.6.x.
55725         (__format__, __printf__): Remove definitions.
55726         * lib/argp-fmtstream.h: Likewise.
55727         * lib/argp.h: Likewise.
55728         * lib/error.h: Likewise.
55729         * lib/vasnprintf.h: Likewise.
55730         * lib/xprintf.h: Likewise.
55731         * lib/xvasprintf.h: Likewise.
55732         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55734 2010-01-18  Bruno Haible  <bruno@clisp.org>
55736         Tests for module 'tanl'.
55737         * modules/tanl-tests: New file.
55738         * tests/test-tanl.c: New file.
55740         Tests for module 'sqrtl'.
55741         * modules/sqrtl-tests: New file.
55742         * tests/test-sqrtl.c: New file.
55744         Tests for module 'sinl'.
55745         * modules/sinl-tests: New file.
55746         * tests/test-sinl.c: New file.
55748         Tests for module 'logl'.
55749         * modules/logl-tests: New file.
55750         * tests/test-logl.c: New file.
55752         Tests for module 'expl'.
55753         * modules/expl-tests: New file.
55754         * tests/test-expl.c: New file.
55756         Tests for module 'cosl'.
55757         * modules/cosl-tests: New file.
55758         * tests/test-cosl.c: New file.
55760         Tests for module 'atanl'.
55761         * modules/atanl-tests: New file.
55762         * tests/test-atanl.c: New file.
55764         Tests for module 'asinl'.
55765         * modules/asinl-tests: New file.
55766         * tests/test-asinl.c: New file.
55768         Tests for module 'acosl'.
55769         * modules/acosl-tests: New file.
55770         * tests/test-acosl.c: New file.
55772         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
55773         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
55774         tanl): Use the standard gnulib idiom.
55775         * lib/cosl.c: Don't include trigl.c and sincosl.c.
55776         * lib/sinl.c: Likewise.
55777         * lib/tanl.c: Don't include trigl.c.
55778         (kernel_tanl): Make static.
55779         * lib/sincosl.c: Include trigl.h first.
55780         * lib/trigl.c: Likewise.
55781         * m4/acosl.m4: New file.
55782         * m4/asinl.m4: New file.
55783         * m4/atanl.m4: New file.
55784         * m4/cosl.m4: New file.
55785         * m4/expl.m4: New file.
55786         * m4/logl.m4: New file.
55787         * m4/sinl.m4: New file.
55788         * m4/sqrtl.m4: New file.
55789         * m4/tanl.m4: New file.
55790         * m4/mathl.m4: Remove file.
55791         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
55792         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
55793         Don't initialize GNULIB_MATHL.
55794         * modules/acosl: New file.
55795         * modules/asinl: New file.
55796         * modules/atanl: New file.
55797         * modules/cosl: New file.
55798         * modules/expl: New file.
55799         * modules/logl: New file.
55800         * modules/sinl: New file.
55801         * modules/sqrtl: New file.
55802         * modules/tanl: New file.
55803         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
55804         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
55805         substitute GNULIB_MATHL.
55806         * modules/mathl: Rewritten.
55807         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
55808         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
55809         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
55810         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
55811         * doc/posix-functions/expl.texi: Mention the 'expl' module.
55812         * doc/posix-functions/logl.texi: Mention the 'logl' module.
55813         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
55814         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
55815         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
55817 2010-01-18  Bruno Haible  <bruno@clisp.org>
55819         sqrt: Make gl_FUNC_SQRT requirable.
55820         * m4/sqrt.m4: New file.
55821         * modules/sqrt (Files): Add it.
55822         (configure.ac): Invoke gl_FUNC_SQRT.
55824 2010-01-18  Bruno Haible  <bruno@clisp.org>
55826         New modules for common <math.h> functions.
55827         * m4/mathfunc.m4: New file.
55828         * modules/acos: New file.
55829         * modules/asin: New file.
55830         * modules/atan: New file.
55831         * modules/atan2: New file.
55832         * modules/cbrt: New file.
55833         * modules/copysign: New file.
55834         * modules/cos: New file.
55835         * modules/cosh: New file.
55836         * modules/erf: New file.
55837         * modules/erfc: New file.
55838         * modules/exp: New file.
55839         * modules/fabs: New file.
55840         * modules/fmod: New file.
55841         * modules/hypot: New file.
55842         * modules/j0: New file.
55843         * modules/j1: New file.
55844         * modules/jn: New file.
55845         * modules/ldexp: New file.
55846         * modules/lgamma: New file.
55847         * modules/log: New file.
55848         * modules/log10: New file.
55849         * modules/log1p: New file.
55850         * modules/logb: New file.
55851         * modules/modf: New file.
55852         * modules/nextafter: New file.
55853         * modules/pow: New file.
55854         * modules/remainder: New file.
55855         * modules/rint: New file.
55856         * modules/sin: New file.
55857         * modules/sinh: New file.
55858         * modules/sqrt: New file.
55859         * modules/tan: New file.
55860         * modules/tanh: New file.
55861         * modules/y0: New file.
55862         * modules/y1: New file.
55863         * modules/yn: New file.
55864         * doc/posix-functions/acos.texi: Mention the 'acos' module.
55865         * doc/posix-functions/asin.texi: Mention the 'asin' module.
55866         * doc/posix-functions/atan.texi: Mention the 'atan' module.
55867         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
55868         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
55869         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
55870         * doc/posix-functions/cos.texi: Mention the 'cos' module.
55871         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
55872         * doc/posix-functions/erf.texi: Mention the 'erf' module.
55873         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
55874         * doc/posix-functions/exp.texi: Mention the 'exp' module.
55875         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
55876         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
55877         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
55878         * doc/posix-functions/j0.texi: Mention the 'j0' module.
55879         * doc/posix-functions/j1.texi: Mention the 'j1' module.
55880         * doc/posix-functions/jn.texi: Mention the 'jn' module.
55881         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
55882         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
55883         * doc/posix-functions/log.texi: Mention the 'log' module.
55884         * doc/posix-functions/log10.texi: Mention the 'log10' module.
55885         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
55886         * doc/posix-functions/logb.texi: Mention the 'logb' module.
55887         * doc/posix-functions/modf.texi: Mention the 'modf' module.
55888         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
55889         * doc/posix-functions/pow.texi: Mention the 'pow' module.
55890         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
55891         * doc/posix-functions/rint.texi: Mention the 'rint' module.
55892         * doc/posix-functions/sin.texi: Mention the 'sin' module.
55893         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
55894         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
55895         * doc/posix-functions/tan.texi: Mention the 'tan' module.
55896         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
55897         * doc/posix-functions/y0.texi: Mention the 'y0' module.
55898         * doc/posix-functions/y1.texi: Mention the 'y1' module.
55899         * doc/posix-functions/yn.texi: Mention the 'yn' module.
55901 2010-01-18  Jim Meyering  <meyering@redhat.com>
55903         ignore-value: relax license to LGPLv2+
55904         * modules/ignore-value (License): Relax to LGPLv2+.
55906         getdate: don't leak when TZ contains two or more '"'s
55907         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
55908         double quote in TZ after the first one.
55910         readtokens: do not leak internal token_lengths buffer
55911         * lib/readtokens.c (readtokens): Free the local, lengths,
55912         when the supplied "token_lengths" parameter is NULL.
55914 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55916         Fix a couple of missing LIBTHREAD link failures on AIX.
55917         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
55918         $(LIBTHREAD).
55919         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
55921         Link test-poll against INET_PTON_LIB.
55922         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
55923         for inet_pton on Solaris 10.
55925 2010-01-17  Bruno Haible  <bruno@clisp.org>
55927         unistdio/*-sprintf: Fix typo in module description.
55928         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
55929         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
55930         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
55931         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
55932         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
55933         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
55934         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
55935         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55937 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55939         gnulib-tool: fix filelist for AIX, HP-UX ksh.
55940         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
55941         variables in shell case patterns, for AIX and HP-UX ksh.
55943         Split large sed scripts, for HP-UX sed.
55944         * modules/stdio: Split sed scripts around 50 sed commands,
55945         to avoid HP-UX limit of 99 commands, in the near future.
55946         * modules/string: Likewise.
55947         * modules/unistd: Likewise.
55949         gnulib-tool: avoid writing in the current directory.
55950         * gnulib-tool (func_emit_lib_Makefile_am)
55951         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
55952         not in the current directory, so concurrent gnulib-tool
55953         instances do not interfere.
55955 2010-01-16  Jim Meyering  <meyering@redhat.com>
55957         doc: update users.txt
55958         * users.txt: Add grep.
55959         (diffutils, gzip): Update URLs.
55961 2010-01-12  Bruno Haible  <bruno@clisp.org>
55963         posix_spawn: Avoid test failure on Cygwin.
55964         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
55965         characters.
55966         Reported by Simon Josefsson.
55968 2010-01-12  Bruno Haible  <bruno@clisp.org>
55970         * tests/test-cond.c (main): When skipping the test, show the reason.
55972 2010-01-12  Simon Josefsson  <simon@josefsson.org>
55974         * lib/striconv.c (str_cd_iconv): Avoid if before free.
55976 2010-01-12  Simon Josefsson  <simon@josefsson.org>
55978         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
55979         VC_LIST_ALWAYS_EXCLUDE_REGEX.
55981 2010-01-12  Eric Blake  <ebb9@byu.net>
55983         build: guarantee AS_VAR_IF
55984         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
55985         (gl_AS_VAR_IF): Move...
55986         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
55987         Reported by Simon Josefsson.
55989 2010-01-12  Simon Josefsson  <simon@josefsson.org>
55991         * lib/stdio.in.h: Fix typo.
55993 2010-01-12  Simon Josefsson  <simon@josefsson.org>
55995         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
55996         libgpg-error.
55998 2010-01-12  Simon Josefsson  <simon@josefsson.org>
56000         * tests/test-xalloc-die.sh: Use $EXEEXT.
56002 2010-01-12  Simon Josefsson  <simon@josefsson.org>
56003             Bruno Haible  <bruno@clisp.org>
56005         getlogin, getlogin_r: Avoid test failure.
56006         * tests/test-getlogin.c: Include <stdio.h>.
56007         (main): Skip the test when the function fails because stdin is not a
56008         tty.
56009         * tests/test-getlogin_r.c: Include <stdio.h>.
56010         (main): Skip the test when the function fails because stdin is not a
56011         tty.
56013 2010-01-11  Eric Blake  <ebb9@byu.net>
56015         tests: avoid more large file warnings
56016         * tests/test-fflush.c: Avoid warning about ftell use.
56017         * tests/test-fseek.c: Avoid warning about fseek use.
56019 2010-01-10  Bruno Haible  <bruno@clisp.org>
56021         nproc: Work better on Linux when /proc and /sys are not mounted.
56022         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
56023         as lower bound when, on glibc/Linux systems,
56024         sysconf (_SC_NPROCESSORS_CONF) returns 1.
56025         Suggested by Pádraig Brady <P@draigbrady.com>.
56026         Reported by Dmitry V. Levin <ldv@altlinux.org>.
56028         nproc: Refactor.
56029         * lib/nproc.c (num_processors_via_affinity_mask): New function,
56030         extracted from num_processors.
56031         (num_processors): Call it.
56033 2010-01-11  Jim Meyering  <meyering@redhat.com>
56035         utimecmp: avoid new warning from upcoming gcc-4.5.0
56036         * lib/utimecmp.c (BILLION): Define using #define rather than an
56037         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
56039 2010-01-11  Eric Blake  <ebb9@byu.net>
56041         math: add portability warnings for classification macros
56042         * modules/math (Depends-on): Add warn-on-use.
56043         (Makefile.am): Provide new substitutions.
56044         * m4/math_h.m4 (gl_MATH_H): Require inline.
56045         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
56046         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
56047         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
56048         implement warnings.
56050         unistd: warn on use of environ without module
56051         * modules/unistd (Depends-on): Add warn-on-use.
56052         (Makefile.am): Provide new substitutions.
56053         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
56054         * lib/unistd.in.h (environ): Wrap with a warning helper function.
56056         stdio: warn on suspicious uses
56057         * modules/stdio (Depends-on): Add warn-on-use.
56058         (Makefile.am): Provide new substitutions.
56059         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
56060         fseeko.
56061         * lib/stdio.in.h (gets): Always warn on use.
56062         (fseek, ftell): Adjust when warnings are issued, and honor
56063         _GL_NO_LARGE_FILES as a way to silence the warning.
56064         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
56065         any warning about large file offsets.
56066         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
56067         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
56068         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
56069         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
56070         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
56071         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
56072         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
56073         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
56075         warn-on-use: new module
56076         * modules/warn-on-use: New file.
56077         * build-aux/warn-on-use.h: Likewise.
56078         * m4/warn-on-use.m4: Likewise.
56079         * MODULES.html.sh (Support for building): Mention it.
56081 2010-01-10  Bruno Haible  <bruno@clisp.org>
56083         Tests for module 'unistr/u32-strdup'.
56084         * modules/unistr/u32-strdup-tests: New file.
56085         * tests/unistr/test-u32-strdup.c: New file.
56087         Tests for module 'unistr/u16-strdup'.
56088         * modules/unistr/u16-strdup-tests: New file.
56089         * tests/unistr/test-u16-strdup.c: New file.
56091         Tests for module 'unistr/u8-strdup'.
56092         * modules/unistr/u8-strdup-tests: New file.
56093         * tests/unistr/test-u8-strdup.c: New file.
56094         * tests/unistr/test-strdup.h: New file.
56096         Tests for module 'unistr/u32-strncmp'.
56097         * modules/unistr/u32-strncmp-tests: New file.
56098         * tests/unistr/test-u32-strncmp.c: New file.
56100         Tests for module 'unistr/u16-strncmp'.
56101         * modules/unistr/u16-strncmp-tests: New file.
56102         * tests/unistr/test-u16-strncmp.c: New file.
56104         Tests for module 'unistr/u8-strncmp'.
56105         * modules/unistr/u8-strncmp-tests: New file.
56106         * tests/unistr/test-u8-strncmp.c: New file.
56107         * tests/unistr/test-strncmp.h: New file.
56109         Tests for module 'unistr/u32-strcoll'.
56110         * modules/unistr/u32-strcoll-tests: New file.
56111         * tests/unistr/test-u32-strcoll.c: New file.
56113         Tests for module 'unistr/u16-strcoll'.
56114         * modules/unistr/u16-strcoll-tests: New file.
56115         * tests/unistr/test-u16-strcoll.c: New file.
56117         Tests for module 'unistr/u8-strcoll'.
56118         * modules/unistr/u8-strcoll-tests: New file.
56119         * tests/unistr/test-u8-strcoll.c: New file.
56121         Tests for module 'unistr/u32-strcmp'.
56122         * modules/unistr/u32-strcmp-tests: New file.
56123         * tests/unistr/test-u32-strcmp.c: New file.
56124         * tests/unistr/test-u32-strcmp.h: New file.
56126         Tests for module 'unistr/u16-strcmp'.
56127         * modules/unistr/u16-strcmp-tests: New file.
56128         * tests/unistr/test-u16-strcmp.c: New file.
56129         * tests/unistr/test-u16-strcmp.h: New file.
56131         Tests for module 'unistr/u8-strcmp'.
56132         * modules/unistr/u8-strcmp-tests: New file.
56133         * tests/unistr/test-u8-strcmp.c: New file.
56134         * tests/unistr/test-u8-strcmp.h: New file.
56135         * tests/unistr/test-strcmp.h: New file.
56137         Tests for module 'unistr/u32-strncat'.
56138         * modules/unistr/u32-strncat-tests: New file.
56139         * tests/unistr/test-u32-strncat.c: New file.
56141         Tests for module 'unistr/u16-strncat'.
56142         * modules/unistr/u16-strncat-tests: New file.
56143         * tests/unistr/test-u16-strncat.c: New file.
56145         Tests for module 'unistr/u8-strncat'.
56146         * modules/unistr/u8-strncat-tests: New file.
56147         * tests/unistr/test-u8-strncat.c: New file.
56148         * tests/unistr/test-strncat.h: New file.
56150         Tests for module 'unistr/u32-strcat'.
56151         * modules/unistr/u32-strcat-tests: New file.
56152         * tests/unistr/test-u32-strcat.c: New file.
56154         Tests for module 'unistr/u16-strcat'.
56155         * modules/unistr/u16-strcat-tests: New file.
56156         * tests/unistr/test-u16-strcat.c: New file.
56158         Tests for module 'unistr/u8-strcat'.
56159         * modules/unistr/u8-strcat-tests: New file.
56160         * tests/unistr/test-u8-strcat.c: New file.
56161         * tests/unistr/test-strcat.h: New file.
56163         Tests for module 'unistr/u32-stpncpy'.
56164         * modules/unistr/u32-stpncpy-tests: New file.
56165         * tests/unistr/test-u32-stpncpy.c: New file.
56167         Tests for module 'unistr/u16-stpncpy'.
56168         * modules/unistr/u16-stpncpy-tests: New file.
56169         * tests/unistr/test-u16-stpncpy.c: New file.
56171         Tests for module 'unistr/u8-stpncpy'.
56172         * modules/unistr/u8-stpncpy-tests: New file.
56173         * tests/unistr/test-u8-stpncpy.c: New file.
56174         * tests/unistr/test-stpncpy.h: New file.
56176         Tests for module 'unistr/u32-strncpy'.
56177         * modules/unistr/u32-strncpy-tests: New file.
56178         * tests/unistr/test-u32-strncpy.c: New file.
56180         Tests for module 'unistr/u16-strncpy'.
56181         * modules/unistr/u16-strncpy-tests: New file.
56182         * tests/unistr/test-u16-strncpy.c: New file.
56184         Tests for module 'unistr/u8-strncpy'.
56185         * modules/unistr/u8-strncpy-tests: New file.
56186         * tests/unistr/test-u8-strncpy.c: New file.
56187         * tests/unistr/test-strncpy.h: New file.
56189         Tests for module 'unistr/u32-stpcpy'.
56190         * modules/unistr/u32-stpcpy-tests: New file.
56191         * tests/unistr/test-u32-stpcpy.c: New file.
56193         Tests for module 'unistr/u16-stpcpy'.
56194         * modules/unistr/u16-stpcpy-tests: New file.
56195         * tests/unistr/test-u16-stpcpy.c: New file.
56197         Tests for module 'unistr/u8-stpcpy'.
56198         * modules/unistr/u8-stpcpy-tests: New file.
56199         * tests/unistr/test-u8-stpcpy.c: New file.
56200         * tests/unistr/test-stpcpy.h: New file.
56202         Tests for module 'unistr/u32-strcpy'.
56203         * modules/unistr/u32-strcpy-tests: New file.
56204         * tests/unistr/test-u32-strcpy.c: New file.
56206         Tests for module 'unistr/u16-strcpy'.
56207         * modules/unistr/u16-strcpy-tests: New file.
56208         * tests/unistr/test-u16-strcpy.c: New file.
56210         Tests for module 'unistr/u8-strcpy'.
56211         * modules/unistr/u8-strcpy-tests: New file.
56212         * tests/unistr/test-u8-strcpy.c: New file.
56213         * tests/unistr/test-strcpy.h: New file.
56215         Tests for module 'unistr/u32-strnlen'.
56216         * modules/unistr/u32-strnlen-tests: New file.
56217         * tests/unistr/test-u32-strnlen.c: New file.
56219         Tests for module 'unistr/u16-strnlen'.
56220         * modules/unistr/u16-strnlen-tests: New file.
56221         * tests/unistr/test-u16-strnlen.c: New file.
56223         Tests for module 'unistr/u8-strnlen'.
56224         * modules/unistr/u8-strnlen-tests: New file.
56225         * tests/unistr/test-u8-strnlen.c: New file.
56226         * tests/unistr/test-strnlen.h: New file.
56228         Tests for module 'unistr/u32-strlen'.
56229         * modules/unistr/u32-strlen-tests: New file.
56230         * tests/unistr/test-u32-strlen.c: New file.
56232         Tests for module 'unistr/u16-strlen'.
56233         * modules/unistr/u16-strlen-tests: New file.
56234         * tests/unistr/test-u16-strlen.c: New file.
56236         Tests for module 'unistr/u8-strlen'.
56237         * modules/unistr/u8-strlen-tests: New file.
56238         * tests/unistr/test-u8-strlen.c: New file.
56240         Tests for module 'unistr/u32-prev'.
56241         * modules/unistr/u32-prev-tests: New file.
56242         * tests/unistr/test-u32-prev.c: New file.
56244         Tests for module 'unistr/u16-prev'.
56245         * modules/unistr/u16-prev-tests: New file.
56246         * tests/unistr/test-u16-prev.c: New file.
56248         Tests for module 'unistr/u8-prev'.
56249         * modules/unistr/u8-prev-tests: New file.
56250         * tests/unistr/test-u8-prev.c: New file.
56252         Tests for module 'unistr/u32-next'.
56253         * modules/unistr/u32-next-tests: New file.
56254         * tests/unistr/test-u32-next.c: New file.
56256         Tests for module 'unistr/u16-next'.
56257         * modules/unistr/u16-next-tests: New file.
56258         * tests/unistr/test-u16-next.c: New file.
56260         Tests for module 'unistr/u8-next'.
56261         * modules/unistr/u8-next-tests: New file.
56262         * tests/unistr/test-u8-next.c: New file.
56264         Tests for module 'unistr/u32-strmbtouc'.
56265         * modules/unistr/u32-strmbtouc-tests: New file.
56266         * tests/unistr/test-u32-strmbtouc.c: New file.
56268         Tests for module 'unistr/u16-strmbtouc'.
56269         * modules/unistr/u16-strmbtouc-tests: New file.
56270         * tests/unistr/test-u16-strmbtouc.c: New file.
56272         Tests for module 'unistr/u8-strmbtouc'.
56273         * modules/unistr/u8-strmbtouc-tests: New file.
56274         * tests/unistr/test-u8-strmbtouc.c: New file.
56276         Tests for module 'unistr/u32-strmblen'.
56277         * modules/unistr/u32-strmblen-tests: New file.
56278         * tests/unistr/test-u32-strmblen.c: New file.
56280         Tests for module 'unistr/u16-strmblen'.
56281         * modules/unistr/u16-strmblen-tests: New file.
56282         * tests/unistr/test-u16-strmblen.c: New file.
56284         Tests for module 'unistr/u8-strmblen'.
56285         * modules/unistr/u8-strmblen-tests: New file.
56286         * tests/unistr/test-u8-strmblen.c: New file.
56288         Tests for module 'unistr/u32-cpy-alloc'.
56289         * modules/unistr/u32-cpy-alloc-tests: New file.
56290         * tests/unistr/test-u32-cpy-alloc.c: New file.
56292         Tests for module 'unistr/u16-cpy-alloc'.
56293         * modules/unistr/u16-cpy-alloc-tests: New file.
56294         * tests/unistr/test-u16-cpy-alloc.c: New file.
56296         Tests for module 'unistr/u8-cpy-alloc'.
56297         * modules/unistr/u8-cpy-alloc-tests: New file.
56298         * tests/unistr/test-u8-cpy-alloc.c: New file.
56299         * tests/unistr/test-cpy-alloc.h: New file.
56301         Tests for module 'unistr/u32-mbsnlen'.
56302         * modules/unistr/u32-mbsnlen-tests: New file.
56303         * tests/unistr/test-u32-mbsnlen.c: New file.
56305         Tests for module 'unistr/u16-mbsnlen'.
56306         * modules/unistr/u16-mbsnlen-tests: New file.
56307         * tests/unistr/test-u16-mbsnlen.c: New file.
56309         Tests for module 'unistr/u8-mbsnlen'.
56310         * modules/unistr/u8-mbsnlen-tests: New file.
56311         * tests/unistr/test-u8-mbsnlen.c: New file.
56313         Tests for module 'unistr/u32-chr'.
56314         * modules/unistr/u32-chr-tests: New file.
56315         * tests/unistr/test-u32-chr.c: New file.
56317         Tests for module 'unistr/u16-chr'.
56318         * modules/unistr/u16-chr-tests: New file.
56319         * tests/unistr/test-u16-chr.c: New file.
56321         Tests for module 'unistr/u8-chr'.
56322         * modules/unistr/u8-chr-tests: New file.
56323         * tests/unistr/test-u8-chr.c: New file.
56324         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
56326         Tests for module 'unistr/u32-cmp2'.
56327         * modules/unistr/u32-cmp2-tests: New file.
56328         * tests/unistr/test-u32-cmp2.c: New file.
56330         Tests for module 'unistr/u16-cmp2'.
56331         * modules/unistr/u16-cmp2-tests: New file.
56332         * tests/unistr/test-u16-cmp2.c: New file.
56334         Tests for module 'unistr/u8-cmp2'.
56335         * modules/unistr/u8-cmp2-tests: New file.
56336         * tests/unistr/test-u8-cmp2.c: New file.
56337         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
56339         Tests for module 'unistr/u32-cmp'.
56340         * modules/unistr/u32-cmp-tests: New file.
56341         * tests/unistr/test-u32-cmp.c: New file.
56343         Tests for module 'unistr/u16-cmp'.
56344         * modules/unistr/u16-cmp-tests: New file.
56345         * tests/unistr/test-u16-cmp.c: New file.
56347         Tests for module 'unistr/u8-cmp'.
56348         * modules/unistr/u8-cmp-tests: New file.
56349         * tests/unistr/test-u8-cmp.c: New file.
56350         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
56352         Tests for module 'unistr/u32-set'.
56353         * modules/unistr/u32-set-tests: New file.
56354         * tests/unistr/test-u32-set.c: New file.
56356         Tests for module 'unistr/u16-set'.
56357         * modules/unistr/u16-set-tests: New file.
56358         * tests/unistr/test-u16-set.c: New file.
56360         Tests for module 'unistr/u8-set'.
56361         * modules/unistr/u8-set-tests: New file.
56362         * tests/unistr/test-u8-set.c: New file.
56363         * tests/unistr/test-set.h: New file.
56365         Tests for module 'unistr/u32-move'.
56366         * modules/unistr/u32-move-tests: New file.
56367         * tests/unistr/test-u32-move.c: New file.
56369         Tests for module 'unistr/u16-move'.
56370         * modules/unistr/u16-move-tests: New file.
56371         * tests/unistr/test-u16-move.c: New file.
56373         Tests for module 'unistr/u8-move'.
56374         * modules/unistr/u8-move-tests: New file.
56375         * tests/unistr/test-u8-move.c: New file.
56376         * tests/unistr/test-move.h: New file.
56378         Tests for module 'unistr/u32-cpy'.
56379         * modules/unistr/u32-cpy-tests: New file.
56380         * tests/unistr/test-u32-cpy.c: New file.
56382         Tests for module 'unistr/u16-cpy'.
56383         * modules/unistr/u16-cpy-tests: New file.
56384         * tests/unistr/test-u16-cpy.c: New file.
56386         Tests for module 'unistr/u8-cpy'.
56387         * modules/unistr/u8-cpy-tests: New file.
56388         * tests/unistr/test-u8-cpy.c: New file.
56389         * tests/unistr/test-cpy.h: New file.
56391 2010-01-09  Bruno Haible  <bruno@clisp.org>
56393         Tests for module 'unistr/u32-uctomb'.
56394         * modules/unistr/u32-uctomb-tests: New file.
56395         * tests/unistr/test-u32-uctomb.c: New file.
56397         Tests for module 'unistr/u16-uctomb'.
56398         * modules/unistr/u16-uctomb-tests: New file.
56399         * tests/unistr/test-u16-uctomb.c: New file.
56401         Tests for module 'unistr/u8-uctomb'.
56402         * modules/unistr/u8-uctomb-tests: New file.
56403         * tests/unistr/test-u8-uctomb.c: New file.
56405         Tests for module 'unistr/u32-mbtoucr'.
56406         * modules/unistr/u32-mbtoucr-tests: New file.
56407         * tests/unistr/test-u32-mbtoucr.c: New file.
56409         Tests for module 'unistr/u16-mbtoucr'.
56410         * modules/unistr/u16-mbtoucr-tests: New file.
56411         * tests/unistr/test-u16-mbtoucr.c: New file.
56413         Tests for module 'unistr/u8-mbtoucr'.
56414         * modules/unistr/u8-mbtoucr-tests: New file.
56415         * tests/unistr/test-u8-mbtoucr.c: New file.
56417         Tests for module 'unistr/u32-mbtouc'.
56418         * modules/unistr/u32-mbtouc-tests: New file.
56419         * tests/unistr/test-u32-mbtouc.c: New file.
56421         Tests for module 'unistr/u16-mbtouc'.
56422         * modules/unistr/u16-mbtouc-tests: New file.
56423         * tests/unistr/test-u16-mbtouc.c: New file.
56425         Tests for module 'unistr/u8-mbtouc'.
56426         * modules/unistr/u8-mbtouc-tests: New file.
56427         * tests/unistr/test-u8-mbtouc.c: New file.
56429         Tests for module 'unistr/u32-mbtouc-unsafe'.
56430         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
56431         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
56432         * tests/unistr/test-u32-mbtouc.h: New file.
56434         Tests for module 'unistr/u16-mbtouc-unsafe'.
56435         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
56436         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
56437         * tests/unistr/test-u16-mbtouc.h: New file.
56439         Tests for module 'unistr/u8-mbtouc-unsafe'.
56440         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
56441         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
56442         * tests/unistr/test-u8-mbtouc.h: New file.
56444         Tests for module 'unistr/u32-mblen'.
56445         * modules/unistr/u32-mblen-tests: New file.
56446         * tests/unistr/test-u32-mblen.c: New file.
56448         Tests for module 'unistr/u16-mblen'.
56449         * modules/unistr/u16-mblen-tests: New file.
56450         * tests/unistr/test-u16-mblen.c: New file.
56452         Tests for module 'unistr/u8-mblen'.
56453         * modules/unistr/u8-mblen-tests: New file.
56454         * tests/unistr/test-u8-mblen.c: New file.
56456         Tests for module 'unistr/u32-to-u16'.
56457         * modules/unistr/u32-to-u16-tests: New file.
56458         * tests/unistr/test-u32-to-u16.c: New file.
56460         Tests for module 'unistr/u32-to-u8'.
56461         * modules/unistr/u32-to-u8-tests: New file.
56462         * tests/unistr/test-u32-to-u8.c: New file.
56464         Tests for module 'unistr/u16-to-u32'.
56465         * modules/unistr/u16-to-u32-tests: New file.
56466         * tests/unistr/test-u16-to-u32.c: New file.
56468         Tests for module 'unistr/u16-to-u8'.
56469         * modules/unistr/u16-to-u8-tests: New file.
56470         * tests/unistr/test-u16-to-u8.c: New file.
56472         Tests for module 'unistr/u8-to-u32'.
56473         * modules/unistr/u8-to-u32-tests: New file.
56474         * tests/unistr/test-u8-to-u32.c: New file.
56476         Tests for module 'unistr/u8-to-u16'.
56477         * modules/unistr/u8-to-u16-tests: New file.
56478         * tests/unistr/test-u8-to-u16.c: New file.
56480         Tests for module 'unistr/u32-check'.
56481         * modules/unistr/u32-check-tests: New file.
56482         * tests/unistr/test-u32-check.c: New file.
56484         Tests for module 'unistr/u16-check'.
56485         * modules/unistr/u16-check-tests: New file.
56486         * tests/unistr/test-u16-check.c: New file.
56488         Tests for module 'unistr/u8-check'.
56489         * modules/unistr/u8-check-tests: New file.
56490         * tests/unistr/test-u8-check.c: New file.
56492         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
56493         (category_equals): New function.
56494         (main): Add more tests.
56495         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
56497         * tests/unictype/test-bidi_byname.c (main): Add more tests.
56499 2010-01-10  Bruno Haible  <bruno@clisp.org>
56501         unistr/u*-strcoll: Try harder to distinguish different strings.
56502         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
56503         compare s1 and s2 to see if they are different.
56505 2010-01-10  Bruno Haible  <bruno@clisp.org>
56507         unistr/u*-stpncpy: Fix the return value.
56508         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
56509         description of the return value consistent with stpncpy in glibc.
56510         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
56511         written non-NUL unit.
56513 2010-01-10  Bruno Haible  <bruno@clisp.org>
56515         unistr/u*-next: Add missing dependencies.
56516         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
56517         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
56518         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
56520 2010-01-10  Bruno Haible  <bruno@clisp.org>
56522         unistr/u8-mbsnlen: Fix return value for incomplete character.
56523         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
56524         u8_mblen.
56525         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
56526         Remove unistr/u8-mblen.
56527         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
56528         u16_mblen.
56529         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
56530         Remove unistr/u16-mblen.
56532 2010-01-10  Bruno Haible  <bruno@clisp.org>
56534         wchar: Fix compilation error when <wchar.h> is used from coreutils.
56535         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
56536         Reported by Brian Gough <bjg@gnu.org> and
56537         Chris Clayton <chris2553@googlemail.com> via
56538         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
56540 2010-01-09  Bruno Haible  <bruno@clisp.org>
56542         unistr/u16-to-u32: Reject invalid input.
56543         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
56544         u16_mbtouc.
56545         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
56546         Remove unistr/u16-mbtouc.
56548         unistr/u16-to-u8: Reject invalid input.
56549         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
56550         u16_mbtouc.
56551         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
56552         Remove unistr/u16-mbtouc.
56554         unistr/u8-to-u32: Reject invalid input.
56555         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
56556         u8_mbtouc.
56557         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
56558         Remove unistr/u8-mbtouc.
56560         unistr/u8-to-u16: Reject invalid input.
56561         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
56562         u8_mbtouc.
56563         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
56564         Remove unistr/u8-mbtouc.
56566 2010-01-09  Bruno Haible  <bruno@clisp.org>
56568         Tests for module 'getlogin'.
56569         * modules/getlogin-tests: New file.
56570         * tests/test-getlogin.c: New file.
56572         New module 'getlogin'.
56573         * lib/unistd.in.h (getlogin): New declaration.
56574         * lib/getlogin.c: New file.
56575         * m4/getlogin.m4: New file.
56576         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
56577         HAVE_GETLOGIN.
56578         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
56579         HAVE_GETLOGIN.
56580         * modules/getlogin: New file.
56581         * doc/posix-functions/getlogin.texi: Mention the new module.
56582         Reported by John W. Eaton <jwe@gnu.org>.
56584 2010-01-09  Bruno Haible  <bruno@clisp.org>
56586         getlogin_r: Support for native Windows.
56587         * lib/getlogin_r.c: Include <windows.h>
56588         (getlogin_r): Implement for native Windows.
56589         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
56590         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
56591         via John W. Eaton <jwe@gnu.org>.
56593 2010-01-09  Bruno Haible  <bruno@clisp.org>
56595         getlogin_r: Small fixes.
56596         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
56597         succeeds.
56598         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
56599         before testing whether getlogin_r is declared. No need to set
56600         HAVE_DECL_GETLOGIN_R to 1.
56601         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
56603 2010-01-09  Bruno Haible  <bruno@clisp.org>
56605         * lib/unistd.in.h (getlogin_r): Add comment.
56607 2010-01-09  Bruno Haible  <bruno@clisp.org>
56609         Tests for module 'getlogin_r'.
56610         * modules/getlogin_r-tests: New file.
56611         * tests/test-getlogin_r.c: New file.
56613 2010-01-09  Jim Meyering  <meyering@redhat.com>
56615         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
56616         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
56617         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
56619 2010-01-08  Simon Josefsson  <simon@josefsson.org>
56621         * lib/dup2.c (rpl_dup2): Improve comment.
56623 2010-01-08  Eric Blake  <ebb9@byu.net>
56625         maint.mk: allow packages to add makefile @@ exceptions
56626         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
56627         (sc_makefile_check): Rename...
56628         (sc_makefile_at_at_check): ...to this, and use hook.
56630         dup2: work around mingw bug
56631         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
56632         Reported by Simon Josefsson.
56634 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
56636         glob: Fix C++ compilation.
56637         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
56638         C++.
56640 2010-01-07  Bruno Haible  <bruno@clisp.org>
56642         Fix indentation of wctype.in.h, broken since 2007-01-06.
56643         * lib/wctype.in.h: Fix indentation of preprocessor directives.
56645 2010-01-07  Bruno Haible  <bruno@clisp.org>
56647         mbslen: Avoid collision with system function.
56648         * lib/string.in.h [MirBSD]: Include <wchar.h>.
56649         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
56650         * m4/mbslen.m4: New file.
56651         * modules/mbslen (Files): Add it.
56652         (configure.ac): Invoke gl_MBSLEN.
56653         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
56654         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
56655         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
56656         via Ian Beckwith <ianb@erislabs.net>.
56658 2010-01-07  Bruno Haible  <bruno@clisp.org>
56660         dirent: Document the last fix.
56661         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
56663 2010-01-07  Bruno Haible  <bruno@clisp.org>
56665         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
56666         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
56667         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
56668         va_list are defined.
56669         * doc/posix-headers/stdio.texi: Document the bug of missing types.
56670         Reported by Eric Blake.
56672 2010-01-07  Bruno Haible  <bruno@clisp.org>
56674         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
56675         * modules/xlist (Depends-on): Add 'list',
56676         * modules/xoset (Depends-on): Add 'oset'.
56677         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56679 2010-01-07  Bruno Haible  <bruno@clisp.org>
56681         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
56682         * doc/posix-functions/strncasecmp.texi: Likewise.
56684 2010-01-07  Bruno Haible  <bruno@clisp.org>
56686         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
56688 2010-01-07  John W. Eaton  <jwe@octave.org>
56690         wctype: allow C++ use
56691         * lib/wctype.in.h: Add extern "C" block for C++.
56693 2010-01-06  Eric Blake  <ebb9@byu.net>
56695         maint.mk: detect incorrect GFDL usage
56696         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
56698 2010-01-06  Jim Meyering  <meyering@redhat.com>
56699         and Eric Blake  <ebb9@byu.net>
56701         maint.mk: ignore multi-line copyright in NEWS
56702         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
56704 2010-01-06  Eric Blake  <ebb9@byu.net>
56706         select: add missing dependency
56707         * modules/select-tests (Depends-on): Move sockets dependency...
56708         * modules/select (Depends-on): ...here.
56709         Reported by Ian Beckwith.
56711         doc: regenerate INSTALL
56712         * doc/INSTALL: Reflect recent autoconf update.
56713         * doc/INSTALL.ISO: Likewise.
56714         * doc/INSTALL.UTF-8: Likewise.
56716         pread: fix compilation on glibc
56717         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
56718         Reported by Ralf Wildenhues.
56720         dirent: fix test failure
56721         * lib/dirent.in.h (includes): Guarantee ino_t.
56722         Reported by Ralf Wildenhues.
56724 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
56726         linkat, renameat: avoid bad free
56727         * lib/at-func2.c (at_func2): Fix typo.
56728         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
56730 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56732         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
56733         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
56734         to avoid failure of symlink test later.
56736 2010-01-06  Eric Blake  <ebb9@byu.net>
56738         stdio, unistd: guarantee ssize_t
56739         * lib/unistd.in.h (includes): Ensure that types required by POSIX
56740         2008 are exposed when needed.
56741         * lib/stdio.in.h (includes): Likewise.
56742         Reported by Ralf Wildenhues.
56744 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
56746         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
56747         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
56748         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
56750 2010-01-06  Jim Meyering  <meyering@redhat.com>
56752         readtokens: this module *does* require xalloc.h
56753         It uses only functions that were omitted by the old syntax-check rule.
56754         * lib/readtokens.c: Include "xalloc.h" once again.
56755         * modules/readtokens (Depends-on): Add xalloc.
56756         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
56758 2010-01-05  Eric Blake  <ebb9@byu.net>
56760         maint: support 'make announcement' from a VPATH build
56761         * top/maint.mk (announcement): Look for correct NEWS file.
56763 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
56765         utimens (fdutimens): ignore a negative FD, per contract
56766         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
56767         when we have a valid file descriptor.  Otherwise, using a brand
56768         new glibc (with just-patched futimens that now fails with EBADF)
56769         would cause this function to fail with ENOSYS.
56770         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
56771         See also http://bugzilla.redhat.com/552320.
56773 2010-01-05  Eric Blake  <ebb9@byu.net>
56775         strcase: document what it provides
56776         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
56777         gnulib module.
56778         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
56779         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
56781 2010-01-05  Jim Meyering  <meyering@redhat.com>
56783         maint: remove useless inclusions of "xalloc.h"
56784         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
56785         * lib/readtokens.c: Likewise.
56786         * lib/same.c: Likewise.
56787         * modules/getloadavg (Depends-on): Remove xalloc.
56788         * modules/readtokens: Likewise.
56789         * modules/same: Likewise.
56791         maint.mk: include 4 more function names in alloca.h-checking regexp
56792         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
56793         regexp.  Before, we would give a false-positive (saying alloca.h
56794         is included unnecessarily) when the only uses involved omitted symbols.
56796         xalloc.h: use consistent formatting
56797         * lib/xalloc.h: Move declarations to start in the first column.
56799 2010-01-05  Eric Blake  <ebb9@byu.net>
56801         mkdir: avoid xalloc
56802         * lib/mkdir.c (includes): Drop unused header.
56803         Reported by John W. Eaton.
56805 2010-01-04  Jim Meyering  <meyering@redhat.com>
56807         nl_langinfo: avoid configure-time syntax error
56808         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
56809         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
56810         the empty string.  Don't let that provoke a shell syntax error.
56812         regcomp, regexec, fnmatch: avoid array bounds read error
56813         * lib/regcomp.c (build_equiv_class): From glibc:
56814         Use only the low 24 bits of a findidx return value as an index
56815         into the weights array.  Patch by Ulrich Drepper:
56816         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
56817         * lib/regexec.c (check_node_accept_bytes): Likewise.
56818         * lib/fnmatch_loop.c (FCT): Likewise.
56820         regcomp: skip collseq lookup when there are no rules
56821         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
56822         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
56824         regcomp: recognize ill-formed { } expressions
56825         * lib/regcomp.c (parse_dup_op): From glibc:
56826         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
56828         regcomp: fix typo in comment
56829         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
56830         s/satisfy/satisfies/.
56832         regcomp: sync from glibc: remove dead store
56833         * lib/regcomp.c (duplicate_node_closure): Remove useless
56834         search_duplicated_node call and dead store.
56836         regcomp: sync from glibc; always use nl_langinfo
56837         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
56838         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
56839         * modules/regex (Depends-on): Add nl_langinfo.
56841 2010-01-04  Eric Blake  <ebb9@byu.net>
56843         fdopendir: fix configure test
56844         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
56846 2010-01-01  Bruno Haible  <bruno@clisp.org>
56848         wchar: Remove unused configure check.
56849         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
56851 2010-01-01  Eric Blake  <ebb9@byu.net>
56853         headers: make check of system header explicit
56854         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
56855         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
56856         ourselves.
56857         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
56858         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
56859         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
56860         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
56861         internals.
56862         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
56863         missing.
56864         Suggested by Bruno Haible.
56866 2010-01-01  Jim Meyering  <meyering@redhat.com>
56868         ChangeLog: tweak to eliminate unnecessary copyright line
56869         * ChangeLog: Remove a copyright line that was mistakenly updated
56870         by today's update-copyright run.  Reported by Eric Blake.
56872         test-update-copyright: don't let envvar setting cause test failure
56873         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
56875 2010-01-01  Bruno Haible  <bruno@clisp.org>
56877         localename: Avoid gcc warning.
56878         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
56879         function if it is not used.
56881 2010-01-01  Jim Meyering  <meyering@redhat.com>
56883         update nearly all FSF copyright year lists to include 2010
56884         Use the same procedure as for 2009, outlined in
56885         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
56887         version-etc: set COPYRIGHT_YEAR to 2010
56888         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
56890 2009-12-31  Eric Blake  <ebb9@byu.net>
56892         doc: correct availability of cygwin 1.5.x getopt
56893         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
56894         variables.
56895         * doc/posix-functions/opterr.texi (opterr): Likewise.
56896         * doc/posix-functions/optind.texi (optind): Likewise.
56897         * doc/posix-functions/optopt.texi (optopt): Likewise.
56898         * doc/posix-functions/tzname.texi (tzname): Likewise.
56900         openat: update maintainer
56901         * modules/openat (Maintainer): Add myself.
56903         utimens: avoid shadowing warning
56904         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
56905         buffers into one, to avoid shadowing, as well as avoiding a
56906         redundant stat.
56907         Reported by Jim Meyering.
56909         test-dup2: avoid compiler warning
56910         * tests/test-dup2.c (is_inheritable): Only define if used.
56912 2010-01-01  Bruno Haible  <bruno@clisp.org>
56914         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
56915         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
56916         defined, use wctomb instead of wcrtomb.
56918 2010-01-01  Bruno Haible  <bruno@clisp.org>
56920         iconv: Reject native Solaris iconv.
56921         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
56922         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
56924 2009-12-31  Bruno Haible  <bruno@clisp.org>
56926         * tests/test-signal.c (main): Remove test of 'SIG'.
56928 2009-12-31  Bruno Haible  <bruno@clisp.org>
56930         spawn: Fix incomplete fix.
56931         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
56932         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
56933         warnings for GNULIB_POSIXCHECK again.
56934         Reported by Eric Blake.
56936 2009-12-31  Bruno Haible  <bruno@clisp.org>
56938         Avoid namespace pollution on glibc systems.
56939         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
56940         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
56941         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
56942         glibc systems.
56944 2009-12-31  Bruno Haible  <bruno@clisp.org>
56946         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
56947         (gl_REPLACE_WCHAR_H): Turn into a no-op.
56948         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
56949         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
56950         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
56951         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
56952         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
56954 2009-12-31  Bruno Haible  <bruno@clisp.org>
56956         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
56957         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
56958         afterwards.
56960 2009-12-31  Bruno Haible  <bruno@clisp.org>
56962         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
56963         SYS_UTSNAME_H.
56965 2009-12-31  Bruno Haible  <bruno@clisp.org>
56967         spawn: Fix misapplied patch.
56968         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
56969         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
56970         warnings for GNULIB_POSIXCHECK.
56972 2009-12-31  Bruno Haible  <bruno@clisp.org>
56974         times: Update after sys_times changed.
56975         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
56976         * modules/times (Files): Add it.
56977         (configure.ac): Invoke gl_FUNC_TIMES.
56979 2009-12-31  Bruno Haible  <bruno@clisp.org>
56981         Use AC_C_INLINE where necessary.
56982         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
56983         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
56984         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
56985         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
56986         * m4/mbfile.m4 (gl_MBFILE): Likewise.
56987         * m4/mbiter.m4 (gl_MBITER): Likewise.
56988         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
56989         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
56990         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
56991         * modules/u64 (configure.ac): Likewise.
56993 2009-12-31  Bruno Haible  <bruno@clisp.org>
56995         Use AC_C_INLINE instead of module 'inline' where possible.
56996         * modules/inline (Description): Clarify purpose.
56997         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
56998         * modules/count-one-bits (Depends-on): Remove inline.
56999         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
57000         * modules/openat (Depends-on): Remove inline.
57001         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
57002         instead of depending on module 'inline'.
57003         * modules/filevercmp (Depends-on, configure.ac): Likewise.
57004         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
57005         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
57006         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
57007         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
57008         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
57009         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
57010         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
57011         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
57012         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
57013         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
57014         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
57015         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
57016         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
57017         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
57018         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
57019         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
57020         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
57021         Likewise.
57022         * modules/unictype/property-ascii-hex-digit (Depends-on,
57023         configure.ac): Likewise.
57024         * modules/unictype/property-bidi-arabic-digit (Depends-on,
57025         configure.ac): Likewise.
57026         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
57027         configure.ac): Likewise.
57028         * modules/unictype/property-bidi-block-separator (Depends-on,
57029         configure.ac): Likewise.
57030         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
57031         configure.ac): Likewise.
57032         * modules/unictype/property-bidi-common-separator (Depends-on,
57033         configure.ac): Likewise.
57034         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
57035         Likewise.
57036         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
57037         configure.ac): Likewise.
57038         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
57039         configure.ac): Likewise.
57040         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
57041         configure.ac): Likewise.
57042         * modules/unictype/property-bidi-european-digit (Depends-on,
57043         configure.ac): Likewise.
57044         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
57045         configure.ac): Likewise.
57046         * modules/unictype/property-bidi-left-to-right (Depends-on,
57047         configure.ac): Likewise.
57048         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
57049         configure.ac): Likewise.
57050         * modules/unictype/property-bidi-other-neutral (Depends-on,
57051         configure.ac): Likewise.
57052         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
57053         Likewise.
57054         * modules/unictype/property-bidi-segment-separator (Depends-on,
57055         configure.ac): Likewise.
57056         * modules/unictype/property-bidi-whitespace (Depends-on,
57057         configure.ac): Likewise.
57058         * modules/unictype/property-combining (Depends-on, configure.ac):
57059         Likewise.
57060         * modules/unictype/property-composite (Depends-on, configure.ac):
57061         Likewise.
57062         * modules/unictype/property-currency-symbol (Depends-on,
57063         configure.ac): Likewise.
57064         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
57065         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
57066         Likewise.
57067         * modules/unictype/property-default-ignorable-code-point (Depends-on,
57068         configure.ac): Likewise.
57069         * modules/unictype/property-deprecated (Depends-on, configure.ac):
57070         Likewise.
57071         * modules/unictype/property-diacritic (Depends-on, configure.ac):
57072         Likewise.
57073         * modules/unictype/property-extender (Depends-on, configure.ac):
57074         Likewise.
57075         * modules/unictype/property-format-control (Depends-on, configure.ac):
57076         Likewise.
57077         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
57078         Likewise.
57079         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
57080         Likewise.
57081         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
57082         Likewise.
57083         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
57084         Likewise.
57085         * modules/unictype/property-hyphen (Depends-on, configure.ac):
57086         Likewise.
57087         * modules/unictype/property-id-continue (Depends-on, configure.ac):
57088         Likewise.
57089         * modules/unictype/property-id-start (Depends-on, configure.ac):
57090         Likewise.
57091         * modules/unictype/property-ideographic (Depends-on, configure.ac):
57092         Likewise.
57093         * modules/unictype/property-ids-binary-operator (Depends-on,
57094         configure.ac): Likewise.
57095         * modules/unictype/property-ids-trinary-operator (Depends-on,
57096         configure.ac): Likewise.
57097         * modules/unictype/property-ignorable-control (Depends-on,
57098         configure.ac): Likewise.
57099         * modules/unictype/property-iso-control (Depends-on, configure.ac):
57100         Likewise.
57101         * modules/unictype/property-join-control (Depends-on, configure.ac):
57102         Likewise.
57103         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
57104         Likewise.
57105         * modules/unictype/property-line-separator (Depends-on, configure.ac):
57106         Likewise.
57107         * modules/unictype/property-logical-order-exception (Depends-on,
57108         configure.ac): Likewise.
57109         * modules/unictype/property-lowercase (Depends-on, configure.ac):
57110         Likewise.
57111         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
57112         * modules/unictype/property-non-break (Depends-on, configure.ac):
57113         Likewise.
57114         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
57115         Likewise.
57116         * modules/unictype/property-numeric (Depends-on, configure.ac):
57117         Likewise.
57118         * modules/unictype/property-other-alphabetic (Depends-on,
57119         configure.ac): Likewise.
57120         * modules/unictype/property-other-default-ignorable-code-point
57121         (Depends-on, configure.ac): Likewise.
57122         * modules/unictype/property-other-grapheme-extend (Depends-on,
57123         configure.ac): Likewise.
57124         * modules/unictype/property-other-id-continue (Depends-on,
57125         configure.ac): Likewise.
57126         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
57127         Likewise.
57128         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
57129         Likewise.
57130         * modules/unictype/property-other-math (Depends-on, configure.ac):
57131         Likewise.
57132         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
57133         Likewise.
57134         * modules/unictype/property-paired-punctuation (Depends-on,
57135         configure.ac): Likewise.
57136         * modules/unictype/property-paragraph-separator (Depends-on,
57137         configure.ac): Likewise.
57138         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
57139         Likewise.
57140         * modules/unictype/property-pattern-white-space (Depends-on,
57141         configure.ac): Likewise.
57142         * modules/unictype/property-private-use (Depends-on, configure.ac):
57143         Likewise.
57144         * modules/unictype/property-punctuation (Depends-on, configure.ac):
57145         Likewise.
57146         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
57147         Likewise.
57148         * modules/unictype/property-radical (Depends-on, configure.ac):
57149         Likewise.
57150         * modules/unictype/property-sentence-terminal (Depends-on,
57151         configure.ac): Likewise.
57152         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
57153         Likewise.
57154         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
57155         * modules/unictype/property-terminal-punctuation (Depends-on,
57156         configure.ac): Likewise.
57157         * modules/unictype/property-titlecase (Depends-on, configure.ac):
57158         Likewise.
57159         * modules/unictype/property-unassigned-code-value (Depends-on,
57160         configure.ac): Likewise.
57161         * modules/unictype/property-unified-ideograph (Depends-on,
57162         configure.ac): Likewise.
57163         * modules/unictype/property-uppercase (Depends-on, configure.ac):
57164         Likewise.
57165         * modules/unictype/property-variation-selector (Depends-on,
57166         configure.ac): Likewise.
57167         * modules/unictype/property-white-space (Depends-on, configure.ac):
57168         Likewise.
57169         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
57170         Likewise.
57171         * modules/unictype/property-xid-start (Depends-on, configure.ac):
57172         Likewise.
57173         * modules/unictype/property-zero-width (Depends-on, configure.ac):
57174         Likewise.
57175         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
57176         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
57177         Likewise.
57179 2009-12-31  Bruno Haible  <bruno@clisp.org>
57181         Remove unnecessary AC_C_INLINE invocation.
57182         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
57183         since 2009-08-21.
57185 2009-12-31  Jim Meyering  <meyering@redhat.com>
57187         maint.mk: don't require explicit gpg_key_ID in cfg.mk
57188         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
57189         With this change, we can all remove the gpg_key_ID = ... definition
57190         from our respective cfg.mk files.
57192         maint.mk: create announcement template in ~/, not in /tmp
57193         * top/maint.mk (emit_upload_commands): Adjust.
57194         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
57195         Remove temporary file, .ci-msg.
57197 2009-12-31  Eric Blake  <ebb9@byu.net>
57199         link-warning: always build headers with link warnings
57200         * modules/arpa_inet (Makefile.am): Always build replacement
57201         header.
57202         * modules/ctype (Makefile.am): Likewise.
57203         * modules/dirent (Makefile.am): Likewise.
57204         * modules/inttypes (Makefile.am): Likewise.
57205         * modules/langinfo (Makefile.am): Likewise.
57206         * modules/locale (Makefile.am): Likewise.
57207         * modules/spawn (Makefile.am): Likewise.
57208         * modules/sys_file (Makefile.am): Likewise.
57209         * modules/sys_ioctl (Makefile.am): Likewise.
57210         * modules/sys_select (Makefile.am): Likewise.
57211         * modules/sys_socket (Makefile.am): Likewise.
57212         * modules/sys_times (Makefile.am): Likewise.
57213         * modules/sys_utsname (Makefile.am): Likewise.
57214         * modules/sys_wait (Makefile.am): Likewise.
57215         * modules/wchar (Makefile.am): Likewise.
57216         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
57217         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
57218         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
57219         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
57220         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
57221         Likewise.
57222         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
57223         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
57224         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
57225         Likewise.
57226         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
57227         Likewise.
57228         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
57229         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
57230         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
57231         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
57232         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
57233         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
57234         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
57235         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
57236         (gl_WCHAR_H_DEFAULTS): Likewise.
57238 2009-12-31  Eric Blake  <ebb9@byu.net>
57240         signal, spawn: use link warnings
57241         * lib/signal.in.h (sigset_t): Make unconditional.
57242         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
57243         (sigpending, sigprocmask, sigaction): Add link warnings.
57244         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
57245         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
57246         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
57247         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
57248         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
57249         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
57250         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
57251         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
57252         (posix_spawn_file_actions_destroy)
57253         (posix_spawn_file_actions_addopen)
57254         (posix_spawn_file_actions_addclose)
57255         (posix_spawn_file_actions_adddup2): Likewise.
57256         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
57257         * tests/test-signal.c (main): Enhance test.
57259         spawn: improve wrapper support
57260         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
57261         (gl_SPAWN_H_DEFAULTS): New defaults.
57262         * modules/spawn (Makefile.am): Substitute them.
57263         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
57264         Only declare if missing or broken.
57266         sys_times, sys_utsname: use include_next
57267         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
57268         header.
57269         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
57270         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
57271         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
57272         * modules/sys_times (Depends-on): Add include_next.
57273         (Makefile.am): Substitute additional values.
57274         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
57275         * lib/sys_times.in.h (includes): Include native header, if
57276         available.
57277         * lib/sys_utsname.in.h (includes): Likewise.
57278         * tests/test-sys_times.c (main): Enhance test.
57280         fdutimensat: revert prior patch
57281         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
57282         utimens.h.
57283         Reported by Bruno Haible.
57285 2009-12-30  Eric Blake  <ebb9@byu.net>
57287         sys_wait: drop link-warning dependency
57288         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
57289         link-warning efforts.
57290         * lib/sys_wait.in.h: Likewise.
57292         fdutimensat: remove bogus dependency
57293         * modules/fdutimensat (Depends-on): Drop inline.
57295         unistd: fix typo
57296         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
57298 2009-12-30  Bruno Haible  <bruno@clisp.org>
57300         Fix compilation error with Solaris cc.
57301         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
57302         * lib/unicase/u16-is-invariant.c: Likewise.
57303         * lib/unicase/u32-is-invariant.c: Likewise.
57304         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
57306 2009-12-30  Bruno Haible  <bruno@clisp.org>
57308         Fix test crash.
57309         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
57310         locales.
57311         Reported by Simon Josefsson <simon@josefsson.org>.
57313 2009-12-30  Bruno Haible  <bruno@clisp.org>
57315         Fix compilation error on most platforms.
57316         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
57317         Reported by Simon Josefsson <simon@josefsson.org>
57318         and Nelson H. F. Beebe <beebe@math.utah.edu>.
57320 2009-12-30  Eric Blake  <ebb9@byu.net>
57322         futimens, utimensat: work around ntfs-3g bug
57323         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
57324         a ctime bug is present, and expand workaround to cover ntfs-3g.
57325         * lib/utimens.c (fdutimens, lutimens): Likewise.
57326         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
57327         (validate_timespec): Adjust return value.
57328         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
57329         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
57330         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
57332 2009-12-29  Eric Blake  <ebb9@byu.net>
57334         link-warning: make usage consistent
57335         * modules/ctype (Depends-on): Add link-warning.
57336         (Makefile.am): Update rules accordingly.
57337         * modules/langinfo (Depends-on, Makefile.am): Likewise.
57338         * modules/locale (Depends-on, Makefile.am): Likewise.
57339         * modules/sys_file (Makefile.am): Likewise.
57340         * modules/getopt-posix (Makefile.am): Delete unused link warning
57341         efforts.
57342         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
57343         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
57344         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
57345         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
57347         stdio: remove unused variables
57348         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
57349         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
57350         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
57352         tests: test more substitute headers
57353         * modules/ctype-tests: New file.
57354         * modules/dirent-tests: Likewise.
57355         * modules/spawn-tests: Likewise.
57356         * modules/sys_file-tests: Likewise.
57357         * modules/sys_ioctl-tests: Likewise.
57358         * modules/sys_wait-tests: Likewise.
57359         * tests/test-ctype.c: Likewise.
57360         * tests/test-dirent.c: Likewise.
57361         * tests/test-spawn.c: Likewise.
57362         * tests/test-sys_file.c: Likewise.
57363         * tests/test-sys_ioctl.c: Likewise.
57364         * tests/test-sys_wait.c: Likewise.
57365         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
57366         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
57367         whether or not flock is in use.
57369         tests: remove License section from module
57370         * modules/arpa_inet-tests: Remove unneeded section.
57371         * modules/byteswap-tests: Likewise.
57372         * modules/ceilf-tests: Likewise.
57373         * modules/ceill-tests: Likewise.
57374         * modules/crypto/des-tests: Likewise.
57375         * modules/crypto/gc-arcfour-tests: Likewise.
57376         * modules/crypto/gc-arctwo-tests: Likewise.
57377         * modules/crypto/gc-des-tests: Likewise.
57378         * modules/crypto/gc-hmac-md5-tests: Likewise.
57379         * modules/crypto/gc-hmac-sha1-tests: Likewise.
57380         * modules/crypto/gc-md2-tests: Likewise.
57381         * modules/crypto/gc-md4-tests: Likewise.
57382         * modules/crypto/gc-md5-tests: Likewise.
57383         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
57384         * modules/crypto/gc-rijndael-tests: Likewise.
57385         * modules/crypto/gc-sha1-tests: Likewise.
57386         * modules/crypto/gc-tests: Likewise.
57387         * modules/crypto/md2-tests: Likewise.
57388         * modules/crypto/md4-tests: Likewise.
57389         * modules/fcntl-h-tests: Likewise.
57390         * modules/floorf-tests: Likewise.
57391         * modules/floorl-tests: Likewise.
57392         * modules/frexp-nolibm-tests: Likewise.
57393         * modules/frexp-tests: Likewise.
57394         * modules/frexpl-nolibm-tests: Likewise.
57395         * modules/frexpl-tests: Likewise.
57396         * modules/getaddrinfo-tests: Likewise.
57397         * modules/inttypes-tests: Likewise.
57398         * modules/isfinite-tests: Likewise.
57399         * modules/isinf-tests: Likewise.
57400         * modules/ldexpl-tests: Likewise.
57401         * modules/locale-tests: Likewise.
57402         * modules/math-tests: Likewise.
57403         * modules/netdb-tests: Likewise.
57404         * modules/netinet_in-tests: Likewise.
57405         * modules/printf-frexp-tests: Likewise.
57406         * modules/printf-frexpl-tests: Likewise.
57407         * modules/priv-set-tests: Likewise.
57408         * modules/random_r-tests: Likewise.
57409         * modules/round-tests: Likewise.
57410         * modules/roundf-tests: Likewise.
57411         * modules/roundl-tests: Likewise.
57412         * modules/search-tests: Likewise.
57413         * modules/select-tests: Likewise.
57414         * modules/signal-tests: Likewise.
57415         * modules/stdbool-tests: Likewise.
57416         * modules/stddef-tests: Likewise.
57417         * modules/stdint-tests: Likewise.
57418         * modules/stdio-tests: Likewise.
57419         * modules/stdlib-tests: Likewise.
57420         * modules/string-tests: Likewise.
57421         * modules/strings-tests: Likewise.
57422         * modules/sys_select-tests: Likewise.
57423         * modules/sys_socket-tests: Likewise.
57424         * modules/sys_stat-tests: Likewise.
57425         * modules/sys_time-tests: Likewise.
57426         * modules/sys_utsname-tests: Likewise.
57427         * modules/sysexits-tests: Likewise.
57428         * modules/time-tests: Likewise.
57429         * modules/trunc-tests: Likewise.
57430         * modules/truncf-tests: Likewise.
57431         * modules/truncl-tests: Likewise.
57432         * modules/tsearch-tests: Likewise.
57433         * modules/unistd-tests: Likewise.
57434         * modules/wchar-tests: Likewise.
57435         * modules/wctype-tests: Likewise.
57437         tests: fix license on several tests
57438         * tests/test-des.c: Update to GPLv3+.
57439         * tests/test-flock.c: Likewise.
57440         * tests/test-fsync.c: Likewise.
57441         * tests/test-futimens.h: Likewise.
57442         * tests/test-gc-arcfour.c: Likewise.
57443         * tests/test-gc-arctwo.c: Likewise.
57444         * tests/test-gc-des.c: Likewise.
57445         * tests/test-gc-hmac-md5.c: Likewise.
57446         * tests/test-gc-hmac-sha1.c: Likewise.
57447         * tests/test-gc-md2.c: Likewise.
57448         * tests/test-gc-md4.c: Likewise.
57449         * tests/test-gc-md5.c: Likewise.
57450         * tests/test-gc-pbkdf2-sha1.c: Likewise.
57451         * tests/test-gc-rijndael.c: Likewise.
57452         * tests/test-gc-sha1.c: Likewise.
57453         * tests/test-gc.c: Likewise.
57454         * tests/test-getcwd.c: Likewise.
57455         * tests/test-link.c: Likewise.
57456         * tests/test-link.h: Likewise.
57457         * tests/test-lutimens.h: Likewise.
57458         * tests/test-md2.c: Likewise.
57459         * tests/test-md4.c: Likewise.
57460         * tests/test-mkdir.h: Likewise.
57461         * tests/test-rename.c: Likewise.
57462         * tests/test-rename.h: Likewise.
57463         * tests/test-safe-alloc.c: Likewise.
57464         * tests/test-utimens-common.h: Likewise.
57465         * tests/test-utimens.h: Likewise.
57467         maint: sync license texts
57468         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
57469         * doc/gpl-3.0.texi: Revert copyright year update.
57470         * doc/lgpl-3.0.texi: Likewise.
57472 2009-12-29  Jim Meyering  <meyering@redhat.com>
57474         update nearly all FSF copyright year lists to include 2009
57475         The files named by the following are exempted:
57476             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
57477               test -f "$dst" && { echo "$dst"; continue; }
57478               test -d "$dst" || continue
57479               echo "$dst"/$(basename "$src")
57480             done > exempt
57481             git ls-files tests/unictype >> exempt
57482         In the remaining files, convert to all-interval notation if
57483         - there is already at least one year interval like 2000-2003
57484         - the file is maintained by me
57485         - the file is in lib/uni*/, where that style already prevails
57486         Otherwise, use update-copyright's default.
57488 2009-12-29  Simon Josefsson  <simon@josefsson.org>
57489         and Eric Blake  <ebb9@byu.net>
57491         tests: don't require debug system() to pass
57492         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
57493         * tests/test-rmdir.h (test_rmdir_func): Likewise.
57494         * tests/test-unlink.h (test_unlink_func): Likewise.
57495         * tests/test-fstatat.c (main): ...into callers.
57496         * tests/test-lstat.c (main): Likewise.
57497         * tests/test-rmdir.c (main): Likewise.
57498         * tests/test-unlink.c (main): Likewise.
57499         * tests/test-unlinkat.c (main): Likewise.
57500         * tests/test-areadlink-with-size.c (main): Don't require a
57501         debug-only system call to pass, aiding cross-testing to mingw.
57502         * tests/test-areadlink.c (main): Likewise.
57503         * tests/test-areadlinkat-with-size.c (main): Likewise.
57504         * tests/test-areadlinkat.c (main): Likewise.
57505         * tests/test-canonicalize-lgpl.c (main): Likewise.
57506         * tests/test-canonicalize.c (main): Likewise.
57507         * tests/test-chown.c (main): Likewise.
57508         * tests/test-fchownat.c (main): Likewise.
57509         * tests/test-lchown.c (main): Likewise.
57510         * tests/test-fdutimensat.c (main): Likewise.
57511         * tests/test-futimens.c (main): Likewise.
57512         * tests/test-link.c (main): Likewise.
57513         * tests/test-linkat.c (main): Likewise.
57514         * tests/test-mkdir.c (main): Likewise.
57515         * tests/test-mkdirat.c (main): Likewise.
57516         * tests/test-mkfifo.c (main): Likewise.
57517         * tests/test-mkfifoat.c (main): Likewise.
57518         * tests/test-mknod.c (main): Likewise.
57519         * tests/test-readlink.c (main): Likewise.
57520         * tests/test-remove.c (main): Likewise.
57521         * tests/test-rename.c (main): Likewise.
57522         * tests/test-renameat.c (main): Likewise.
57523         * tests/test-symlink.c (main): Likewise.
57524         * tests/test-symlinkat.c (main): Likewise.
57525         * tests/test-utimens.c (main): Likewise.
57526         * tests/test-utimensat.c (main): Likewise.
57528 2009-12-29  Simon Josefsson  <simon@josefsson.org>
57530         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
57531         on $(UNUSED_PARAMETER_H) to avoid build failure.
57533 2009-12-28  Jim Meyering  <meyering@redhat.com>
57535         update-copyright: you may specify a max. line length other than 72
57536         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
57538         maint: use consistent FSF copyright line syntax
57539         * lib/posixtm.c: Add missing comma in FSF copyright line.
57540         * lib/posixtm.h: Likewise.
57541         * lib/getugroups.c: Add missing ", Inc.".
57543         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
57544         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
57545         FSF copyright line.  Remove trailing blanks.
57547 2009-12-28  Eric Blake  <ebb9@byu.net>
57549         test-dup2: reduce dependencies
57550         * modules/cloexec (Configure.ac): Set witness.
57551         * modules/dup2-tests (Depends-on): Drop cloexec.
57552         * tests/test-dup2.c (main): Skip portion of test if cloexec module
57553         not present.
57554         Suggested by Bruno Haible.
57556 2009-12-26  Bruno Haible  <bruno@clisp.org>
57558         Remove an unneeded dependency.
57559         * modules/fseterr (Depends-on): Remove dup2.
57561 2009-12-26  Eric Blake  <ebb9@byu.net>
57563         tests: use macros.h in more places
57564         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
57565         (ASSERT_STREAM): Provide default of stderr.
57566         * tests/test-dirent-safer.c: Include macros.h, using alternate
57567         stream for assertions.
57568         * tests/test-dup-safer.c: Likewise.
57569         * tests/test-freopen-safer.c: Likewise.
57570         * tests/test-getopt.c: Likewise.
57571         * tests/test-openat-safer.c: Likewise.
57572         * tests/test-pipe.c: Likewise.
57573         * tests/test-popen-safer.c: Likewise.
57574         * modules/dirent-safer-tests (Files): Include macros.h.
57575         * modules/unistd-safer-tests (Files): Likewise.
57576         * modules/freopen-safer-tests (Files): Likewise.
57577         * modules/getopt-posix-tests (Files): Likewise.
57578         * modules/openat-safer-tests (Files): Likewise.
57579         * modules/pipe-tests (Files): Likewise.
57581 2009-12-26  Bruno Haible  <bruno@clisp.org>
57583         javacomp-script: Portability fix.
57584         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
57585         that it also works on Solaris.
57587 2009-12-26  Bruno Haible  <bruno@clisp.org>
57589         localename: Fix storage allocation of gl_locale_name_thread's result.
57590         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
57591         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
57592         all platforms that have 'uselocale'.
57593         (gl_locale_name_thread_unsafe): New function, extracted from
57594         gl_locale_name_thread.
57595         (gl_locale_name_thread): Call struniq on all platforms that have
57596         'uselocale'.
57597         * tests/test-localename.c (test_locale_name_thread): Check that the
57598         resulting strings are permanently allocated.
57599         * modules/localename-tests (Depends-on): Add strdup.
57601 2009-12-26  Bruno Haible  <bruno@clisp.org>
57603         * tests/test-localename.c (categories): Fill in the strings.
57605 2009-12-26  Jim Meyering  <meyering@redhat.com>
57607         isdir: complete the removal of m4/isdir.m4
57608         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
57610         isdir: clean up, since at least grep still uses it
57611         * lib/isdir.c: Include "isdir.h".
57612         (S_ISDIR): Remove now-unneeded definition.
57613         * modules/isdir (Files): Add lib/isdir.h.
57614         * lib/isdir.h: New file, with declaration.
57615         * m4/isdir.m4: Remove file -- unneeded.
57617 2009-12-25  Bruno Haible  <bruno@clisp.org>
57619         selinux-h: Make generated .h files standalone.
57620         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
57621         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
57622         * lib/se-selinux.in.h: Likewise.
57623         * modules/selinux-h (Depends-on): Add unused-parameter.
57624         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
57625         selinux/selinux.h and selinux/context.h.
57626         Suggested by Eric Blake.
57628 2009-12-25  Bruno Haible  <bruno@clisp.org>
57630         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
57631         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
57632         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
57633         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
57634         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
57636 2009-12-24  Bruno Haible  <bruno@clisp.org>
57638         openat: Fix warning.
57639         * lib/openat-proc.c: Include <unistd.h>.
57641 2009-12-24  Bruno Haible  <bruno@clisp.org>
57643         New module 'unused-parameter'.
57644         * build-aux/unused-parameter.h: New file, extracted from earlier
57645         gnulib-common.m4.
57646         * modules/unused-parameter: New file.
57647         * lib/unistr.h: Include unused-parameter.h.
57648         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
57649         _GL_UNUSED.
57650         * modules/unistr/base (Depends-on): Add unused-parameter.
57652 2009-12-24  Bruno Haible  <bruno@clisp.org>
57654         Add missing dependencies to 'extensions' module.
57655         * m4/extensions.m4: Add comment.
57656         * modules/accept4 (Depends-on): Add extensions.
57657         * modules/dup3 (Depends-on): Likewise.
57658         * modules/fcntl (Depends-on): Likewise.
57659         * modules/futimens (Depends-on): Likewise.
57660         * modules/mknod (Depends-on): Likewise.
57661         * modules/pipe2 (Depends-on): Likewise.
57662         * modules/stat-time (Depends-on): Likewise.
57663         * modules/strcasestr-simple (Depends-on): Likewise.
57664         * modules/strsignal (Depends-on): Likewise.
57665         * modules/utimensat (Depends-on): Likewise.
57666         * modules/localcharset (Depends-on): Likewise. Needed because of
57667         gl_FCNTL_O_FLAGS.
57668         * modules/wcrtomb (Depends-on): Likewise. Needed because of
57669         AC_TYPE_MBSTATE_T.
57670         * modules/wcsnrtombs (Depends-on): Likewise.
57671         * modules/wcsrtombs (Depends-on): Likewise.
57673 2009-12-24  Bruno Haible  <bruno@clisp.org>
57675         binary-io: Avoid gcc warning due to SET_BINARY.
57676         * lib/binary-io.h (SET_BINARY): Cast the result to void.
57677         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
57679 2009-12-24  Bruno Haible  <bruno@clisp.org>
57681         Avoid future namespace pollution on glibc systems.
57682         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
57683         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
57684         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
57685         glibc systems.
57687 2009-12-24  Bruno Haible  <bruno@clisp.org>
57689         Refactor common macros used in tests.
57690         * tests/macros.h: New file.
57691         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
57692         and/or <stdlib.h>, if appropriate.
57693         (ASSERT, SIZEOF): Remove macros.
57694         * tests/test-areadlink-with-size.c: Likewise.
57695         * tests/test-areadlinkat.c: Likewise.
57696         * tests/test-areadlinkat-with-size.c: Likewise.
57697         * tests/test-argmatch.c: Likewise.
57698         * tests/test-argv-iter.c: Likewise.
57699         * tests/test-array-mergesort.c: Likewise.
57700         * tests/test-array_list.c: Likewise.
57701         * tests/test-array_oset.c: Likewise.
57702         * tests/test-avltree_list.c: Likewise.
57703         * tests/test-avltree_oset.c: Likewise.
57704         * tests/test-avltreehash_list.c: Likewise.
57705         * tests/test-base64.c: Likewise.
57706         * tests/test-binary-io.c: Likewise.
57707         * tests/test-bitrotate.c: Likewise.
57708         * tests/test-btowc.c: Likewise.
57709         * tests/test-byteswap.c: Likewise.
57710         * tests/test-c-ctype.c: Likewise.
57711         * tests/test-c-stack.c: Likewise.
57712         * tests/test-c-strcasecmp.c: Likewise.
57713         * tests/test-c-strcasestr.c: Likewise.
57714         * tests/test-c-strncasecmp.c: Likewise.
57715         * tests/test-c-strstr.c: Likewise.
57716         * tests/test-canonicalize-lgpl.c: Likewise.
57717         * tests/test-canonicalize.c: Likewise.
57718         * tests/test-carray_list.c: Likewise.
57719         * tests/test-ceilf1.c: Likewise.
57720         * tests/test-ceilf2.c: Likewise.
57721         * tests/test-ceill.c: Likewise.
57722         * tests/test-chown.c: Likewise.
57723         * tests/test-cloexec.c: Likewise.
57724         * tests/test-copy-acl.c: Likewise.
57725         * tests/test-copy-file.c: Likewise.
57726         * tests/test-count-one-bits.c: Likewise.
57727         * tests/test-dprintf-posix.c: Likewise.
57728         * tests/test-dup2.c: Likewise.
57729         * tests/test-dup3.c: Likewise.
57730         * tests/test-duplocale.c: Likewise.
57731         * tests/test-fbufmode.c: Likewise.
57732         * tests/test-fchdir.c: Likewise.
57733         * tests/test-fchownat.c: Likewise.
57734         * tests/test-fcntl-safer.c: Likewise.
57735         * tests/test-fcntl.c: Likewise.
57736         * tests/test-fdopendir.c: Likewise.
57737         * tests/test-fdutimensat.c: Likewise.
57738         * tests/test-fflush2.c: Likewise.
57739         * tests/test-file-has-acl.c: Likewise.
57740         * tests/test-filevercmp.c: Likewise.
57741         * tests/test-flock.c: Likewise.
57742         * tests/test-floorf1.c: Likewise.
57743         * tests/test-floorf2.c: Likewise.
57744         * tests/test-floorl.c: Likewise.
57745         * tests/test-fnmatch.c: Likewise.
57746         * tests/test-fopen.h: Likewise.
57747         * tests/test-fpending.c: Likewise.
57748         * tests/test-fprintf-posix.c: Likewise.
57749         * tests/test-fpurge.c: Likewise.
57750         * tests/test-freadable.c: Likewise.
57751         * tests/test-freadahead.c: Likewise.
57752         * tests/test-freading.c: Likewise.
57753         * tests/test-freadptr.c: Likewise.
57754         * tests/test-freadptr2.c: Likewise.
57755         * tests/test-freadseek.c: Likewise.
57756         * tests/test-freopen.c: Likewise.
57757         * tests/test-frexp.c: Likewise.
57758         * tests/test-frexpl.c: Likewise.
57759         * tests/test-fseek.c: Likewise.
57760         * tests/test-fseeko.c: Likewise.
57761         * tests/test-fstatat.c: Likewise.
57762         * tests/test-fstrcmp.c: Likewise.
57763         * tests/test-fsync.c: Likewise.
57764         * tests/test-ftell.c: Likewise.
57765         * tests/test-ftello.c: Likewise.
57766         * tests/test-func.c: Likewise.
57767         * tests/test-futimens.c: Likewise.
57768         * tests/test-fwritable.c: Likewise.
57769         * tests/test-fwriting.c: Likewise.
57770         * tests/test-getcwd.c: Likewise.
57771         * tests/test-getdate.c: Likewise.
57772         * tests/test-getdelim.c: Likewise.
57773         * tests/test-getdtablesize.c: Likewise.
57774         * tests/test-getgroups.c: Likewise.
57775         * tests/test-getline.c: Likewise.
57776         * tests/test-getndelim2.c: Likewise.
57777         * tests/test-glob.c: Likewise.
57778         * tests/test-hash.c: Likewise.
57779         * tests/test-i-ring.c: Likewise.
57780         * tests/test-iconv-utf.c: Likewise.
57781         * tests/test-iconv.c: Likewise.
57782         * tests/test-idpriv-drop.c: Likewise.
57783         * tests/test-idpriv-droptemp.c: Likewise.
57784         * tests/test-inet_ntop.c: Likewise.
57785         * tests/test-inet_pton.c: Likewise.
57786         * tests/test-isblank.c: Likewise.
57787         * tests/test-isfinite.c: Likewise.
57788         * tests/test-isinf.c: Likewise.
57789         * tests/test-isnan.c: Likewise.
57790         * tests/test-isnand.h: Likewise.
57791         * tests/test-isnanf.h: Likewise.
57792         * tests/test-isnanl.h: Likewise.
57793         * tests/test-lchown.c: Likewise.
57794         * tests/test-ldexpl.c: Likewise.
57795         * tests/test-link.c: Likewise.
57796         * tests/test-linkat.c: Likewise.
57797         * tests/test-linked_list.c: Likewise.
57798         * tests/test-linkedhash_list.c: Likewise.
57799         * tests/test-localename.c: Likewise.
57800         * tests/test-lseek.c: Likewise.
57801         * tests/test-lstat.c: Likewise.
57802         * tests/test-mbmemcasecmp.c: Likewise.
57803         * tests/test-mbmemcasecoll.c: Likewise.
57804         * tests/test-mbrtowc.c: Likewise.
57805         * tests/test-mbscasecmp.c: Likewise.
57806         * tests/test-mbscasestr1.c: Likewise.
57807         * tests/test-mbscasestr2.c: Likewise.
57808         * tests/test-mbscasestr3.c: Likewise.
57809         * tests/test-mbscasestr4.c: Likewise.
57810         * tests/test-mbschr.c: Likewise.
57811         * tests/test-mbscspn.c: Likewise.
57812         * tests/test-mbsinit.c: Likewise.
57813         * tests/test-mbsncasecmp.c: Likewise.
57814         * tests/test-mbsnrtowcs.c: Likewise.
57815         * tests/test-mbspbrk.c: Likewise.
57816         * tests/test-mbspcasecmp.c: Likewise.
57817         * tests/test-mbsrchr.c: Likewise.
57818         * tests/test-mbsrtowcs.c: Likewise.
57819         * tests/test-mbsspn.c: Likewise.
57820         * tests/test-mbsstr1.c: Likewise.
57821         * tests/test-mbsstr2.c: Likewise.
57822         * tests/test-mbsstr3.c: Likewise.
57823         * tests/test-memchr.c: Likewise.
57824         * tests/test-memchr2.c: Likewise.
57825         * tests/test-memcmp.c: Likewise.
57826         * tests/test-memmem.c: Likewise.
57827         * tests/test-memrchr.c: Likewise.
57828         * tests/test-mkdir.c: Likewise.
57829         * tests/test-mkdirat.c: Likewise.
57830         * tests/test-mkfifo.c: Likewise.
57831         * tests/test-mkfifoat.c: Likewise.
57832         * tests/test-mknod.c: Likewise.
57833         * tests/test-nanosleep.c: Likewise.
57834         * tests/test-nl_langinfo.c: Likewise.
57835         * tests/test-obstack-printf.c: Likewise.
57836         * tests/test-open.c: Likewise.
57837         * tests/test-openat.c: Likewise.
57838         * tests/test-pipe-filter-gi1.c: Likewise.
57839         * tests/test-pipe-filter-gi2-main.c: Likewise.
57840         * tests/test-pipe-filter-ii1.c: Likewise.
57841         * tests/test-pipe-filter-ii2-main.c: Likewise.
57842         * tests/test-pipe2.c: Likewise.
57843         * tests/test-popen.h: Likewise.
57844         * tests/test-posixtm.c: Likewise.
57845         * tests/test-pread.c: Likewise.
57846         * tests/test-printf-frexp.c: Likewise.
57847         * tests/test-printf-frexpl.c: Likewise.
57848         * tests/test-printf-posix.c: Likewise.
57849         * tests/test-priv-set.c: Likewise.
57850         * tests/test-quotearg.c: Likewise.
57851         * tests/test-random_r.c: Likewise.
57852         * tests/test-rawmemchr.c: Likewise.
57853         * tests/test-rbtree_list.c: Likewise.
57854         * tests/test-rbtree_oset.c: Likewise.
57855         * tests/test-rbtreehash_list.c: Likewise.
57856         * tests/test-readlink.c: Likewise.
57857         * tests/test-remove.c: Likewise.
57858         * tests/test-rename.c: Likewise.
57859         * tests/test-renameat.c: Likewise.
57860         * tests/test-rmdir.c: Likewise.
57861         * tests/test-round1.c: Likewise.
57862         * tests/test-roundf1.c: Likewise.
57863         * tests/test-roundl.c: Likewise.
57864         * tests/test-safe-alloc.c: Likewise.
57865         * tests/test-sameacls.c: Likewise.
57866         * tests/test-set-mode-acl.c: Likewise.
57867         * tests/test-setenv.c: Likewise.
57868         * tests/test-sigaction.c: Likewise.
57869         * tests/test-signbit.c: Likewise.
57870         * tests/test-sleep.c: Likewise.
57871         * tests/test-snprintf-posix.c: Likewise.
57872         * tests/test-snprintf.c: Likewise.
57873         * tests/test-sprintf-posix.c: Likewise.
57874         * tests/test-stat-time.c: Likewise.
57875         * tests/test-stat.c: Likewise.
57876         * tests/test-strcasestr.c: Likewise.
57877         * tests/test-strchrnul.c: Likewise.
57878         * tests/test-strerror.c: Likewise.
57879         * tests/test-striconv.c: Likewise.
57880         * tests/test-striconveh.c: Likewise.
57881         * tests/test-striconveha.c: Likewise.
57882         * tests/test-strsignal.c: Likewise.
57883         * tests/test-strstr.c: Likewise.
57884         * tests/test-strtod.c: Likewise.
57885         * tests/test-strverscmp.c: Likewise.
57886         * tests/test-symlink.c: Likewise.
57887         * tests/test-symlinkat.c: Likewise.
57888         * tests/test-trunc1.c: Likewise.
57889         * tests/test-trunc2.c: Likewise.
57890         * tests/test-truncf1.c: Likewise.
57891         * tests/test-truncf2.c: Likewise.
57892         * tests/test-truncl.c: Likewise.
57893         * tests/test-uname.c: Likewise.
57894         * tests/test-unlink.c: Likewise.
57895         * tests/test-unlinkat.c: Likewise.
57896         * tests/test-unsetenv.c: Likewise.
57897         * tests/test-usleep.c: Likewise.
57898         * tests/test-utimens.c: Likewise.
57899         * tests/test-utimensat.c: Likewise.
57900         * tests/test-vasnprintf-posix.c: Likewise.
57901         * tests/test-vasnprintf-posix2.c: Likewise.
57902         * tests/test-vasnprintf.c: Likewise.
57903         * tests/test-vasprintf-posix.c: Likewise.
57904         * tests/test-vasprintf.c: Likewise.
57905         * tests/test-vdprintf-posix.c: Likewise.
57906         * tests/test-vfprintf-posix.c: Likewise.
57907         * tests/test-vprintf-posix.c: Likewise.
57908         * tests/test-vsnprintf-posix.c: Likewise.
57909         * tests/test-vsnprintf.c: Likewise.
57910         * tests/test-vsprintf-posix.c: Likewise.
57911         * tests/test-wcrtomb.c: Likewise.
57912         * tests/test-wcsnrtombs.c: Likewise.
57913         * tests/test-wcsrtombs.c: Likewise.
57914         * tests/test-wctype.c: Likewise.
57915         * tests/test-wcwidth.c: Likewise.
57916         * tests/test-xfprintf-posix.c: Likewise.
57917         * tests/test-xmemdup0.c: Likewise.
57918         * tests/test-xprintf-posix.c: Likewise.
57919         * tests/test-xvasprintf.c: Likewise.
57920         * tests/unicase/test-locale-language.c: Likewise.
57921         * tests/unicase/test-mapping-part1.h: Likewise.
57922         * tests/unicase/test-predicate-part1.h: Likewise.
57923         * tests/unicase/test-u8-casecmp.c: Likewise.
57924         * tests/unicase/test-u8-casecoll.c: Likewise.
57925         * tests/unicase/test-u8-casefold.c: Likewise.
57926         * tests/unicase/test-u8-is-cased.c: Likewise.
57927         * tests/unicase/test-u8-is-casefolded.c: Likewise.
57928         * tests/unicase/test-u8-is-lowercase.c: Likewise.
57929         * tests/unicase/test-u8-is-titlecase.c: Likewise.
57930         * tests/unicase/test-u8-is-uppercase.c: Likewise.
57931         * tests/unicase/test-u8-tolower.c: Likewise.
57932         * tests/unicase/test-u8-totitle.c: Likewise.
57933         * tests/unicase/test-u8-toupper.c: Likewise.
57934         * tests/unicase/test-u16-casecmp.c: Likewise.
57935         * tests/unicase/test-u16-casecoll.c: Likewise.
57936         * tests/unicase/test-u16-casefold.c: Likewise.
57937         * tests/unicase/test-u16-is-cased.c: Likewise.
57938         * tests/unicase/test-u16-is-casefolded.c: Likewise.
57939         * tests/unicase/test-u16-is-lowercase.c: Likewise.
57940         * tests/unicase/test-u16-is-titlecase.c: Likewise.
57941         * tests/unicase/test-u16-is-uppercase.c: Likewise.
57942         * tests/unicase/test-u16-tolower.c: Likewise.
57943         * tests/unicase/test-u16-totitle.c: Likewise.
57944         * tests/unicase/test-u16-toupper.c: Likewise.
57945         * tests/unicase/test-u32-casecmp.c: Likewise.
57946         * tests/unicase/test-u32-casecoll.c: Likewise.
57947         * tests/unicase/test-u32-casefold.c: Likewise.
57948         * tests/unicase/test-u32-is-cased.c: Likewise.
57949         * tests/unicase/test-u32-is-casefolded.c: Likewise.
57950         * tests/unicase/test-u32-is-lowercase.c: Likewise.
57951         * tests/unicase/test-u32-is-titlecase.c: Likewise.
57952         * tests/unicase/test-u32-is-uppercase.c: Likewise.
57953         * tests/unicase/test-u32-tolower.c: Likewise.
57954         * tests/unicase/test-u32-totitle.c: Likewise.
57955         * tests/unicase/test-u32-toupper.c: Likewise.
57956         * tests/unicase/test-ulc-casecmp.c: Likewise.
57957         * tests/unicase/test-ulc-casecoll.c: Likewise.
57958         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
57959         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
57960         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
57961         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
57962         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
57963         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
57964         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
57965         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
57966         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
57967         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
57968         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
57969         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
57970         * tests/unictype/test-bidi_byname.c: Likewise.
57971         * tests/unictype/test-bidi_name.c: Likewise.
57972         * tests/unictype/test-bidi_of.c: Likewise.
57973         * tests/unictype/test-bidi_test.c: Likewise.
57974         * tests/unictype/test-block_list.c: Likewise.
57975         * tests/unictype/test-block_of.c: Likewise.
57976         * tests/unictype/test-block_test.c: Likewise.
57977         * tests/unictype/test-categ_and.c: Likewise.
57978         * tests/unictype/test-categ_and_not.c: Likewise.
57979         * tests/unictype/test-categ_byname.c: Likewise.
57980         * tests/unictype/test-categ_name.c: Likewise.
57981         * tests/unictype/test-categ_none.c: Likewise.
57982         * tests/unictype/test-categ_of.c: Likewise.
57983         * tests/unictype/test-categ_or.c: Likewise.
57984         * tests/unictype/test-categ_test_withtable.c: Likewise.
57985         * tests/unictype/test-combining.c: Likewise.
57986         * tests/unictype/test-decdigit.c: Likewise.
57987         * tests/unictype/test-digit.c: Likewise.
57988         * tests/unictype/test-mirror.c: Likewise.
57989         * tests/unictype/test-numeric.c: Likewise.
57990         * tests/unictype/test-pr_byname.c: Likewise.
57991         * tests/unictype/test-pr_test.c: Likewise.
57992         * tests/unictype/test-predicate-part1.h: Likewise.
57993         * tests/unictype/test-scripts.c: Likewise.
57994         * tests/unictype/test-sy_c_ident.c: Likewise.
57995         * tests/unictype/test-sy_java_ident.c: Likewise.
57996         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
57997         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
57998         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
57999         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
58000         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
58001         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
58002         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
58003         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
58004         * tests/uninorm/test-canonical-decomposition.c: Likewise.
58005         * tests/uninorm/test-compat-decomposition.c: Likewise.
58006         * tests/uninorm/test-composition.c: Likewise.
58007         * tests/uninorm/test-decomposing-form.c: Likewise.
58008         * tests/uninorm/test-decomposition.c: Likewise.
58009         * tests/uninorm/test-u8-nfc.c: Likewise.
58010         * tests/uninorm/test-u8-nfd.c: Likewise.
58011         * tests/uninorm/test-u8-nfkc.c: Likewise.
58012         * tests/uninorm/test-u8-nfkd.c: Likewise.
58013         * tests/uninorm/test-u8-normcmp.c: Likewise.
58014         * tests/uninorm/test-u8-normcoll.c: Likewise.
58015         * tests/uninorm/test-u16-nfc.c: Likewise.
58016         * tests/uninorm/test-u16-nfd.c: Likewise.
58017         * tests/uninorm/test-u16-nfkc.c: Likewise.
58018         * tests/uninorm/test-u16-nfkd.c: Likewise.
58019         * tests/uninorm/test-u16-normcmp.c: Likewise.
58020         * tests/uninorm/test-u16-normcoll.c: Likewise.
58021         * tests/uninorm/test-u32-nfc.c: Likewise.
58022         * tests/uninorm/test-u32-nfd.c: Likewise.
58023         * tests/uninorm/test-u32-nfkc.c: Likewise.
58024         * tests/uninorm/test-u32-nfkd.c: Likewise.
58025         * tests/uninorm/test-u32-normalize-big.c: Likewise.
58026         * tests/uninorm/test-u32-normcmp.c: Likewise.
58027         * tests/uninorm/test-u32-normcoll.c: Likewise.
58028         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
58029         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
58030         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
58031         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
58032         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
58033         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
58034         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
58035         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
58036         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
58037         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
58038         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
58039         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
58040         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
58041         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
58042         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
58043         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
58044         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
58045         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
58046         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
58047         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
58048         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
58049         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
58050         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
58051         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
58052         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
58053         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
58054         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
58055         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
58056         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
58057         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
58058         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
58059         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
58060         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
58061         * tests/uniwidth/test-u8-strwidth.c: Likewise.
58062         * tests/uniwidth/test-u8-width.c: Likewise.
58063         * tests/uniwidth/test-u16-strwidth.c: Likewise.
58064         * tests/uniwidth/test-u16-width.c: Likewise.
58065         * tests/uniwidth/test-u32-strwidth.c: Likewise.
58066         * tests/uniwidth/test-u32-width.c: Likewise.
58067         * tests/uniwidth/test-uc_width.c: Likewise.
58068         * tests/uniwidth/test-uc_width2.c: Likewise.
58069         * modules/acl-tests (Files): Add tests/macros.h.
58070         * modules/areadlink-tests (Files): Likewise.
58071         * modules/areadlink-with-size-tests (Files): Likewise.
58072         * modules/areadlinkat-tests (Files): Likewise.
58073         * modules/areadlinkat-with-size-tests (Files): Likewise.
58074         * modules/argmatch-tests (Files): Likewise.
58075         * modules/argv-iter-tests (Files): Likewise.
58076         * modules/array-list-tests (Files): Likewise.
58077         * modules/array-mergesort-tests (Files): Likewise.
58078         * modules/array-oset-tests (Files): Likewise.
58079         * modules/avltree-list-tests (Files): Likewise.
58080         * modules/avltree-oset-tests (Files): Likewise.
58081         * modules/avltreehash-list-tests (Files): Likewise.
58082         * modules/base64-tests (Files): Likewise.
58083         * modules/binary-io-tests (Files): Likewise.
58084         * modules/bitrotate-tests (Files): Likewise.
58085         * modules/btowc-tests (Files): Likewise.
58086         * modules/byteswap-tests (Files): Likewise.
58087         * modules/c-ctype-tests (Files): Likewise.
58088         * modules/c-stack-tests (Files): Likewise.
58089         * modules/c-strcase-tests (Files): Likewise.
58090         * modules/c-strcasestr-tests (Files): Likewise.
58091         * modules/c-strstr-tests (Files): Likewise.
58092         * modules/canonicalize-lgpl-tests (Files): Likewise.
58093         * modules/canonicalize-tests (Files): Likewise.
58094         * modules/carray-list-tests (Files): Likewise.
58095         * modules/ceilf-tests (Files): Likewise.
58096         * modules/ceill-tests (Files): Likewise.
58097         * modules/chown-tests (Files): Likewise.
58098         * modules/cloexec-tests (Files): Likewise.
58099         * modules/copy-file-tests (Files): Likewise.
58100         * modules/count-one-bits-tests (Files): Likewise.
58101         * modules/dprintf-posix-tests (Files): Likewise.
58102         * modules/dup2-tests (Files): Likewise.
58103         * modules/dup3-tests (Files): Likewise.
58104         * modules/duplocale-tests (Files): Likewise.
58105         * modules/fbufmode-tests (Files): Likewise.
58106         * modules/fchdir-tests (Files): Likewise.
58107         * modules/fcntl-safer-tests (Files): Likewise.
58108         * modules/fcntl-tests (Files): Likewise.
58109         * modules/fdopendir-tests (Files): Likewise.
58110         * modules/fdutimensat-tests (Files): Likewise.
58111         * modules/fflush-tests (Files): Likewise.
58112         * modules/filevercmp-tests (Files): Likewise.
58113         * modules/flock-tests (Files): Likewise.
58114         * modules/floorf-tests (Files): Likewise.
58115         * modules/floorl-tests (Files): Likewise.
58116         * modules/fnmatch-tests (Files): Likewise.
58117         * modules/fopen-safer-tests (Files): Likewise.
58118         * modules/fopen-tests (Files): Likewise.
58119         * modules/fpending-tests (Files): Likewise.
58120         * modules/fprintf-posix-tests (Files): Likewise.
58121         * modules/fpurge-tests (Files): Likewise.
58122         * modules/freadable-tests (Files): Likewise.
58123         * modules/freadahead-tests (Files): Likewise.
58124         * modules/freading-tests (Files): Likewise.
58125         * modules/freadptr-tests (Files): Likewise.
58126         * modules/freadseek-tests (Files): Likewise.
58127         * modules/freopen-tests (Files): Likewise.
58128         * modules/frexp-nolibm-tests (Files): Likewise.
58129         * modules/frexp-tests (Files): Likewise.
58130         * modules/frexpl-nolibm-tests (Files): Likewise.
58131         * modules/frexpl-tests (Files): Likewise.
58132         * modules/fseek-tests (Files): Likewise.
58133         * modules/fseeko-tests (Files): Likewise.
58134         * modules/fstrcmp-tests (Files): Likewise.
58135         * modules/fsync-tests (Files): Likewise.
58136         * modules/ftell-tests (Files): Likewise.
58137         * modules/ftello-tests (Files): Likewise.
58138         * modules/func-tests (Files): Likewise.
58139         * modules/futimens-tests (Files): Likewise.
58140         * modules/fwritable-tests (Files): Likewise.
58141         * modules/fwriting-tests (Files): Likewise.
58142         * modules/getcwd-tests (Files): Likewise.
58143         * modules/getdate-tests (Files): Likewise.
58144         * modules/getdelim-tests (Files): Likewise.
58145         * modules/getdtablesize-tests (Files): Likewise.
58146         * modules/getgroups-tests (Files): Likewise.
58147         * modules/getline-tests (Files): Likewise.
58148         * modules/getndelim2-tests (Files): Likewise.
58149         * modules/glob-tests (Files): Likewise.
58150         * modules/hash-tests (Files): Likewise.
58151         * modules/i-ring-tests (Files): Likewise.
58152         * modules/iconv-tests (Files): Likewise.
58153         * modules/iconv_open-utf-tests (Files): Likewise.
58154         * modules/idpriv-drop-tests (Files): Likewise.
58155         * modules/idpriv-droptemp-tests (Files): Likewise.
58156         * modules/inet_ntop-tests (Files): Likewise.
58157         * modules/inet_pton-tests (Files): Likewise.
58158         * modules/isblank-tests (Files): Likewise.
58159         * modules/isfinite-tests (Files): Likewise.
58160         * modules/isinf-tests (Files): Likewise.
58161         * modules/isnan-tests (Files): Likewise.
58162         * modules/isnand-nolibm-tests (Files): Likewise.
58163         * modules/isnand-tests (Files): Likewise.
58164         * modules/isnanf-nolibm-tests (Files): Likewise.
58165         * modules/isnanf-tests (Files): Likewise.
58166         * modules/isnanl-nolibm-tests (Files): Likewise.
58167         * modules/isnanl-tests (Files): Likewise.
58168         * modules/lchown-tests (Files): Likewise.
58169         * modules/ldexpl-tests (Files): Likewise.
58170         * modules/link-tests (Files): Likewise.
58171         * modules/linkat-tests (Files): Likewise.
58172         * modules/linked-list-tests (Files): Likewise.
58173         * modules/linkedhash-list-tests (Files): Likewise.
58174         * modules/localename-tests (Files): Likewise.
58175         * modules/lseek-tests (Files): Likewise.
58176         * modules/lstat-tests (Files): Likewise.
58177         * modules/mbmemcasecmp-tests (Files): Likewise.
58178         * modules/mbmemcasecoll-tests (Files): Likewise.
58179         * modules/mbrtowc-tests (Files): Likewise.
58180         * modules/mbscasecmp-tests (Files): Likewise.
58181         * modules/mbscasestr-tests (Files): Likewise.
58182         * modules/mbschr-tests (Files): Likewise.
58183         * modules/mbscspn-tests (Files): Likewise.
58184         * modules/mbsinit-tests (Files): Likewise.
58185         * modules/mbsncasecmp-tests (Files): Likewise.
58186         * modules/mbsnrtowcs-tests (Files): Likewise.
58187         * modules/mbspbrk-tests (Files): Likewise.
58188         * modules/mbspcasecmp-tests (Files): Likewise.
58189         * modules/mbsrchr-tests (Files): Likewise.
58190         * modules/mbsrtowcs-tests (Files): Likewise.
58191         * modules/mbsspn-tests (Files): Likewise.
58192         * modules/mbsstr-tests (Files): Likewise.
58193         * modules/memchr-tests (Files): Likewise.
58194         * modules/memchr2-tests (Files): Likewise.
58195         * modules/memcmp-tests (Files): Likewise.
58196         * modules/memmem-tests (Files): Likewise.
58197         * modules/memrchr-tests (Files): Likewise.
58198         * modules/mkdir-tests (Files): Likewise.
58199         * modules/mkfifo-tests (Files): Likewise.
58200         * modules/mkfifoat-tests (Files): Likewise.
58201         * modules/mknod-tests (Files): Likewise.
58202         * modules/nanosleep-tests (Files): Likewise.
58203         * modules/nl_langinfo-tests (Files): Likewise.
58204         * modules/obstack-printf-tests (Files): Likewise.
58205         * modules/open-tests (Files): Likewise.
58206         * modules/openat-tests (Files): Likewise.
58207         * modules/pipe-filter-gi-tests (Files): Likewise.
58208         * modules/pipe-filter-ii-tests (Files): Likewise.
58209         * modules/pipe2-tests (Files): Likewise.
58210         * modules/popen-safer-tests (Files): Likewise.
58211         * modules/popen-tests (Files): Likewise.
58212         * modules/posixtm-tests (Files): Likewise.
58213         * modules/pread-tests (Files): Likewise.
58214         * modules/printf-frexp-tests (Files): Likewise.
58215         * modules/printf-frexpl-tests (Files): Likewise.
58216         * modules/printf-posix-tests (Files): Likewise.
58217         * modules/priv-set-tests (Files): Likewise.
58218         * modules/quotearg-tests (Files): Likewise.
58219         * modules/random_r-tests (Files): Likewise.
58220         * modules/rawmemchr-tests (Files): Likewise.
58221         * modules/rbtree-list-tests (Files): Likewise.
58222         * modules/rbtree-oset-tests (Files): Likewise.
58223         * modules/rbtreehash-list-tests (Files): Likewise.
58224         * modules/readlink-tests (Files): Likewise.
58225         * modules/remove-tests (Files): Likewise.
58226         * modules/rename-tests (Files): Likewise.
58227         * modules/renameat-tests (Files): Likewise.
58228         * modules/rmdir-tests (Files): Likewise.
58229         * modules/round-tests (Files): Likewise.
58230         * modules/roundf-tests (Files): Likewise.
58231         * modules/roundl-tests (Files): Likewise.
58232         * modules/safe-alloc-tests (Files): Likewise.
58233         * modules/setenv-tests (Files): Likewise.
58234         * modules/sigaction-tests (Files): Likewise.
58235         * modules/signbit-tests (Files): Likewise.
58236         * modules/sleep-tests (Files): Likewise.
58237         * modules/snprintf-posix-tests (Files): Likewise.
58238         * modules/snprintf-tests (Files): Likewise.
58239         * modules/sprintf-posix-tests (Files): Likewise.
58240         * modules/stat-tests (Files): Likewise.
58241         * modules/stat-time-tests (Files): Likewise.
58242         * modules/strcasestr-tests (Files): Likewise.
58243         * modules/strchrnul-tests (Files): Likewise.
58244         * modules/strerror-tests (Files): Likewise.
58245         * modules/striconv-tests (Files): Likewise.
58246         * modules/striconveh-tests (Files): Likewise.
58247         * modules/striconveha-tests (Files): Likewise.
58248         * modules/strsignal-tests (Files): Likewise.
58249         * modules/strstr-tests (Files): Likewise.
58250         * modules/strtod-tests (Files): Likewise.
58251         * modules/strverscmp-tests (Files): Likewise.
58252         * modules/symlink-tests (Files): Likewise.
58253         * modules/symlinkat-tests (Files): Likewise.
58254         * modules/trunc-tests (Files): Likewise.
58255         * modules/truncf-tests (Files): Likewise.
58256         * modules/truncl-tests (Files): Likewise.
58257         * modules/uname-tests (Files): Likewise.
58258         * modules/unicase/cased-tests (Files): Likewise.
58259         * modules/unicase/ignorable-tests (Files): Likewise.
58260         * modules/unicase/locale-language-tests (Files): Likewise.
58261         * modules/unicase/tolower-tests (Files): Likewise.
58262         * modules/unicase/totitle-tests (Files): Likewise.
58263         * modules/unicase/toupper-tests (Files): Likewise.
58264         * modules/unicase/u8-casecmp-tests (Files): Likewise.
58265         * modules/unicase/u8-casecoll-tests (Files): Likewise.
58266         * modules/unicase/u8-casefold-tests (Files): Likewise.
58267         * modules/unicase/u8-is-cased-tests (Files): Likewise.
58268         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
58269         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
58270         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
58271         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
58272         * modules/unicase/u8-tolower-tests (Files): Likewise.
58273         * modules/unicase/u8-totitle-tests (Files): Likewise.
58274         * modules/unicase/u8-toupper-tests (Files): Likewise.
58275         * modules/unicase/u16-casecmp-tests (Files): Likewise.
58276         * modules/unicase/u16-casecoll-tests (Files): Likewise.
58277         * modules/unicase/u16-casefold-tests (Files): Likewise.
58278         * modules/unicase/u16-is-cased-tests (Files): Likewise.
58279         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
58280         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
58281         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
58282         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
58283         * modules/unicase/u16-tolower-tests (Files): Likewise.
58284         * modules/unicase/u16-totitle-tests (Files): Likewise.
58285         * modules/unicase/u16-toupper-tests (Files): Likewise.
58286         * modules/unicase/u32-casecmp-tests (Files): Likewise.
58287         * modules/unicase/u32-casecoll-tests (Files): Likewise.
58288         * modules/unicase/u32-casefold-tests (Files): Likewise.
58289         * modules/unicase/u32-is-cased-tests (Files): Likewise.
58290         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
58291         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
58292         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
58293         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
58294         * modules/unicase/u32-tolower-tests (Files): Likewise.
58295         * modules/unicase/u32-totitle-tests (Files): Likewise.
58296         * modules/unicase/u32-toupper-tests (Files): Likewise.
58297         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
58298         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
58299         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
58300         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
58301         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
58302         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
58303         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
58304         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
58305         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
58306         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
58307         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
58308         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
58309         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
58310         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
58311         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
58312         * modules/unictype/bidicategory-name-tests (Files): Likewise.
58313         * modules/unictype/bidicategory-of-tests (Files): Likewise.
58314         * modules/unictype/bidicategory-test-tests (Files): Likewise.
58315         * modules/unictype/block-list-tests (Files): Likewise.
58316         * modules/unictype/block-of-tests (Files): Likewise.
58317         * modules/unictype/block-test-tests (Files): Likewise.
58318         * modules/unictype/category-C-tests (Files): Likewise.
58319         * modules/unictype/category-Cc-tests (Files): Likewise.
58320         * modules/unictype/category-Cf-tests (Files): Likewise.
58321         * modules/unictype/category-Cn-tests (Files): Likewise.
58322         * modules/unictype/category-Co-tests (Files): Likewise.
58323         * modules/unictype/category-Cs-tests (Files): Likewise.
58324         * modules/unictype/category-L-tests (Files): Likewise.
58325         * modules/unictype/category-Ll-tests (Files): Likewise.
58326         * modules/unictype/category-Lm-tests (Files): Likewise.
58327         * modules/unictype/category-Lo-tests (Files): Likewise.
58328         * modules/unictype/category-Lt-tests (Files): Likewise.
58329         * modules/unictype/category-Lu-tests (Files): Likewise.
58330         * modules/unictype/category-M-tests (Files): Likewise.
58331         * modules/unictype/category-Mc-tests (Files): Likewise.
58332         * modules/unictype/category-Me-tests (Files): Likewise.
58333         * modules/unictype/category-Mn-tests (Files): Likewise.
58334         * modules/unictype/category-N-tests (Files): Likewise.
58335         * modules/unictype/category-Nd-tests (Files): Likewise.
58336         * modules/unictype/category-Nl-tests (Files): Likewise.
58337         * modules/unictype/category-No-tests (Files): Likewise.
58338         * modules/unictype/category-P-tests (Files): Likewise.
58339         * modules/unictype/category-Pc-tests (Files): Likewise.
58340         * modules/unictype/category-Pd-tests (Files): Likewise.
58341         * modules/unictype/category-Pe-tests (Files): Likewise.
58342         * modules/unictype/category-Pf-tests (Files): Likewise.
58343         * modules/unictype/category-Pi-tests (Files): Likewise.
58344         * modules/unictype/category-Po-tests (Files): Likewise.
58345         * modules/unictype/category-Ps-tests (Files): Likewise.
58346         * modules/unictype/category-S-tests (Files): Likewise.
58347         * modules/unictype/category-Sc-tests (Files): Likewise.
58348         * modules/unictype/category-Sk-tests (Files): Likewise.
58349         * modules/unictype/category-Sm-tests (Files): Likewise.
58350         * modules/unictype/category-So-tests (Files): Likewise.
58351         * modules/unictype/category-Z-tests (Files): Likewise.
58352         * modules/unictype/category-Zl-tests (Files): Likewise.
58353         * modules/unictype/category-Zp-tests (Files): Likewise.
58354         * modules/unictype/category-Zs-tests (Files): Likewise.
58355         * modules/unictype/category-and-not-tests (Files): Likewise.
58356         * modules/unictype/category-and-tests (Files): Likewise.
58357         * modules/unictype/category-byname-tests (Files): Likewise.
58358         * modules/unictype/category-name-tests (Files): Likewise.
58359         * modules/unictype/category-none-tests (Files): Likewise.
58360         * modules/unictype/category-of-tests (Files): Likewise.
58361         * modules/unictype/category-or-tests (Files): Likewise.
58362         * modules/unictype/category-test-withtable-tests (Files): Likewise.
58363         * modules/unictype/combining-class-tests (Files): Likewise.
58364         * modules/unictype/ctype-alnum-tests (Files): Likewise.
58365         * modules/unictype/ctype-alpha-tests (Files): Likewise.
58366         * modules/unictype/ctype-blank-tests (Files): Likewise.
58367         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
58368         * modules/unictype/ctype-digit-tests (Files): Likewise.
58369         * modules/unictype/ctype-graph-tests (Files): Likewise.
58370         * modules/unictype/ctype-lower-tests (Files): Likewise.
58371         * modules/unictype/ctype-print-tests (Files): Likewise.
58372         * modules/unictype/ctype-punct-tests (Files): Likewise.
58373         * modules/unictype/ctype-space-tests (Files): Likewise.
58374         * modules/unictype/ctype-upper-tests (Files): Likewise.
58375         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
58376         * modules/unictype/decimal-digit-tests (Files): Likewise.
58377         * modules/unictype/digit-tests (Files): Likewise.
58378         * modules/unictype/mirror-tests (Files): Likewise.
58379         * modules/unictype/numeric-tests (Files): Likewise.
58380         * modules/unictype/property-alphabetic-tests (Files): Likewise.
58381         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
58382         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
58383         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
58384         Likewise.
58385         * modules/unictype/property-bidi-block-separator-tests (Files):
58386         Likewise.
58387         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
58388         Likewise.
58389         * modules/unictype/property-bidi-common-separator-tests (Files):
58390         Likewise.
58391         * modules/unictype/property-bidi-control-tests (Files): Likewise.
58392         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
58393         Likewise.
58394         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
58395         Likewise.
58396         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
58397         Likewise.
58398         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
58399         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
58400         Likewise.
58401         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
58402         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
58403         Likewise.
58404         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
58405         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
58406         * modules/unictype/property-bidi-segment-separator-tests (Files):
58407         Likewise.
58408         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
58409         * modules/unictype/property-byname-tests (Files): Likewise.
58410         * modules/unictype/property-combining-tests (Files): Likewise.
58411         * modules/unictype/property-composite-tests (Files): Likewise.
58412         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
58413         * modules/unictype/property-dash-tests (Files): Likewise.
58414         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
58415         * modules/unictype/property-default-ignorable-code-point-tests (Files):
58416         Likewise.
58417         * modules/unictype/property-deprecated-tests (Files): Likewise.
58418         * modules/unictype/property-diacritic-tests (Files): Likewise.
58419         * modules/unictype/property-extender-tests (Files): Likewise.
58420         * modules/unictype/property-format-control-tests (Files): Likewise.
58421         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
58422         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
58423         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
58424         * modules/unictype/property-hex-digit-tests (Files): Likewise.
58425         * modules/unictype/property-hyphen-tests (Files): Likewise.
58426         * modules/unictype/property-id-continue-tests (Files): Likewise.
58427         * modules/unictype/property-id-start-tests (Files): Likewise.
58428         * modules/unictype/property-ideographic-tests (Files): Likewise.
58429         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
58430         * modules/unictype/property-ids-trinary-operator-tests (Files):
58431         Likewise.
58432         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
58433         * modules/unictype/property-iso-control-tests (Files): Likewise.
58434         * modules/unictype/property-join-control-tests (Files): Likewise.
58435         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
58436         * modules/unictype/property-line-separator-tests (Files): Likewise.
58437         * modules/unictype/property-logical-order-exception-tests (Files):
58438         Likewise.
58439         * modules/unictype/property-lowercase-tests (Files): Likewise.
58440         * modules/unictype/property-math-tests (Files): Likewise.
58441         * modules/unictype/property-non-break-tests (Files): Likewise.
58442         * modules/unictype/property-not-a-character-tests (Files): Likewise.
58443         * modules/unictype/property-numeric-tests (Files): Likewise.
58444         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
58445         * modules/unictype/property-other-default-ignorable-code-point-tests
58446         (Files): Likewise.
58447         * modules/unictype/property-other-grapheme-extend-tests (Files):
58448         Likewise.
58449         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
58450         * modules/unictype/property-other-id-start-tests (Files): Likewise.
58451         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
58452         * modules/unictype/property-other-math-tests (Files): Likewise.
58453         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
58454         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
58455         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
58456         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
58457         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
58458         * modules/unictype/property-private-use-tests (Files): Likewise.
58459         * modules/unictype/property-punctuation-tests (Files): Likewise.
58460         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
58461         * modules/unictype/property-radical-tests (Files): Likewise.
58462         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
58463         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
58464         * modules/unictype/property-space-tests (Files): Likewise.
58465         * modules/unictype/property-terminal-punctuation-tests (Files):
58466         Likewise.
58467         * modules/unictype/property-test-tests (Files): Likewise.
58468         * modules/unictype/property-titlecase-tests (Files): Likewise.
58469         * modules/unictype/property-unassigned-code-value-tests (Files):
58470         Likewise.
58471         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
58472         * modules/unictype/property-uppercase-tests (Files): Likewise.
58473         * modules/unictype/property-variation-selector-tests (Files): Likewise.
58474         * modules/unictype/property-white-space-tests (Files): Likewise.
58475         * modules/unictype/property-xid-continue-tests (Files): Likewise.
58476         * modules/unictype/property-xid-start-tests (Files): Likewise.
58477         * modules/unictype/property-zero-width-tests (Files): Likewise.
58478         * modules/unictype/scripts-tests (Files): Likewise.
58479         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
58480         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
58481         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
58482         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
58483         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
58484         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
58485         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
58486         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
58487         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
58488         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
58489         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
58490         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
58491         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
58492         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
58493         * modules/uninorm/composition-tests (Files): Likewise.
58494         * modules/uninorm/decomposing-form-tests (Files): Likewise.
58495         * modules/uninorm/decomposition-tests (Files): Likewise.
58496         * modules/uninorm/filter-tests (Files): Likewise.
58497         * modules/uninorm/nfc-tests (Files): Likewise.
58498         * modules/uninorm/nfd-tests (Files): Likewise.
58499         * modules/uninorm/nfkc-tests (Files): Likewise.
58500         * modules/uninorm/nfkd-tests (Files): Likewise.
58501         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
58502         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
58503         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
58504         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
58505         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
58506         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
58507         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
58508         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
58509         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
58510         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
58511         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
58512         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
58513         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
58514         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
58515         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
58516         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
58517         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
58518         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
58519         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
58520         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
58521         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
58522         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
58523         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
58524         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
58525         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
58526         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
58527         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
58528         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
58529         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
58530         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
58531         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
58532         * modules/uniwidth/u8-width-tests (Files): Likewise.
58533         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
58534         * modules/uniwidth/u16-width-tests (Files): Likewise.
58535         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
58536         * modules/uniwidth/u32-width-tests (Files): Likewise.
58537         * modules/uniwidth/width-tests (Files): Likewise.
58538         * modules/unlink-tests (Files): Likewise.
58539         * modules/unsetenv-tests (Files): Likewise.
58540         * modules/usleep-tests (Files): Likewise.
58541         * modules/utimens-tests (Files): Likewise.
58542         * modules/utimensat-tests (Files): Likewise.
58543         * modules/vasnprintf-posix-tests (Files): Likewise.
58544         * modules/vasnprintf-tests (Files): Likewise.
58545         * modules/vasprintf-posix-tests (Files): Likewise.
58546         * modules/vasprintf-tests (Files): Likewise.
58547         * modules/vdprintf-posix-tests (Files): Likewise.
58548         * modules/vfprintf-posix-tests (Files): Likewise.
58549         * modules/vprintf-posix-tests (Files): Likewise.
58550         * modules/vsnprintf-posix-tests (Files): Likewise.
58551         * modules/vsnprintf-tests (Files): Likewise.
58552         * modules/vsprintf-posix-tests (Files): Likewise.
58553         * modules/wcrtomb-tests (Files): Likewise.
58554         * modules/wcsnrtombs-tests (Files): Likewise.
58555         * modules/wcsrtombs-tests (Files): Likewise.
58556         * modules/wctype-tests (Files): Likewise.
58557         * modules/wcwidth-tests (Files): Likewise.
58558         * modules/xmemdup0-tests (Files): Likewise.
58559         * modules/xprintf-posix-tests (Files): Likewise.
58560         * modules/xvasprintf-tests (Files): Likewise.
58562 2009-12-24  Eric Blake  <ebb9@byu.net>
58564         test-nanosleep: fix typo
58565         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
58566         patch.
58567         Reported by Bruno Haible.
58569 2009-12-24  Bruno Haible  <bruno@clisp.org>
58571         Reduce namespace pollution on glibc systems.
58572         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
58573         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
58574         systems.
58575         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
58576         <getopt.h> on glibc systems.
58577         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
58578         systems.
58579         * lib/fcntl.c: Include <unistd.h> here instead.
58581 2009-12-24  Bruno Haible  <bruno@clisp.org>
58583         * lib/stdlib.in.h (includes): Fix typo in today's commit.
58585 2009-12-24  Eric Blake  <ebb9@byu.net>
58587         tests: add signature checks
58588         * tests/signature.h (SIGNATURE_CHECK): New file.
58589         * modules/atexit-tests (Files): Use it.
58590         * modules/btowc-tests (Files): Likewise.
58591         * modules/canonicalize-lgpl-tests (Files): Likewise.
58592         * modules/ceilf-tests (Files): Likewise.
58593         * modules/ceill-tests (Files): Likewise.
58594         * modules/chown-tests (Files): Likewise.
58595         * modules/dprintf-posix-tests (Files): Likewise.
58596         * modules/dup2-tests (Files): Likewise.
58597         * modules/dup3-tests (Files): Likewise.
58598         * modules/duplocale-tests (Files): Likewise.
58599         * modules/fchdir-tests (Files): Likewise.
58600         * modules/fcntl-tests (Files): Likewise.
58601         * modules/fdopendir-tests (Files): Likewise.
58602         * modules/fflush-tests (Files): Likewise.
58603         * modules/flock-tests (Files): Likewise.
58604         * modules/floorf-tests (Files): Likewise.
58605         * modules/floorl-tests (Files): Likewise.
58606         * modules/fnmatch-tests (Files): Likewise.
58607         * modules/fopen-tests (Files): Likewise.
58608         * modules/fprintf-posix-tests (Files): Likewise.
58609         * modules/freopen-tests (Files): Likewise.
58610         * modules/frexp-nolibm-tests (Files): Likewise.
58611         * modules/frexp-tests (Files): Likewise.
58612         * modules/frexpl-nolibm-tests (Files): Likewise.
58613         * modules/frexpl-tests (Files): Likewise.
58614         * modules/fseek-tests (Files): Likewise.
58615         * modules/fseeko-tests (Files): Likewise.
58616         * modules/fsync-tests (Files): Likewise.
58617         * modules/ftell-tests (Files): Likewise.
58618         * modules/ftello-tests (Files): Likewise.
58619         * modules/futimens-tests (Files): Likewise.
58620         * modules/getaddrinfo-tests (Files): Likewise.
58621         * modules/getcwd-tests (Files): Likewise.
58622         * modules/getdelim-tests (Files): Likewise.
58623         * modules/getdtablesize-tests (Files): Likewise.
58624         * modules/getgroups-tests (Files): Likewise.
58625         * modules/gethostname-tests (Files): Likewise.
58626         * modules/getline-tests (Files): Likewise.
58627         * modules/getopt-posix-tests (Files): Likewise.
58628         * modules/gettimeofday-tests (Files): Likewise.
58629         * modules/glob-tests (Files): Likewise.
58630         * modules/iconv-tests (Files): Likewise.
58631         * modules/inet_ntop-tests (Files): Likewise.
58632         * modules/inet_pton-tests (Files): Likewise.
58633         * modules/isblank-tests (Files): Likewise.
58634         * modules/lchown-tests (Files): Likewise.
58635         * modules/ldexpl-tests (Files): Likewise.
58636         * modules/link-tests (Files): Likewise.
58637         * modules/linkat-tests (Files): Likewise.
58638         * modules/lseek-tests (Files): Likewise.
58639         * modules/lstat-tests (Files): Likewise.
58640         * modules/mbrtowc-tests (Files): Likewise.
58641         * modules/mbsinit-tests (Files): Likewise.
58642         * modules/mbsnrtowcs-tests (Files): Likewise.
58643         * modules/mbsrtowcs-tests (Files): Likewise.
58644         * modules/memchr-tests (Files): Likewise.
58645         * modules/memcmp-tests (Files): Likewise.
58646         * modules/memmem-tests (Files): Likewise.
58647         * modules/memrchr-tests (Files): Likewise.
58648         * modules/mkdir-tests (Files): Likewise.
58649         * modules/mkfifo-tests (Files): Likewise.
58650         * modules/mkfifoat-tests (Files): Likewise.
58651         * modules/mknod-tests (Files): Likewise.
58652         * modules/nanosleep-tests (Files): Likewise.
58653         * modules/nl_langinfo-tests (Files): Likewise.
58654         * modules/obstack-printf-tests (Files): Likewise.
58655         * modules/open-tests (Files): Likewise.
58656         * modules/openat-tests (Files): Likewise.
58657         * modules/perror-tests (Files): Likewise.
58658         * modules/pipe2-tests (Files): Likewise.
58659         * modules/poll-tests (Files): Likewise.
58660         * modules/popen-tests (Files): Likewise.
58661         * modules/posix_spawn-tests (Files): Likewise.
58662         * modules/posix_spawnp-tests (Files): Likewise.
58663         * modules/pread-tests (Files): Likewise.
58664         * modules/printf-posix-tests (Files): Likewise.
58665         * modules/pty-tests (Files): Likewise.
58666         * modules/random_r-tests (Files): Likewise.
58667         * modules/rawmemchr-tests (Files): Likewise.
58668         * modules/readlink-tests (Files): Likewise.
58669         * modules/remove-tests (Files): Likewise.
58670         * modules/rename-tests (Files): Likewise.
58671         * modules/renameat-tests (Files): Likewise.
58672         * modules/rmdir-tests (Files): Likewise.
58673         * modules/round-tests (Files): Likewise.
58674         * modules/roundf-tests (Files): Likewise.
58675         * modules/roundl-tests (Files): Likewise.
58676         * modules/select-tests (Files): Likewise.
58677         * modules/setenv-tests (Files): Likewise.
58678         * modules/sigaction-tests (Files): Likewise.
58679         * modules/sleep-tests (Files): Likewise.
58680         * modules/snprintf-posix-tests (Files): Likewise.
58681         * modules/snprintf-tests (Files): Likewise.
58682         * modules/sprintf-posix-tests (Files): Likewise.
58683         * modules/stat-tests (Files): Likewise.
58684         * modules/strcasestr-tests (Files): Likewise.
58685         * modules/strchrnul-tests (Files): Likewise.
58686         * modules/strerror-tests (Files): Likewise.
58687         * modules/strsignal-tests (Files): Likewise.
58688         * modules/strstr-tests (Files): Likewise.
58689         * modules/strtod-tests (Files): Likewise.
58690         * modules/strverscmp-tests (Files): Likewise.
58691         * modules/symlink-tests (Files): Likewise.
58692         * modules/symlinkat-tests (Files): Likewise.
58693         * modules/times-tests (Files): Likewise.
58694         * modules/trunc-tests (Files): Likewise.
58695         * modules/truncf-tests (Files): Likewise.
58696         * modules/truncl-tests (Files): Likewise.
58697         * modules/tsearch-tests (Files): Likewise.
58698         * modules/uname-tests (Files): Likewise.
58699         * modules/unlink-tests (Files): Likewise.
58700         * modules/unsetenv-tests (Files): Likewise.
58701         * modules/usleep-tests (Files): Likewise.
58702         * modules/utimensat-tests (Files): Likewise.
58703         * modules/vasprintf-tests (Files): Likewise.
58704         * modules/vdprintf-posix-tests (Files): Likewise.
58705         * modules/vfprintf-posix-tests (Files): Likewise.
58706         * modules/vprintf-posix-tests (Files): Likewise.
58707         * modules/vsnprintf-posix-tests (Files): Likewise.
58708         * modules/vsnprintf-tests (Files): Likewise.
58709         * modules/vsprintf-posix-tests (Files): Likewise.
58710         * modules/wcrtomb-tests (Files): Likewise.
58711         * modules/wcsnrtombs-tests (Files): Likewise.
58712         * modules/wcsrtombs-tests (Files): Likewise.
58713         * modules/wcwidth-tests (Files): Likewise.
58714         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
58715         * tests/test-isinf.c (isinf): Likewise.
58716         * tests/test-isnan.c (isnan): Likewise.
58717         * tests/test-signbit.c (signbit): Likewise.
58718         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
58719         declaration, either as macro or with correct signature.
58720         (select): Ensure function under test is declared with correct
58721         signature in correct header.
58722         * tests/test-atexit.c (atexit): Likewise.
58723         * tests/test-btowc.c (btowc): Likewise.
58724         * tests/test-canonicalize-lgpl.c (realpath)
58725         (canonicalize_file_name): Likewise.
58726         * tests/test-ceilf1.c (ceilf): Likewise.
58727         * tests/test-ceill.c (ceill): Likewise.
58728         * tests/test-chown.c (chown): Likewise.
58729         * tests/test-dprintf-posix.c (dprintf): Likewise.
58730         * tests/test-dup2.c (dup2): Likewise.
58731         * tests/test-dup3.c (dup3): Likewise.
58732         * tests/test-duplocale.c (duplocale): Likewise.
58733         * tests/test-fchdir.c (fchdir): Likewise.
58734         * tests/test-fchownat.c (fchownat): Likewise.
58735         * tests/test-fcntl.c (fcntl): Likewise.
58736         * tests/test-fdopendir.c (fdopendir): Likewise.
58737         * tests/test-fflush.c (fflush): Likewise.
58738         * tests/test-flock.c (flock): Likewise.
58739         * tests/test-floorf1.c (floorf): Likewise.
58740         * tests/test-floorl.c (floorl): Likewise.
58741         * tests/test-fnmatch.c (fnmatch): Likewise.
58742         * tests/test-fopen.c (fopen): Likewise.
58743         * tests/test-fprintf-posix.c (fprintf): Likewise.
58744         * tests/test-freopen.c (freopen): Likewise.
58745         * tests/test-frexp.c (frexp): Likewise.
58746         * tests/test-frexpl.c (frexpl): Likewise.
58747         * tests/test-fseek.c (fseek): Likewise.
58748         * tests/test-fseeko.c (fseeko): Likewise.
58749         * tests/test-fstatat.c (fstatat): Likewise.
58750         * tests/test-fsync.c (fsync): Likewise.
58751         * tests/test-ftell.c (ftell): Likewise.
58752         * tests/test-ftello.c (ftello): Likewise.
58753         * tests/test-futimens.c (futimens): Likewise.
58754         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
58755         (gai_strerror): Likewise.
58756         * tests/test-getcwd.c (getcwd): Likewise.
58757         * tests/test-getdelim.c (getdelim): Likewise.
58758         * tests/test-getdtablesize.c (getdtablesize): Likewise.
58759         * tests/test-getgroups.c (getgroups): Likewise.
58760         * tests/test-gethostname.c (gethostname): Likewise.
58761         * tests/test-getline.c (getline): Likewise.
58762         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
58763         Likewise.
58764         * tests/test-gettimeofday.c (gettimeofday): Likewise.
58765         * tests/test-glob.c (glob, globfree): Likewise.
58766         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
58767         * tests/test-inet_ntop.c (inet_ntop): Likewise.
58768         * tests/test-inet_pton.c (inet_pton): Likewise.
58769         * tests/test-isblank.c (isblank): Likewise.
58770         * tests/test-lchown.c (lchown): Likewise.
58771         * tests/test-ldexpl.c (ldexpl): Likewise.
58772         * tests/test-link.c (link): Likewise.
58773         * tests/test-linkat.c (linkat): Likewise.
58774         * tests/test-lseek.c (lseek): Likewise.
58775         * tests/test-lstat.c (lstat): Likewise.
58776         * tests/test-mbrtowc.c (mbrtowc): Likewise.
58777         * tests/test-mbsinit.c (mbsinit): Likewise.
58778         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
58779         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
58780         * tests/test-memchr.c (memchr): Likewise.
58781         * tests/test-memcmp.c (memcmp): Likewise.
58782         * tests/test-memmem.c (memmem): Likewise.
58783         * tests/test-memrchr.c (memrchr): Likewise.
58784         * tests/test-mkdir.c (mkdir): Likewise.
58785         * tests/test-mkdirat.c (mkdirat): Likewise.
58786         * tests/test-mkfifo.c (mkfifo): Likewise.
58787         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
58788         * tests/test-mknod.c (mknod): Likewise.
58789         * tests/test-nanosleep.c (nanosleep): Likewise.
58790         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
58791         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
58792         Likewise.
58793         * tests/test-open.c (open): Likewise.
58794         * tests/test-openat.c (openat): Likewise.
58795         * tests/test-perror.c (perror): Likewise.
58796         * tests/test-pipe2.c (pipe2): Likewise.
58797         * tests/test-poll.c (poll): Likewise.
58798         * tests/test-popen.c (popen, pclose): Likewise.
58799         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
58800         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
58801         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
58802         (posix_spawn_file_actions_destroy)
58803         (posix_spawn_file_actions_addclose)
58804         (posix_spawn_file_actions_addopen)
58805         (posix_spawn_file_actions_adddup2): Likewise.
58806         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
58807         * tests/test-pread.c (pread): Likewise.
58808         * tests/test-printf-posix.c (printf): Likewise.
58809         * tests/test-pty.c (openpty, forkpty): Likewise.
58810         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
58811         (random_r): Likewise.
58812         * tests/test-rawmemchr.c (rawmemchr): Likewise.
58813         * tests/test-readlink.c (readlink): Likewise.
58814         * tests/test-remove.c (remove): Likewise.
58815         * tests/test-rename.c (rename): Likewise.
58816         * tests/test-renameat.c (renameat): Likewise.
58817         * tests/test-rmdir.c (rmdir): Likewise.
58818         * tests/test-round1.c (round): Likewise.
58819         * tests/test-roundf1.c (roundf): Likewise.
58820         * tests/test-roundl.c (roundl): Likewise.
58821         * tests/test-setenv.c (setenv): Likewise.
58822         * tests/test-sigaction.c (sigaction): Likewise.
58823         * tests/test-sleep.c (sleep): Likewise.
58824         * tests/test-snprintf.c (snprintf): Likewise.
58825         * tests/test-sprintf-posix.c (sprintf): Likewise.
58826         * tests/test-stat.c (stat): Likewise.
58827         * tests/test-stpncpy.c (stpncpy): Likewise.
58828         * tests/test-strcasestr.c (strcasestr): Likewise.
58829         * tests/test-strchrnul.c (strchrnul): Likewise.
58830         * tests/test-strerror.c (strerror): Likewise.
58831         * tests/test-strsignal.c (strsignal): Likewise.
58832         * tests/test-strstr.c (strstr): Likewise.
58833         * tests/test-strtod.c (strtod): Likewise.
58834         * tests/test-strverscmp.c (strverscmp): Likewise.
58835         * tests/test-symlink.c (symlink): Likewise.
58836         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
58837         * tests/test-times.c (times): Likewise.
58838         * tests/test-trunc1.c (trunc): Likewise.
58839         * tests/test-truncf1.c (truncf): Likewise.
58840         * tests/test-truncl.c (truncl): Likewise.
58841         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
58842         Likewise.
58843         * tests/test-uname.c (uname): Likewise.
58844         * tests/test-unlink.c (unlink): Likewise.
58845         * tests/test-unlinkat.c (unlinkat): Likewise.
58846         * tests/test-unsetenv.c (unsetenv): Likewise.
58847         * tests/test-usleep.c (usleep): Likewise.
58848         * tests/test-utimensat.c (utimensat): Likewise.
58849         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
58850         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
58851         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
58852         * tests/test-vprintf-posix.c (vprintf): Likewise.
58853         * tests/test-vsnprintf.c (vsnprintf): Likewise.
58854         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
58855         * tests/test-wcrtomb.c (wcrtomb): Likewise.
58856         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
58857         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
58858         * tests/test-wcwidth.c (wcwidth): Likewise.
58860         build: pull in conditional headers during GNULIB_POSIXCHECK
58861         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
58862         definitions from any conditionally-included headers.
58863         * lib/stdlib.in.h (includes): Likewise.
58864         * lib/unistd.in.h (includes): Likewise.
58866 2009-12-24  Bruno Haible  <bruno@clisp.org>
58868         * tests/test-argv-iter.c: Include header file being tested immediately
58869         after config.h.
58870         * tests/test-base64.c: Likewise.
58871         * tests/test-flock.c: Likewise.
58872         * tests/test-fsync.c: Likewise.
58873         * tests/test-getdate.c: Likewise.
58874         * tests/test-getndelim2.c: Likewise.
58875         * tests/test-isfinite.c: Likewise.
58876         * tests/test-isinf.c: Likewise.
58877         * tests/test-strerror.c: Likewise.
58878         * tests/test-strsignal.c: Likewise.
58880 2009-12-23  Eric Blake  <ebb9@byu.net>
58882         unistd: work around cygwin bug
58883         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
58884         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
58885         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
58887 2009-12-23  Bruno Haible  <bruno@clisp.org>
58889         localename: More tests.
58890         * tests/test-localename.c (SIZEOF): New macro.
58891         (categories): New variable.
58892         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
58893         test_locale_name_default): Add test w.r.t. thread locale.
58894         (test_locale_name_thread): New function.
58895         (main): Invoke it.
58897         localename: Make aware of thread locale.
58898         * lib/localename.h (gl_locale_name_thread): New declaration.
58899         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
58900         behaviour with respect to thread locale.
58901         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
58902         <langinfo.h>, glthread/lock.h.
58903         (SIZE_BITS): New macro.
58904         (string_hash): New function.
58905         (struct hash_node): New type.
58906         (HASH_TABLE_SIZE): New macro.
58907         (struniq_hash_table, struniq_lock): New variables.
58908         (struniq): New function.
58909         (gl_locale_name_thread): New function.
58910         (gl_locale_name): Invoke it.
58911         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
58912         * modules/localename (Depends-on): Add lock.
58913         Reported by Mike Gran <spk121@yahoo.com>.
58915 2009-12-23  Eric Blake  <ebb9@byu.net>
58917         va-args: new module
58918         * modules/va-args: New file.
58919         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
58920         * MODULES.html.sh (Core language properties): Mention it.
58922         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
58923         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
58924         named alias for __attribute__((__unused__)).
58925         * lib/chown.c: Update client.
58926         * lib/fchmodat.c: Likewise.
58927         * lib/fts.c: Likewise.
58928         * lib/getdate.y: Likewise.
58929         * lib/getgroups.c: Likewise.
58930         * lib/getopt.c: Likewise.
58931         * lib/getugroups.c: Likewise.
58932         * lib/mkdir.c: Likewise.
58933         * lib/mkfifo.c: Likewise.
58934         * lib/mkfifoat.c: Likewise.
58935         * lib/mknod.c: Likewise.
58936         * lib/mknodat.c: Likewise.
58937         * lib/readlink.c: Likewise.
58938         * lib/se-context.in.h: Likewise.
58939         * lib/se-selinux.in.h: Likewise.
58940         * lib/sockets.c: Likewise.
58941         * lib/symlink.c: Likewise.
58942         * lib/symlinkat.c: Likewise.
58943         * lib/unicodeio.c: Likewise.
58944         * lib/unistr.h: Likewise.
58945         * tests/test-areadlink.c: Likewise.
58946         * tests/test-areadlinkat.c: Likewise.
58947         * tests/test-filenamecat.c: Likewise.
58948         * tests/test-fseeko.c: Likewise.
58949         * tests/test-ftello.c: Likewise.
58950         * tests/test-getdate.c: Likewise.
58951         * tests/test-getgroups.c: Likewise.
58952         * tests/test-gethostname.c: Likewise.
58953         * tests/test-quotearg.c: Likewise.
58954         * tests/test-version-etc.c: Likewise.
58955         * tests/test-xalloc-die.c: Likewise.
58956         * tests/test-xfprintf-posix.c: Likewise.
58957         * tests/test-xprintf-posix.c: Likewise.
58958         * tests/test-xvasprintf.c: Likewise.
58960         tests: avoid compiler warnings
58961         * tests/test-fcntl.c (main): Delete unused parameters.
58962         * tests/test-freopen-safer.c (main): Likewise.
58963         * tests/test-xalloc-die.c (main): Mark unused parameters.
58964         * tests/test-fseeko.c (main): Likewise.
58965         * tests/test-ftello.c (main): Likewise.
58966         * tests/test-nanosleep.c (main): Avoid declaration warning.
58967         * tests/test-sleep.c (main): Likewise.
58968         * tests/test-unsetenv.c (main): Silence warning about string
58969         literal.
58970         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
58972 2009-12-23  Bruno Haible  <bruno@clisp.org>
58974         * tests/test-localename.c (test_locale_name): New function, extracted
58975         from main. Also test mixed situations.
58976         (test_locale_name_posix, test_locale_name_environ,
58977         test_locale_name_default): New functions.
58978         (main): Invoke them all.
58979         * modules/localename-tests (configure.ac): Test for newlocale.
58981 2009-12-23  Bruno Haible  <bruno@clisp.org>
58983         unistd: Ensure getcwd gets declared before being overridden.
58984         * lib/unistd.in.h: Conditionally include <io.h>.
58986 2009-12-22  Bruno Haible  <bruno@clisp.org>
58988         wchar: Diagnose broken combination of glibc and gcc versions and flags.
58989         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
58990         (gl_WCHAR_H): Invoke it.
58991         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
58992         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
58993         Reported by Karl Berry <karl@freefriends.org>.
58995 2009-12-22  Eric Blake  <ebb9@byu.net>
58997         math, unistd: avoid redundant includes
58998         * lib/math.in.h (isnan): No need to re-include <math.h>.
58999         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
59001         getsubopt: work around cygwin bug
59002         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
59003         avoid conflicting with system getsubopt.
59004         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
59005         bug.
59007         getopt: synchronize from glibc
59008         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
59009         parameter order.  Adjust all callers.
59010         (_getopt_internal_r, main): Adjust quoting in error messages.
59011         Drop considerations for outdated POSIX 1003.2 error message.
59012         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
59013         callers.
59014         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
59016         test-getopt: test stderr behavior
59017         * modules/getopt-posix-tests (Depends-on): Add dup2.
59018         * tests/test-getopt.c (ASSERT): Avoid stderr.
59019         (main): Move stderr to a temporary file.
59020         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
59021         Instead, add parameter to inform caller if output occurred.
59022         (test_getopt): Adjust all existing tests to expect silence, and
59023         add new tests of leading ":".
59024         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
59025         glibc shortcomings with leading "-:" or "+:" in optstring.
59026         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
59027         Likewise.
59028         * doc/posix-functions/getopt.texi (getopt): Likewise.
59030         test-getopt: enhance test
59031         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
59032         supports optind=0.
59033         * tests/test-getopt.c (OPTIND_MIN): Move...
59034         * tests/test-getopt.h (OPTIND_MIN): ...here.
59035         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
59036         Require that optind=0 works, since modern BSD supports it in
59037         addition to optreset, and since coreutils expects it.
59038         (test_getopt_long_only): New test.
59039         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
59040         glibc shortcomings with 'W;', and enforcement of optind=0.
59041         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
59042         Likewise.
59044 2009-12-21  Bruno Haible  <bruno@clisp.org>
59046         localename: Improvements for MacOS X and Cygwin.
59047         * lib/localename.h (gl_locale_name_environ): New declaration.
59048         * lib/localename.c (gl_locale_name_environ): New function, extracted from
59049         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
59050         (gl_locale_name_posix): Invoke it.
59051         (gl_locale_name_default): Add comments. Use Windows native API also on
59052         Cygwin.
59054 2009-12-21  Bruno Haible  <bruno@clisp.org>
59056         Update list of Win32 locale ids.
59057         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
59058         (LANG_SAMI): Renamed from LANG_SAAMI.
59059         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
59060         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
59061         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
59062         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
59063         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
59064         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
59065         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
59066         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
59067         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
59068         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
59069         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
59070         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
59071         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
59072         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
59073         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
59074         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
59075         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
59076         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
59077         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
59078         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
59079         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
59080         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
59081         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
59082         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
59083         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
59084         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
59085         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
59086         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
59087         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
59088         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
59089         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
59090         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
59091         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
59092         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
59093         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
59094         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
59095         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
59096         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
59097         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
59098         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
59099         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
59100         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
59101         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
59102         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
59103         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
59104         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
59105         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
59106         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
59107         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
59108         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
59109         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
59110         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
59111         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
59112         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
59113         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
59114         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
59115         Add more languages and countries for Sami, Sorbian. Add more countries
59116         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
59117         for Pashto. Change country for Syriac, Tswana.
59119 2009-12-21  Eric Blake  <ebb9@byu.net>
59121         test-utimens: avoid spurious failure
59122         * tests/test-chown.h (nap): Factor...
59123         * tests/nap.h: ...into new file.
59124         * tests/test-lchown.h (nap): Avoid duplication.
59125         * tests/test-utimens-common.h (nap): Use shared implementation,
59126         necessary on file systems with 1-second resolution.
59127         * modules/chown-tests (Files): Include new file.
59128         * modules/fdutimensat-tests (Files): Likewise.
59129         * modules/futimens-tests (Files): Likewise.
59130         * modules/lchown-tests (Files): Likewise.
59131         * modules/openat-tests (Files): Likewise.
59132         * modules/utimens-tests (Files): Likewise.
59133         * modules/utimensat-tests (Files): Likewise.
59135 2009-12-19  Eric Blake  <ebb9@byu.net>
59137         futimens, utimensat: work around Linux bug
59138         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
59139         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
59140         * lib/utimensat.c (rpl_utimensat): Work around it.
59141         * lib/futimens.c (rpl_futimens): Adjust comment.
59143         utimens: work around Linux ctime bug
59144         * lib/utimens.c (detect_ctime_bug): New helper function.
59145         (update_timespec): Differentiate between workaround needed for
59146         this bug vs. what is needed for systems that lack utimensat.
59147         (fdutimens, lutimens): Work around bug.
59149         utimens: check for ctime update
59150         * tests/test-utimens-common.h (check_ctime): Define.
59151         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
59152         * tests/test-futimens.h (test_futimens): Likewise.
59153         * tests/test-lutimens.h (test_lutimens): Likewise.
59154         * doc/posix-functions/futimens.texi (futimens): Document the bug.
59155         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
59157 2009-12-19  Bruno Haible  <bruno@clisp.org>
59159         dprintf-posix: Check against memory leak fixed on 2009-12-15.
59160         * tests/test-dprintf-posix2.sh: New file.
59161         * tests/test-dprintf-posix2.c: New file.
59162         * modules/dprintf-posix-tests (Files): Add them.
59163         (configure.ac): Check for getrlimit and setrlimit.
59164         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
59166 2009-12-19  Bruno Haible  <bruno@clisp.org>
59168         fprintf-posix: Check against memory leak fixed on 2009-12-15.
59169         * tests/test-fprintf-posix3.sh: New file.
59170         * tests/test-fprintf-posix3.c: New file.
59171         * modules/fprintf-posix-tests (Files): Add them.
59172         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
59174 2009-12-19  Eric Blake  <ebb9@byu.net>
59176         dirfd: fix prototype
59177         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
59178         * lib/dirfd.c (dirfd): Likewise.
59180         canonicalize: reduce memory usage
59181         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
59182         allocation to size.
59183         Reported by Solar Designer <solar@openwall.com>.
59185 2009-12-19  Bruno Haible  <bruno@clisp.org>
59187         New module attribute 'Applicability'.
59188         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
59189         * gnulib-tool: New option --extract-applicability.
59190         (func_usage): Document it.
59191         (sed_extract_prog): Recognize it.
59192         (func_get_applicability): New function.
59193         (func_import): Generalize handling of 'link-warning' module.
59194         * modules/link-warning (Applicability): New section.
59195         * modules/arg-nonnull (Applicability): New section.
59196         Repoted by Simon Josefsson <simon@josefsson.org>.
59198 2009-12-19  Bruno Haible  <bruno@clisp.org>
59200         fflush: tweak
59201         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
59202         * lib/fseeko.c (rpl_fseeko): Likewise.
59204 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
59206         * lib/gl_list.h: Fix typo in comment.
59208 2009-12-16  Eric Blake  <ebb9@byu.net>
59210         fcntl: use to simplify other modules
59211         * modules/cloexec (Depends-on): Add fcntl.
59212         * modules/fchdir (Depends-on): Likewise.
59213         * modules/fd-safer-flag (Depends-on): Likewise.
59214         * modules/unistd-safer (Depends-on): Likewise.
59215         * modules/dup3 (configure.ac): Set module indicator.
59216         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
59217         missing.
59218         * lib/fchdir.c (_gl_register_dup): Fix comment.
59219         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
59220         * lib/dup-safer.c (dup_safer): Likewise.
59221         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
59222         * lib/dup3.c (dup3): Likewise.
59223         * tests/test-fchdir.c (main): Enhance test.
59224         Fixes a dup_cloexec bug reported by Ondřej Vašík.
59226         fcntl: port portions of fcntl to mingw
59227         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
59228         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
59229         replacement for mingw.
59230         * modules/fcntl (Description): Update.
59231         (Depends-on): Add dup2.
59232         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
59233         * modules/fcntl-h (Makefile.am): Substitute it.
59234         * lib/fcntl.in.h (fcntl): Update declaration.
59235         (F_DUPFD, F_GETFD): New macros, when needed.
59236         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
59237         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
59238         * tests/test-fcntl.c (check_flags, main): Enhance test for items
59239         we now guarantee.
59241         fcntl: work around cygwin bug in F_DUPFD
59242         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
59243         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
59244         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
59245         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
59246         * doc/posix-functions/fcntl.texi (fcntl): Document it.
59248         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
59249         * modules/fcntl (Files): List new files.
59250         (configure.ac): Run a test.
59251         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
59252         * lib/fcntl.c (rpl_fcntl): Likewise.
59253         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
59254         (gl_FCNTL_H): Always replace fcntl.h.
59255         * modules/fcntl-h (Makefile.am): Substitute witnesses.
59256         * lib/fcntl.in.h (fcntl): Declare replacement.
59257         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
59258         needed, plus a witness.
59259         * doc/posix-functions/fcntl.texi (fcntl): Document this.
59260         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
59261         * tests/test-fcntl.c: New file.
59262         * modules/fcntl-tests: Likewise.
59264         binary-io: avoid potential compilation warning
59265         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
59266         directives.
59268         fflush: avoid compilation error on NetBSD
59269         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
59270         between off_t and fpos_t, since the latter is sometimes a struct.
59271         * lib/fseeko.c (rpl_fseeko): Likewise.
59272         Reported by Alexander Nasonov <alnsn@yandex.ru>.
59274 2009-12-15  Eric Blake  <ebb9@byu.net>
59276         fcntl-h, stdio, sys_ioctl: fix declarations
59277         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
59278         function must not take arguments.
59279         * lib/sys_ioctl.in.h (ioctl): Likewise.
59280         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
59281         (open): Add a link warning.
59283 2009-12-15  Jim Meyering  <meyering@redhat.com>
59285         areadlink, areadlink-with-size: relax license to LGPLv2+
59286         * modules/areadlink (License): Relax to LGPLv2+.
59287         * modules/areadlink-with-size (License): Likewise.
59289 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
59290             Bruno Haible  <bruno@clisp.org>
59292         *printf: Fix memory leak.
59293         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
59294         * lib/vfprintf.c (vfprintf): Likewise.
59295         * lib/dprintf.c (dprintf): Likewise.
59296         * lib/vdprintf.c (vdprintf): Likewise.
59298 2009-12-14  Eric Blake  <ebb9@byu.net>
59300         accept4: adjust module dependencies
59301         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
59303         utimens: one more try at avoiding compiler warning
59304         * lib/utimens.c (lutimens): Lower scope of result.
59306 2009-12-13  Bruno Haible  <bruno@clisp.org>
59308         Move the malloc checking from module 'list' to new module 'xlist'.
59309         * modules/xlist: New file.
59310         * lib/gl_xlist.h: New file.
59311         * lib/gl_xlist.c: New file.
59312         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
59313         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
59314         gl_list_add_last, gl_list_add_before, gl_list_add_after,
59315         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
59316         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
59317         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
59318         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
59319         gl_sortedlist_nx_add): New declarations.
59320         (struct gl_list_implementation): Rename and change methods accordingly.
59321         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
59322         (gl_list_nx_create): Renamed from gl_list_create.
59323         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
59324         (gl_list_nx_set_at): Renamed from gl_list_set_at.
59325         (gl_list_nx_add_first): Renamed from gl_list_add_first.
59326         (gl_list_nx_add_last): Renamed from gl_list_add_last.
59327         (gl_list_nx_add_before): Renamed from gl_list_add_before.
59328         (gl_list_nx_add_after): Renamed from gl_list_add_after.
59329         (gl_list_nx_add_at): Renamed from gl_list_add_at.
59330         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
59331         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
59332         gl_list_create_empty.
59333         (gl_list_nx_create): Renamed from gl_list_create.
59334         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
59335         (gl_list_nx_set_at): Renamed from gl_list_set_at.
59336         (gl_list_nx_add_first): Renamed from gl_list_add_first.
59337         (gl_list_nx_add_last): Renamed from gl_list_add_last.
59338         (gl_list_nx_add_before): Renamed from gl_list_add_before.
59339         (gl_list_nx_add_after): Renamed from gl_list_add_after.
59340         (gl_list_nx_add_at): Renamed from gl_list_add_at.
59341         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
59342         * lib/gl_array_list.c: Don't include xalloc.h.
59343         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
59344         NULL upon out-of-memory.
59345         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
59346         out-of-memory.
59347         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
59348         Change return type to 'int'.
59349         (gl_array_nx_set_at): Renamed from gl_array_set_at.
59350         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
59351         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
59352         upon out-of-memory.
59353         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
59354         upon out-of-memory.
59355         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
59356         upon out-of-memory.
59357         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
59358         upon out-of-memory.
59359         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
59360         out-of-memory.
59361         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
59362         Update.
59363         (gl_array_list_implementation): Update.
59364         * lib/gl_carray_list.c: Don't include xalloc.h.
59365         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
59366         Return NULL upon out-of-memory.
59367         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
59368         out-of-memory.
59369         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
59370         Change return type to 'int'.
59371         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
59372         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
59373         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
59374         upon out-of-memory.
59375         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
59376         upon out-of-memory.
59377         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
59378         out-of-memory.
59379         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
59380         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
59381         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
59382         Update.
59383         (gl_carray_list_implementation): Update.
59384         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
59385         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
59386         gl_linked_create_empty. Return NULL upon out-of-memory.
59387         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
59388         out-of-memory.
59389         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
59390         Change return type to 'int'. Return -1 upon out-of-memory.
59391         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
59392         out-of-memory.
59393         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
59394         upon out-of-memory.
59395         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
59396         upon out-of-memory.
59397         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
59398         NULL upon out-of-memory.
59399         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
59400         upon out-of-memory.
59401         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
59402         out-of-memory.
59403         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
59404         Update.
59405         * lib/gl_linked_list.c: Don't include xalloc.h.
59406         (gl_linked_list_implementation): Update.
59407         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
59408         (add_to_bucket): Change return type to 'int'.
59409         (gl_linkedhash_list_implementation): Update.
59410         * lib/gl_anytree_list1.h (free_subtree): New function.
59411         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
59412         gl_tree_create_empty. Return NULL upon out-of-memory.
59413         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
59414         Change return type to 'int'. Return -1 upon out-of-memory.
59415         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
59416         out-of-memory.
59417         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
59418         (gl_tree_remove_node): New function, moved here from
59419         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
59420         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
59421         Update.
59422         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
59423         malloc, not xmalloc. Return NULL upon out-of-memory.
59424         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
59425         out-of-memory.
59426         (gl_tree_remove_node_from_tree): New function, extracted from
59427         gl_tree_remove_node.
59428         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
59429         upon out-of-memory.
59430         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
59431         out-of-memory.
59432         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
59433         upon out-of-memory.
59434         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
59435         upon out-of-memory.
59436         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
59437         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
59438         not xmalloc. Return NULL upon out-of-memory.
59439         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
59440         out-of-memory.
59441         (gl_tree_remove_node_from_tree): New function, extracted from
59442         gl_tree_remove_node.
59443         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
59444         upon out-of-memory.
59445         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
59446         out-of-memory.
59447         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
59448         upon out-of-memory.
59449         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
59450         upon out-of-memory.
59451         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
59452         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
59453         gl_anytree_list1.h before gl_anyavltree_list2.h.
59454         (gl_avltree_list_implementation): Update.
59455         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
59456         gl_anytree_list1.h before gl_anyavltree_list2.h.
59457         (gl_rbtree_list_implementation): Update.
59458         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
59459         Change return type to 'int'. Return -1 upon out-of-memory. Use
59460         __builtin_expect.
59461         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
59462         (gl_avltreehash_list_implementation): Update.
59463         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
59464         (gl_rbtreehash_list_implementation): Update.
59465         * modules/array-list (Depends-on): Remove xalloc.
59466         * modules/carray-list (Depends-on): Likewise.
59467         * modules/linked-list (Depends-on): Likewise.
59468         * modules/linkedhash-list (Depends-on): Likewise.
59469         * modules/avltree-list (Depends-on): Likewise.
59470         * modules/rbtree-list (Depends-on): Likewise.
59471         * modules/avltreehash-list (Depends-on): Likewise.
59472         * modules/rbtreehash-list (Depends-on): Likewise.
59474         * modules/xsublist: New file.
59475         * lib/gl_xsublist.h: New file.
59476         * lib/gl_xsublist.c: New file.
59477         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
59478         (gl_sublist_nx_create): New declaration.
59479         * lib/gl_sublist.c: Don't include xalloc.h.
59480         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
59481         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
59482         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
59483         Change return type to 'int'. Return -1 upon out-of-memory.
59484         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
59485         upon out-of-memory.
59486         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
59487         NULL upon out-of-memory.
59488         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
59489         upon out-of-memory.
59490         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
59491         NULL upon out-of-memory.
59492         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
59493         NULL upon out-of-memory.
59494         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
59495         upon out-of-memory.
59496         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
59497         (gl_sublist_list_implementation): Update.
59498         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
59499         upon out-of-memory.
59500         * modules/sublist (Depends-on): Remove xalloc.
59502         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
59503         * tests/test-carray_list.c: Likewise.
59504         * tests/test-linked_list.c: Likewise.
59505         * tests/test-linkedhash_list.c: Likewise.
59506         * tests/test-avltree_list.c: Likewise.
59507         * tests/test-rbtree_list.c: Likewise.
59508         * tests/test-avltreehash_list.c: Likewise.
59509         * tests/test-rbtreehash_list.c: Likewise.
59510         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
59511         * modules/carray-list-tests (Makefile.am): Likewise.
59512         * modules/linked-list-tests (Makefile.am): Likewise.
59513         * modules/linkedhash-list-tests (Makefile.am): Likewise.
59514         * modules/avltree-list-tests (Makefile.am): Likewise.
59515         * modules/rbtree-list-tests (Makefile.am): Likewise.
59516         * modules/avltreehash-list-tests (Makefile.am): Likewise.
59517         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
59519         * NEWS: Mention the changes.
59521         * lib/clean-temp.c: Include gl_xlist.h.
59522         * modules/clean-temp (Depends-on): Add xlist.
59524         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
59525         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
59527         * tests/test-array_oset.c: Include gl_xlist.h.
59528         * modules/array-oset-tests (Depends-on): Add xlist.
59530         Reported by José E. Marchesi <jemarch@gnu.org>.
59532 2009-12-13  Bruno Haible  <bruno@clisp.org>
59534         Move the malloc checking from module 'oset' to new module 'xoset'.
59535         * modules/xoset: New file.
59536         * lib/gl_xoset.h: New file.
59537         * lib/gl_xoset.c: New file.
59538         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
59539         declarations.
59540         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
59541         (struct gl_oset_implementation): Rename and change methods accordingly.
59542         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
59543         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
59544         'int'. Mark as __warn_unused_result__.
59545         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
59546         gl_oset_create_empty.
59547         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
59548         'int'.
59549         * lib/gl_array_oset.c: Don't include xalloc.h.
59550         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
59551         malloc, not xmalloc.
59552         (grow): Change return type to 'int'. Don't call xalloc_die.
59553         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
59554         to 'int'.
59555         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
59556         'int'.
59557         (gl_array_oset_implementation): Update.
59558         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
59559         gl_tree_create_empty.
59560         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
59561         'int'.
59562         * lib/gl_avltree_oset.c: Don't include xalloc.h.
59563         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
59564         xmalloc.
59565         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
59566         not xmalloc.
59567         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
59568         xmalloc.
59569         (gl_avltree_oset_implementation): Update.
59570         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
59571         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
59572         xmalloc.
59573         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
59574         not xmalloc.
59575         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
59576         xmalloc.
59577         (gl_rbtree_oset_implementation): Update.
59578         * modules/array-oset (Depends-on): Remove xalloc.
59579         * modules/avltree-oset (Depends-on): Likewise.
59580         * modules/rbtree-oset (Depends-on): Likewise.
59581         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
59582         * tests/test-avltree_oset.c: Likewise.
59583         * tests/test-rbtree_oset.c: Likewise.
59584         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
59585         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
59586         * modules/rbtree-oset-tests (Makefile.am): Likewise.
59587         * NEWS: Mention the change.
59589 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
59591         maint.mk: allow a project to override release-prep commands
59592         * top/maint.mk (alpha, beta, stable): Move release-preparatory
59593         commands into a new rule.
59594         (release-prep): New rule.
59595         (release-prep-hook): New overridable variable.
59597 2009-12-13  Bruno Haible  <bruno@clisp.org>
59599         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
59601 2009-12-13  Jim Meyering  <meyering@redhat.com>
59603         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
59604         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
59606 2009-12-12  Bruno Haible  <bruno@clisp.org>
59608         duplocale: Tweak.
59609         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
59611 2009-12-12  Karl Berry  <karl@gnu.org>
59613         * config/srclist.txt (strtoll.c): tab changes, no more sync.
59615 2009-12-12  Bruno Haible  <bruno@clisp.org>
59617         * m4/po.m4: Undo incorrect untabification.
59619 2009-12-12  Bruno Haible  <bruno@clisp.org>
59621         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
59622         * modules/c-strtod (Depends-on): Add locale.
59623         * modules/c-strtold (Depends-on): Likewise.
59625 2009-12-12  Bruno Haible  <bruno@clisp.org>
59627         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
59629 2009-12-11  Eric Blake  <ebb9@byu.net>
59631         setenv: relax requirement in light of POSIX ruling
59632         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
59633         not NULL.
59634         * tests/test-setenv.c (main): Relax test.
59635         * tests/test-unsetenv.c (main): Likewise.
59636         * doc/posix-functions/setenv.texi (setenv): Document this.
59637         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
59639 2009-12-11  Bruno Haible  <bruno@clisp.org>
59641         New module 'fd-safer-flag'.
59642         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
59643         * lib/dup-safer.c (dup_safer_flag): Remove function.
59644         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
59645         * lib/fd-safer.c (fd_safer_flag): Remove function.
59646         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
59647         * modules/cloexec (configure.ac): Drop indicator macro.
59648         * modules/fd-safer-flag: New file.
59649         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
59650         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
59651         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
59653 2009-12-11  Bruno Haible  <bruno@clisp.org>
59655         Tests for module 'nl_langinfo'.
59656         * modules/nl_langinfo-tests: New file.
59657         * tests/test-nl_langinfo.sh: New file.
59658         * tests/test-nl_langinfo.c: New file.
59660         New module 'nl_langinfo'.
59661         * lib/nl_langinfo.c: New file.
59662         * m4/nl_langinfo.m4: New file.
59663         * modules/nl_langinfo: New file.
59664         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
59666 2009-12-11  Bruno Haible  <bruno@clisp.org>
59668         Tests for module 'langinfo'.
59669         * modules/langinfo-tests: New file.
59670         * tests/test-langinfo.c: New file.
59672         New module 'langinfo'.
59673         * lib/langinfo.in.h: New file.
59674         * m4/langinfo_h.m4: New file.
59675         * modules/langinfo: New file.
59676         * doc/posix-headers/langinfo.texi: Mention the new module.
59678 2009-12-11  Bruno Haible  <bruno@clisp.org>
59680         * lib/config.charset: Untabify.
59682 2009-12-11  Bruno Haible  <bruno@clisp.org>
59684         * modules/unistd-safer (configure.ac): Drop indicator macro.
59686 2009-12-11  Bruno Haible  <bruno@clisp.org>
59688         Move pipe2-safer code to its own file.
59689         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
59690         * lib/pipe-safer.c (pipe2_safer): Remove function.
59691         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
59692         (Makefile.am): Add it to lib_SOURCES.
59694 2009-12-10  Bruno Haible  <bruno@clisp.org>
59696         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
59698 2009-12-10  Bruno Haible  <bruno@clisp.org>
59700         Declare which arguments expect non-NULL values, for GCC and clang.
59701         * build-aux/arg-nonnull.h: New file.
59702         * modules/arg-nonnull: New file.
59703         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
59704         (inet_ntop, inet_pton): Use it.
59705         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
59706         (closedir, dirfd, opendir, scandir, alphasort): Use it.
59707         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
59708         (open, openat): Use it.
59709         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
59710         (fnmatch): Use it.
59711         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
59712         (getopt, getopt_long, getopt_long_only): Use it.
59713         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
59714         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
59715         Use it.
59716         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
59717         (iconv_open): Use it.
59718         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
59719         (strtoimax, strtoumax): Use it.
59720         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
59721         (duplocale): Use it.
59722         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
59723         (frexp, frexpl): Use it.
59724         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
59725         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
59726         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
59727         (tsearch, tfind, tdelete, twalk): Use it.
59728         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
59729         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
59730         sigpending): Use it.
59731         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
59732         (posix_spawn, posix_spawnp, posix_spawnattr_init,
59733         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
59734         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
59735         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
59736         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
59737         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
59738         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
59739         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
59740         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
59741         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
59742         Use it.
59743         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
59744         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
59745         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
59746         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
59747         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
59748         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
59749         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
59750         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
59751         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
59752         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
59753         strtoull, unsetenv): Use it.
59754         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
59755         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
59756         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
59757         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
59758         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
59759         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
59760         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
59761         (strcasecmp, strncasecmp): Use it.
59762         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
59763         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
59764         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
59765         rpl_setsockopt): Use it.
59766         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
59767         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
59768         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
59769         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
59770         (gettimeofday): Use it.
59771         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
59772         (times): Use it.
59773         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
59774         (uname): Use it.
59775         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
59776         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
59777         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
59778         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
59779         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
59780         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
59781         unlinkat, write): Use it.
59782         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
59783         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
59784         * lib/argv-iter.h: Include arg-nonnull.h.
59785         (_ATTRIBUTE_NONNULL_): Remove macro.
59786         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
59787         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
59788         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
59789         optimization.
59790         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
59791         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
59792         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
59793         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
59794         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
59795         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
59796         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
59797         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
59798         * modules/arpa_inet (Depends-on): Add arg-nonnull.
59799         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
59800         * modules/dirent (Depends-on): Add arg-nonnull.
59801         (Makefile.am): Insert arg-nonnull.h into dirent.h.
59802         * modules/fcntl-h (Depends-on): Add arg-nonnull.
59803         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
59804         * modules/fnmatch (Depends-on): Add arg-nonnull.
59805         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
59806         * modules/getopt-posix (Depends-on): Add arg-nonnull.
59807         (Makefile.am): Insert arg-nonnull.h into getopt.h.
59808         * modules/glob (Depends-on): Add arg-nonnull.
59809         (Makefile.am): Insert arg-nonnull.h into glob.h.
59810         * modules/iconv_open (Depends-on): Add arg-nonnull.
59811         (Makefile.am): Insert arg-nonnull.h into iconv.h.
59812         * modules/inttypes (Depends-on): Add arg-nonnull.
59813         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
59814         * modules/locale (Depends-on): Add arg-nonnull.
59815         (Makefile.am): Insert arg-nonnull.h into locale.h.
59816         * modules/math (Depends-on): Add arg-nonnull.
59817         (Makefile.am): Insert arg-nonnull.h into math.h.
59818         * modules/netdb (Depends-on): Add arg-nonnull.
59819         (Makefile.am): Insert arg-nonnull.h into netdb.h.
59820         * modules/search (Depends-on): Add arg-nonnull.
59821         (Makefile.am): Insert arg-nonnull.h into search.h.
59822         * modules/signal (Depends-on): Add arg-nonnull.
59823         (Makefile.am): Insert arg-nonnull.h into signal.h.
59824         * modules/spawn (Depends-on): Add arg-nonnull.
59825         (Makefile.am): Insert arg-nonnull.h into spawn.h.
59826         * modules/stdio (Depends-on): Add arg-nonnull.
59827         (Makefile.am): Insert arg-nonnull.h into stdio.h.
59828         * modules/stdlib (Depends-on): Add arg-nonnull.
59829         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
59830         * modules/string (Depends-on): Add arg-nonnull.
59831         (Makefile.am): Insert arg-nonnull.h into string.h.
59832         * modules/strings (Depends-on): Add arg-nonnull.
59833         (Makefile.am): Insert arg-nonnull.h into strings.h.
59834         * modules/sys_socket (Depends-on): Add arg-nonnull.
59835         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
59836         * modules/sys_stat (Depends-on): Add arg-nonnull.
59837         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
59838         * modules/sys_time (Depends-on): Add arg-nonnull.
59839         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
59840         * modules/sys_times (Depends-on): Add arg-nonnull.
59841         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
59842         * modules/sys_utsname (Depends-on): Add arg-nonnull.
59843         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
59844         * modules/time (Depends-on): Add arg-nonnull.
59845         (Makefile.am): Insert arg-nonnull.h into time.h.
59846         * modules/unistd (Depends-on): Add arg-nonnull.
59847         (Makefile.am): Insert arg-nonnull.h into unistd.h.
59848         * modules/wchar (Depends-on): Add arg-nonnull.
59849         (Makefile.am): Insert arg-nonnull.h into wchar.h.
59850         * modules/argv-iter (Depends-on): Add arg-nonnull.
59851         * tests/test-canonicalize.c (null_ptr): New function.
59852         (main): Use it.
59853         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
59854         (main): Use it.
59855         * tests/test-memmem.c (null_ptr): New function.
59856         (main): Use it.
59857         Reported by Jim Meyering.
59859 2009-12-10  Bruno Haible  <bruno@clisp.org>
59861         Use spaces for indentation, not tabs.
59862         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
59863         * m4/*.m4: Untabify.
59864         * build-aux/*.h: Untabify.
59865         * tests/**/*.[hc]: Untabify.
59866         * README: New section "Indent with spaces, not TABs", based on
59867         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
59868         * NEWS: Mention the change.
59870 2009-12-10  Bruno Haible  <bruno@clisp.org>
59872         pty test: Fix link error.
59873         * modules/pty-tests (Makefile.am): Add the default LDADD value to
59874         test_pty_LDADD.
59876 2009-12-07  Simon Josefsson  <simon@josefsson.org>
59878         * modules/pty: New file.
59879         * modules/pty-tests: New file.
59880         * m4/pty.m4: New file.
59881         * tests/test-pty.c: New file.
59882         * doc/glibc-headers/pty.texi: Modified.
59883         * doc/glibc-functions/forkpty.texi: Modified.
59884         * doc/glibc-functions/openpty.texi: Modified.
59886 2009-12-10  Bruno Haible  <bruno@clisp.org>
59888         Avoid syntax error in C++ mode.
59889         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
59891 2009-12-10  Bruno Haible  <bruno@clisp.org>
59893         Use sed with option -e.
59894         * gnulib-tool (func_version, func_emit_copyright_notice,
59895         func_emit_initmacro_end, func_import, func_create_testdir): Pass
59896         option -e to sed.
59897         * modules/link-warning (Makefile.am): Likewise.
59899 2009-12-10  Jim Meyering  <meyering@redhat.com>
59901         mgetgroups: do not write bytes beyond end of malloc'd buffer
59902         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
59903         username, we call getgroups with a one-element-shorter buffer,
59904         but still told it the length was original, max_n_groups.
59906 2009-12-09  Eric Blake  <ebb9@byu.net>
59908         cloexec: relax license
59909         * modules/cloexec (Maintainer): Add myself.
59910         (License): Use LGPL, not GPL.
59912         link-warning: optimize generation
59913         * modules/link-warning (Makefile.am): Reduce process usage.
59915 2009-12-09  Bruno Haible  <bruno@clisp.org>
59917         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
59918         workaround was added on 2009-11-17.
59920 2009-12-09  Jim Meyering  <meyering@redhat.com>
59921             Bruno Haible  <bruno@clisp.org>
59923         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
59924         * modules/link-warning (Makefile.am): Make the comment-removing sed
59925         command more robust in the face of bootstrap-prepended comment lines.
59927 2009-12-09  Bruno Haible  <bruno@clisp.org>
59929         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
59930         most one group.
59932 2009-12-09  Simon Josefsson  <simon@josefsson.org>
59933             Bruno Haible  <bruno@clisp.org>
59935         * build-aux/link-warning.h: Add copyright notice.
59936         * modules/link-warning (Makefile.am): Generate link-warning.h from
59937         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
59938         * NEWS: Mention change in link-warning module.
59939         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
59940         * modules/dirent (Makefile.am): Add dependency to dirent.h.
59941         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
59942         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
59943         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
59944         * modules/math (Makefile.am): Add dependency to math.h.
59945         * modules/search (Makefile.am): Add dependency to search.h.
59946         * modules/signal (Makefile.am): Add dependency to signal.h.
59947         * modules/spawn (Makefile.am): Add dependency to spawn.h.
59948         * modules/stdio (Makefile.am): Add dependency to stdio.h.
59949         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
59950         * modules/string (Makefile.am): Add dependency to string.h.
59951         * modules/strings (Makefile.am): Add dependency to strings.h.
59952         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
59953         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
59954         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
59955         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
59956         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
59957         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
59958         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
59959         * modules/unistd (Makefile.am): Add dependency to unistd.h.
59960         * modules/wchar (Makefile.am): Add dependency to wchar.h.
59962 2009-12-09  Bruno Haible  <bruno@clisp.org>
59964         fchdir: Optimize away rpl_fstat when possible.
59965         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
59966         REPLACE_OPEN_DIRECTORY.
59967         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
59969 2009-12-09  Bruno Haible  <bruno@clisp.org>
59971         * lib/fchdir.c: Update comment.
59973 2009-12-09  Bruno Haible  <bruno@clisp.org>
59975         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
59977 2009-12-08  Eric Blake  <ebb9@byu.net>
59979         fchdir: avoid memory leak on re-registration.
59980         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
59982 2009-12-08  Jim Meyering  <meyering@redhat.com>
59984         init.sh: avoid Solaris 10 /bin/sh portability problem
59985         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
59986         sourced script:
59987           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
59988           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
59989           bar
59990         tests/init.sh relied on that, accepting a --set-path=DIR argument,
59991         and two tests used that idiom.
59992         * tests/init.sh: Update suggested usage comments.
59993         (path_prepend_): New function, to be used in place
59994         of the --src-path=DIR option.
59995         (setup_): Move PATH-prepending code into path_prepend_.
59996         * tests/test-pread.sh: Adapt to new usage.
59997         * tests/test-xalloc-die.sh: Likewise.
59999 2009-12-08  Simon Josefsson  <simon@josefsson.org>
60001         * doc/gnulib.texi (Glibc pty.h): Add.
60002         * doc/glibc-functions/forkpty.texi: Add.
60003         * doc/glibc-functions/openpty.texi: Add.
60004         Suggested by Bruno Haible.
60006 2009-12-08  Eric Blake  <ebb9@byu.net>
60008         fchdir: fix logic bugs
60009         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
60010         * tests/test-fchdir.c (main): Enhance test.
60011         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
60012         is in use.
60014         dup2: fix logic bugs
60015         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
60016         REPLACE_DUP2 to decide when rpl_dup2 is needed.
60017         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
60018         exists.
60019         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
60021 2009-12-07  Eric Blake  <ebb9@byu.net>
60023         unlink: fix m4 detection
60024         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
60026         unistd-safer: add unit test
60027         * modules/unistd-safer-tests: New file.
60028         * tests/test-dup-safer.c: Likewise.
60029         * tests/test-cloexec.c (setmode): Avoid compiler warning.
60030         * tests/test-dup2.c (setmode): Likewise.
60031         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
60033         cloexec: preserve text vs. binary across dup_cloexec
60034         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
60035         mode.
60036         * modules/dup2-tests (Depends-on): Add binary-io.
60037         * modules/cloexec-tests (Depends-on): Likewise.
60038         * tests/test-dup2.c (setmode, is_mode): New helpers.
60039         (main): Add tests that translation mode is preserved.
60040         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
60041         Reported by Bruno Haible.
60043         mgetgroups: reduce duplicate listings
60044         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
60045         resulting array.
60046         * tests/test-chown.h (test_chown): Simplify client.
60047         * tests/test-lchown.h (test_lchown): Likewise.
60049 2009-12-06  Bruno Haible  <bruno@clisp.org>
60051         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
60052         value.
60054 2009-12-06  Bruno Haible  <bruno@clisp.org>
60056         * lib/progname.c: Include stdio.h, stdlib.h.
60057         (set_program_name): Reject a NULL argument.
60059 2009-12-05  Eric Blake  <ebb9@byu.net>
60061         pipe2-safer: new module
60062         * modules/pipe2-safer: New file.
60063         * lib/unistd-safer.h (pipe2_safer): New prototype.
60064         * lib/unistd--.h (pipe2): New wrapper.
60065         * lib/pipe-safer.c (pipe2_safer): New function.
60066         * modules/pipe (Depends-on): Add pipe2-safer.
60067         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
60069         stdlib-safer: preserve cloexec flag for mkostemp[s]
60070         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
60071         fd_safer_flag.
60073         unistd-safer: allow preservation of cloexec status via flag
60074         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
60075         prototypes.
60076         * lib/dup-safer.c (dup_safer_flag): New function.
60077         * lib/fd-safer.c (fd_safer_flag): Likewise.
60078         * modules/cloexec (configure.ac): Set witness.
60080         test-dup2: enhance test
60081         * modules/dup2-tests (Depends-on): Add cloexec.
60082         * tests/test-dup2.c (main): Enhance test.
60084         cloexec: add dup_cloexec
60085         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
60086         header and comments.
60087         * lib/cloexec.c (set_cloexec_flag): Add comments.
60088         (dup_cloexec): New function, with mingw implementation borrowed
60089         from...
60090         * lib/w32spawn.h (dup_noinherit): ...here.
60091         * modules/execute (Depends-on): Add cloexec.
60092         * modules/pipe (Depends-on): Likewise.
60093         * modules/cloexec (Depends-on): Add dup2.
60094         * modules/cloexec-tests (Files): New file.
60095         * tests/test-cloexec.c: Likewise.
60097         test-xalloc-die: fix test for mingw
60098         * modules/xalloc-die-tests (Files): Add tests/init.sh.
60099         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
60100         directory and .exe suffix off argv[0] output.
60102         test-fseeko: fix test for mingw
60103         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
60104         than undefining fseek, so test will pass on mingw.
60106 2009-12-05  Bruno Haible  <bruno@clisp.org>
60108         * lib/progname.h (set_program_name): Clarify specification.
60109         * lib/progname.c (set_program_name): Likewise.
60110         Reported by Jim Meyering.
60112 2009-12-05  Jim Meyering  <meyering@redhat.com>
60114         maint.mk: backslash-escape parens in default regexp
60115         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
60116         backslash-escape the literal parentheses.
60118         maint.mk: news-date-check: use grep -E
60119         * top/maint.mk (today): Define a Make variable, not a...
60120         (news-date-check): ...shell variable.
60121         (news-date-regexp): Use the Make variable.
60122         Use grep's -E option.  Change the failing diagnostic to mention
60123         the variable, $(news-date-regexp).
60125 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
60127         maintainer-makefile: allow customization of NEWS entry format
60128         * top/maint.mk (news-date-regexp): New overridable variable.
60129         (news-date-check): Use it.
60131 2009-12-04  Eric Blake  <ebb9@byu.net>
60133         mgetgroups: add xgetgroups, and avoid ENOSYS failures
60134         * lib/mgetgroups.h (xgetgroups): New prototype.
60135         * lib/mgetgroups.c (xgetgroups): New wrapper.
60136         (mgetgroups): Handle ENOSYS.
60137         * modules/mgetgroups (Depends-on): Add realloc.
60138         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
60140         mgetgroups: avoid argument promotion issues with -1
60141         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
60142         for invalid gid_t.
60143         * tests/test-chown.h (getegid, test_chown): Likewise.
60144         * tests/test-lchown.h (getegid, test_lchown): Likewise.
60146 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
60148         exclude: Fix header file problems.
60149         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
60151 2009-12-01  Jim Meyering  <meyering@redhat.com>
60153         fts: fts_open: do not let an empty string cause immediate failure
60154         This is required in support of GNU rm, for which the command
60155         "rm A '' B" must process and remove both A and B, in spite of
60156         the empty string argument.
60157         * lib/fts.c (fts_open): Do not let the presence of an empty string
60158         cause fts_open to fail immediately.  Most fts-using tools must be
60159         able to process all arguments, in order, and can be expected to
60160         diagnose such arguments themselves.
60162 2009-11-30  Eric Blake  <ebb9@byu.net>
60164         utimens: fix compilation error
60165         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
60166         Declare variable at right scope.
60168 2009-11-29  Jim Meyering  <meyering@redhat.com>
60170         bootstrap: handle perl-5.11's changed --version output
60171         * build-aux/bootstrap (get_version): Handle perl separately,
60172         since perl-5.11's --version output is different.
60174 2009-11-28  Jim Meyering  <meyering@redhat.com>
60176         userspec: depend on the inttostr module, too
60177         * modules/userspec (Depends-on): Add inttostr.
60179         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
60180         * lib/userspec.c (parse_with_separator): Do not accept a user ID
60181         number of MAXUID when it evaluates to (uid_t) -1.
60182         Likewise for group ID.  Reported by Matt McCutchen in
60183         <http://savannah.gnu.org/bugs/?28113>
60185         userspec: reformat to use spaces, not TABs
60186         * lib/userspec.c: Expand TABs to spaces.
60187         Add Emacs' "indent-tabs-mode: nil" hint.
60189 2009-11-27  Eric Blake  <ebb9@byu.net>
60191         getopt-gnu: flush out another BSD bug
60192         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
60193         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
60194         flush out BSD bug.
60195         * tests/test-getopt.h (test_getopt): End lists with NULL.
60196         * tests/test-getopt_long.h (test_getopt_long): Likewise.
60197         (test_getopt_long_posix): Enhance test.
60198         * modules/getopt-posix-tests (Depends-on): Add stdbool.
60199         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
60200         getopt-gnu.
60201         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
60202         Likewise.
60204 2009-11-27  Simon Josefsson  <simon@josefsson.org>
60206         * modules/idpriv-droptemp-tests (Notice): Fix text.
60208 2009-11-27  Jim Meyering  <meyering@redhat.com>
60210         test-xalloc-die: avoid spurious failure due to libtool argv difference
60211         In a libtool-enabled project, this test would fail due to a difference
60212         in the emitted program name, e.g.,
60213         -test-xalloc-die: memory exhausted
60214         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
60215         Use program to avoid that.
60216         * modules/xalloc-die-tests (Depends-on): Add progname.
60217         * tests/test-xalloc-die.c: Include progname.h".
60218         (program_name): Remove decl.
60219         (main): Call set_program_name.
60220         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
60222 2009-11-26  Richard Jones  <rjones@redhat.com>
60224         w32sock: leave win32 error in place.
60225         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
60227 2009-11-26  Eric Blake  <ebb9@byu.net>
60229         init.sh: suggest to use skip_ and fail_ functions in comments
60230         * tests/init.sh: Add a sentence.
60232 2009-11-25  Bruno Haible  <bruno@clisp.org>
60234         init.sh: add documentation in comments
60235         * tests/init.sh: Add some developer and user documentation.
60237 2009-11-26  Jim Meyering  <meyering@redhat.com>
60239         init.sh: accommodate even those who specify bogus srcdir manually
60240         * tests/init.sh: Normally, srcdir is guaranteed by automake and
60241         configure-time tests to be sanitized, so that there is no need to
60242         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
60243         (with no double quotes) suffices.  However, since tests may be
60244         invoked manually, and since you may explicitly set srcdir to the
60245         name of a directory containing spaces, do quote its uses here.
60246         * tests/test-pread.sh: Likewise.
60247         Suggested by Bruno Haible.
60249         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
60250         * tests/test-pread.sh: Write no data into the pipe, because
60251         test-pread actually reads none.  This avoids a diagnostic,
60252         "bash: echo: write error: Broken pipe", that arises in the unusual
60253         event something is ignoring SIGPIPE, and might be interpreted
60254         as some sort of failure.  Reported by Bruno Haible.
60256 2009-11-25  Jim Meyering  <meyering@redhat.com>
60258         test-pread: cover failure with ESPIPE and EINVAL
60259         * tests/test-pread.c (main): Test for failure, too.
60260         * tests/test-pread.sh: Invoke with stdin on a pipe.
60261         Suggested by Eric Blake.
60263         pread: improvement and fix
60264         * modules/pread (Depends-on): Depend on lseek, for portability to
60265         e.g., mingw.  Suggested by Eric Blake.
60266         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
60268         unistd.in.h: correct declaration of pread
60269         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
60270         Reported by Richard W.M. Jones.
60272         test-pread.sh: distribute the test script
60273         * modules/pread-tests (Files): Include test-pread.sh.
60275         test-pread.sh: clean up
60276         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
60277         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
60278         That is unnecessary, since it's always ".".
60279         Suggestion from Eric Blake.
60281         test-pread.sh: make executable
60282         * tests/test-pread.sh: Set executable bit.
60283         Reported by Eric Blake.
60285         correct typo in test-pread.sh
60286         * tests/test-pread.sh: Add #! line.
60288         test pread
60289         * tests/test-pread.c: New file.
60290         * tests/test-pread.sh: Likewise.
60291         * modules/pread-tests: Likewise.
60293         pread: new module
60294         * modules/pread: New file.
60295         * lib/unistd.in.h (pread): Define/declare.
60296         * lib/pread.c (pread): New file.
60297         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
60298         * modules/unistd (Makefile.am): Substitute witnesses.
60299         * doc/posix-functions/pread.texi (pread): Update.
60300         * MODULES.html.sh: Add pread.
60302 2009-11-25  Jim Meyering  <meyering@redhat.com>
60304         tests/init.sh: new file to be used via most *.sh tests
60305         * tests/init.sh: New file.
60307 2009-11-25  Eric Blake  <ebb9@byu.net>
60309         utimens: work around older Linux failure with symlinks
60310         * lib/utimens.c (lutimensat_works_really): New variable.
60311         (fdutimens, lutimens): Use it to manage kernels that support
60312         nanosecond times on files, but not on symlinks.
60313         Reported by Ondřej Vašík.
60315         utimes: fix configure grammar
60316         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
60318 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
60320         regex: Fix fastmap for multibyte character ranges.
60321         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
60322         characters when a multibyte character range is included.
60324 2009-11-22  Andy Wingo  <wingo@pobox.com>
60326         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
60327         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
60329 2009-11-24  Bruno Haible  <bruno@clisp.org>
60331         doc: Most *_l functions exist in MacOS X 10.5.
60332         * doc/posix-functions/duplocale.texi: Update platforms list.
60333         * doc/posix-functions/freelocale.texi: Likewise.
60334         * doc/posix-functions/newlocale.texi: Likewise.
60335         * doc/posix-functions/uselocale.texi: Likewise.
60336         * doc/posix-functions/isalnum_l.texi: Likewise.
60337         * doc/posix-functions/isalpha_l.texi: Likewise.
60338         * doc/posix-functions/isblank_l.texi: Likewise.
60339         * doc/posix-functions/iscntrl_l.texi: Likewise.
60340         * doc/posix-functions/isdigit_l.texi: Likewise.
60341         * doc/posix-functions/isgraph_l.texi: Likewise.
60342         * doc/posix-functions/islower_l.texi: Likewise.
60343         * doc/posix-functions/isprint_l.texi: Likewise.
60344         * doc/posix-functions/ispunct_l.texi: Likewise.
60345         * doc/posix-functions/isspace_l.texi: Likewise.
60346         * doc/posix-functions/isupper_l.texi: Likewise.
60347         * doc/posix-functions/iswalnum_l.texi: Likewise.
60348         * doc/posix-functions/iswalpha_l.texi: Likewise.
60349         * doc/posix-functions/iswblank_l.texi: Likewise.
60350         * doc/posix-functions/iswcntrl_l.texi: Likewise.
60351         * doc/posix-functions/iswctype_l.texi: Likewise.
60352         * doc/posix-functions/iswdigit_l.texi: Likewise.
60353         * doc/posix-functions/iswgraph_l.texi: Likewise.
60354         * doc/posix-functions/iswlower_l.texi: Likewise.
60355         * doc/posix-functions/iswprint_l.texi: Likewise.
60356         * doc/posix-functions/iswpunct_l.texi: Likewise.
60357         * doc/posix-functions/iswspace_l.texi: Likewise.
60358         * doc/posix-functions/iswupper_l.texi: Likewise.
60359         * doc/posix-functions/iswxdigit_l.texi: Likewise.
60360         * doc/posix-functions/isxdigit_l.texi: Likewise.
60361         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
60362         * doc/posix-functions/strcasecmp_l.texi: Likewise.
60363         * doc/posix-functions/strcoll_l.texi: Likewise.
60364         * doc/posix-functions/strfmon_l.texi: Likewise.
60365         * doc/posix-functions/strftime_l.texi: Likewise.
60366         * doc/posix-functions/strncasecmp_l.texi: Likewise.
60367         * doc/posix-functions/strxfrm_l.texi: Likewise.
60368         * doc/posix-functions/tolower_l.texi: Likewise.
60369         * doc/posix-functions/toupper_l.texi: Likewise.
60370         * doc/posix-functions/towctrans_l.texi: Likewise.
60371         * doc/posix-functions/towlower_l.texi: Likewise.
60372         * doc/posix-functions/towupper_l.texi: Likewise.
60373         * doc/posix-functions/wcscoll_l.texi: Likewise.
60374         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
60375         * doc/posix-functions/wctrans_l.texi: Likewise.
60376         * doc/posix-functions/wctype_l.texi: Likewise.
60377         * doc/glibc-functions/strptime_l.texi: Likewise.
60378         * doc/glibc-functions/strtod_l.texi: Likewise.
60379         * doc/glibc-functions/strtof_l.texi: Likewise.
60380         * doc/glibc-functions/strtol_l.texi: Likewise.
60381         * doc/glibc-functions/strtold_l.texi: Likewise.
60382         * doc/glibc-functions/strtoll_l.texi: Likewise.
60383         * doc/glibc-functions/strtoul_l.texi: Likewise.
60384         * doc/glibc-functions/strtoull_l.texi: Likewise.
60385         * doc/glibc-functions/wcsftime_l.texi: Likewise.
60386         * doc/glibc-functions/wcstod_l.texi: Likewise.
60387         * doc/glibc-functions/wcstof_l.texi: Likewise.
60388         * doc/glibc-functions/wcstol_l.texi: Likewise.
60389         * doc/glibc-functions/wcstold_l.texi: Likewise.
60390         * doc/glibc-functions/wcstoll_l.texi: Likewise.
60391         * doc/glibc-functions/wcstoul_l.texi: Likewise.
60392         * doc/glibc-functions/wcstoull_l.texi: Likewise.
60394 2009-11-24  Bruno Haible  <bruno@clisp.org>
60396         duplocale: Fix logic bug.
60397         * lib/duplocale.c: Don't include <langinfo.h>.
60398         (_NL_LOCALE_NAME): Remove macro.
60399         (rpl_duplocale): Use setlocale instead of nl_langinfo.
60400         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
60402 2009-11-23  Jim Meyering  <meyering@redhat.com>
60404         test-update-copyright: don't hard-code /usr/bin/perl
60405         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
60406         perl to print the current year.  Gilles Espinasse reported that
60407         the replaced use of perl was hard-coded as /usr/bin/perl.
60409 2009-11-23  Bruno Haible  <bruno@clisp.org>
60411         duplocale: Add support for glibc 2.3.x.
60412         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
60414 2009-11-22  Bruno Haible  <bruno@clisp.org>
60416         vasnprintf: Tiny optimization.
60417         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
60418         MacOS X.
60420 2009-11-22  Bruno Haible  <bruno@clisp.org>
60422         Tests for module 'duplocale'.
60423         * modules/duplocale-tests: New file.
60424         * tests/test-duplocale.c: New file.
60426         New module 'duplocale'.
60427         * m4/duplocale.m4: New file.
60428         * lib/locale.in.h (duplocale): New declaration.
60429         * lib/duplocale.c: New file.
60430         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
60431         gl_LOCALE_H_DEFAULTS): New macros.
60432         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
60433         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
60434         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
60435         REPLACE_DUPLOCALE.
60436         * modules/duplocale: New file.
60437         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
60439 2009-11-22  Bruno Haible  <bruno@clisp.org>
60441         * modules/locale-tests (configure.ac): Test for newlocale function.
60442         * tests/test-locale.c: When the system has extended locale functions,
60443         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
60445         locale: Make locale_t available when possible.
60446         * lib/locale.in.h: Include <xlocale.h> when it exists.
60447         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
60448         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
60449         * modules/locale (Depends-on): Add extensions.
60450         (Makefile.am): Also substitute HAVE_XLOCALE_H.
60451         * doc/posix-headers/locale.texi: Document the problem with locale_t.
60453 2009-11-22  Bruno Haible  <bruno@clisp.org>
60455         Add comments.
60456         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
60457         invocation.
60458         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
60459         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
60460         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
60462 2009-11-22  Bruno Haible  <bruno@clisp.org>
60464         error: account for the possibility of freopen (stdout).
60465         * lib/error.c: Include <unistd.h>.
60466         (flush_stdout): New function, extracted from error and error_at_line.
60467         Determine stdout's fd dynamically.
60468         (error, error_at_line): Invoke flush_stdout.
60469         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
60470         * modules/error (Depends-on): Add unistd.
60472 2009-11-22  Bruno Haible  <bruno@clisp.org>
60474         diffseq: Add comment.
60475         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
60477 2009-11-22  Jim Meyering  <meyering@redhat.com>
60479         c-stack: avoid defining an unused static function
60480         * lib/c-stack.c (find_stack_direction): Do not define this function
60481         when it will not be used.
60483         diffseq: avoid spurious gcc warnings
60484         * lib/diffseq.h (IF_LINT2): Define.
60485         (compareseq): Use it to initialize two members of "part".
60486         This avoids two used-uninitialized warnings.
60488 2009-11-21  Jim Meyering  <meyering@redhat.com>
60490         c-stack: avoid "ignoring return value of `write'" warning
60491         * lib/c-stack.c: Include "ignore-value.h".
60492         (die): Explicitly ignore each write return value.
60493         * modules/c-stack (Depends-on): Add ignore-value.
60495 2009-11-21  Bruno Haible  <bruno@clisp.org>
60497         diffseq: reduce scope of variable 'best'.
60498         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
60499         variable, earlier used for two different purposes.
60501 2009-11-21  Jim Meyering  <meyering@redhat.com>
60503         diffseq: remove useless assignment to "best"
60504         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
60505         assignment.  At that point "best" is already guaranteed to be zero.
60507 2009-11-20  Eric Blake  <ebb9@byu.net>
60509         build: mention ftp redirector in release announcements
60510         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
60511         values that used to come from cfg.mk; mention FTP redirect URL.
60512         * build-aux/announce-gen: Mention the mirror list.
60513         Suggested by Karl Berry.
60515         nanosleep: improve port to mingw
60516         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
60517         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
60518         LIB_NANOSLEEP, but only when needed.
60519         * modules/select (Link): Document LIBSOCKET.
60520         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
60521         enough.
60523         nanosleep: work around cygwin bug
60524         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
60525         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
60526         bug.
60527         (getnow): Delete, not needed.
60528         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
60529         LIB_CLOCK_GETTIME.
60530         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
60531         clock-time, gettime.
60532         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
60533         bug.
60534         * modules/nanosleep-tests: New test.
60535         * tests/test-nanosleep.c: New file.
60537         sleep: work around cygwin bug
60538         * lib/sleep.c (rpl_sleep): Work around the bug.
60539         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
60540         (gl_PREREQ_SLEEP): Delete unused macro.
60541         * modules/sleep (Depends-on): Add verify.
60542         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
60543         * modules/unistd (Makefile.am): Substitute witness.
60544         * lib/unistd.in.h (sleep): Update prototype.
60545         * doc/posix-functions/sleep.texi (sleep): Document the bug.
60546         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
60547         * modules/sleep-tests (Depends-on): Check for alarm.
60549 2009-11-20  Jim Meyering  <meyering@redhat.com>
60551         maint.mk: improve sc_prohibit_magic_number_exit
60552         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
60553         so it does not match uses like System.exit(1).
60554         Add comments showing how to correct all offenders.
60556 2009-11-19  Eric Blake  <ebb9@byu.net>
60558         xalloc-die-tests: add missing library
60559         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
60561         test-xvasprintf: silence compiler warnings
60562         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
60563         empty string from gcc.
60565 2009-11-19  Jim Meyering  <meyering@redhat.com>
60567         xfreopen: new module, from coreutils
60568         * modules/xfreopen: New module.
60569         * lib/xfreopen.c: New file.
60570         * lib/xfreopen.h: New file.
60571         * MODULES.html.sh (File stream based Input/Output"): Add it.
60573 2009-11-19  Eric Blake  <ebb9@byu.net>
60575         manywarnings: depend on warnings
60576         * modules/manywarnings (Depends-on): Add warnings.
60578         build: avoid compiler warnings
60579         * lib/select.c (rpl_select): Delete unused variable.
60580         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
60582 2009-11-18  Eric Blake  <ebb9@byu.net>
60584         tests: avoid false negative with --with-packager
60585         * tests/test-version-etc.sh: Discard packager information.
60586         * tests/test-argp-version-etc-1.sh: Likewise.
60587         Reported by Mike Frysinger.
60589         utimens: fix regression on Solaris
60590         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
60591         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
60592         can only change fd timestamps via futimesat.  Instead, use an
60593         additional witness macro to avoid BSD bug.
60594         Reported by Jim Meyering.
60596 2009-11-17  Eric Blake  <ebb9@byu.net>
60598         usleep: use it to simplify tests
60599         * modules/stat-time-tests (Depends-on): Add usleep.
60600         (configure.ac): Drop usleep check.
60601         * modules/chown-tests (Depends-on, configure.ac): Likewise.
60602         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
60603         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
60604         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
60605         * modules/openat-tests (Depends-on, configure.ac): Likewise.
60606         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
60607         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
60608         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
60609         Likewise.
60610         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
60611         * tests/test-lchown.h (nap): Likewise.
60612         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
60613         * tests/test-stat-time.c (nap): Likewise.
60614         * tests/test-utimens-common.h (nap): Update comments.
60616         usleep: new module
60617         * modules/usleep: New file.
60618         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
60619         * lib/usleep.c (usleep): Likewise.
60620         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
60621         * modules/unistd (Makefile.am): Substitute witnesses.
60622         * lib/unistd.in.h (usleep): Add declaration.
60623         * doc/pastposix-functions/usleep.texi (usleep): Document this.
60624         * MODULES.html.sh (Date and time): Likewise.
60625         * modules/usleep-tests (Depends-on): New test.
60626         * tests/test-usleep.c: New file.
60628         chown: work around OpenBSD bug
60629         * lib/chown.c (rpl_chown): Work around the bug.
60630         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
60631         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
60632         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
60633         * modules/chown (Depends-on): Add stdbool.
60634         * modules/lchown (Depends-on): Likewise.
60635         * doc/posix-functions/chown.texi (chown): Document the bug.
60636         * doc/posix-functions/lchown.texi (lchown): Likewise.
60637         * tests/test-lchown.h (test_chown): Relax test.
60639         mkstemp: avoid conflict with C++ keyword template
60640         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
60641         * lib/mkostemp.c (mkostemp): Likewise.
60642         * lib/mkostemps.c (mkostemps): Likewise.
60643         * lib/mkstemp.c (mkstemp): Likewise.
60644         * lib/mkstemps.c (mkstemps): Likewise.
60646         xalloc-die-tests: optimize
60647         * tests/test-xalloc-die.sh: Reduce number of processes.
60649 2009-11-17  Simon Josefsson  <simon@josefsson.org>
60651         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
60652         patch from ludo@gnu.org (Ludovic Courtès).
60654 2009-11-17  Jim Meyering  <meyering@redhat.com>
60656         version-etc: use proper license string
60657         * modules/version-etc (License): Use LGPL, not LGPLv3+.
60658         * modules/version-etc-fsf: Likewise.
60660 2009-11-17  Simon Josefsson  <simon@josefsson.org>
60662         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
60663         printed to stdout.  Deal with EOL differences.
60665 2009-11-17  Eric Blake  <ebb9@byu.net>
60667         unsetenv: work around Solaris bug
60668         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
60669         * lib/unsetenv.c (rpl_unsetenv): Work around it.
60670         Reported by Jim Meyering.
60672         vasnprintf: avoid compiler warnings
60673         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
60674         variables.
60675         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
60677 2009-11-17  Simon Josefsson  <simon@josefsson.org>
60679         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
60680         settings since xalloc-die is no longer the self test,
60681         xalloc-die.sh is.
60683 2009-11-17  Jim Meyering  <meyering@redhat.com>
60685         test-xalloc-die.sh: make the code agree with the commit log
60686         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
60687         at the end, just in case you happen to have a test-xalloc-die
60688         program in some other PATH directory.
60690         test-xalloc-die.sh: fix a portability bug
60691         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
60692         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
60693         Otherwise, argv[0] (as often seen in diagnostics) would be too
60694         system-dependent, sometimes with, and sometimes without the leading "./".
60696         version-etc-fsf: relax license to LGPLv3+
60697         * modules/version-etc-fsf (License): Relax license.
60699 2009-11-16  Eric Blake  <ebb9@byu.net>
60701         xalloc-die-tests: avoid printing null pointer
60702         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
60703         shell script.
60704         * tests/test-xalloc-die.c (program_name): Declare.
60705         * tests/test-xalloc-die.sh (tmpfiles): New file.
60707         setenv, unsetenv: work around various bugs
60708         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
60709         (setenv) [HAVE_SETENV]: Work around bugs.
60710         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
60711         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
60712         for bugs.
60713         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
60714         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
60715         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
60716         * modules/stdlib (Makefile.am): Update substitutions.
60717         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
60718         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
60719         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
60720         * modules/setenv-tests: New test.
60721         * modules/unsetenv-tests: Likewise.
60722         * tests/test-setenv.c: New file.
60723         * tests/test-unsetenv.c: Likewise.
60725 2009-11-16  Jim Meyering  <meyering@redhat.com>
60727         version-etc: relax license to LGPLv3+
60728         * modules/version-etc (License): Relax license.
60730         better AC_REQUIRE expanded-before-required-warning avoidance
60731         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
60732         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
60733         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
60734         which is no longer needed.
60736 2009-11-16  Eric Blake  <ebb9@byu.net>
60738         test-freading: clean up temporary file
60739         * tests/test-freading.c (main): Remove file on success, and use
60740         ASSERT more liberally.
60741         Reported by Jim Meyering.
60743 2009-11-16  Jim Meyering  <meyering@redhat.com>
60745         avoid new AC_REQUIRE expanded-before-required warnings
60746         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
60747         merely using it.
60748         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
60749         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
60751 2009-11-15  Simon Josefsson  <simon@josefsson.org>
60753         * tests/test-xalloc-die.c: New file.
60754         * modules/xalloc-die-tests: New file.
60755         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
60756         XFAIL_TESTS so it can be appended by modules.
60758 2009-11-15  Simon Josefsson  <simon@josefsson.org>
60760         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
60761         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
60763 2009-11-14  Eric Blake  <ebb9@byu.net>
60765         fnmatch: avoid compiler warning
60766         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
60767         to silence compiler warning about mismatch signedness in ?:.
60768         Reported by Robert Millan.
60770         intprops: add double-inclusion guard
60771         * lib/intprops.h: Allow idempotent includes.
60772         Suggested by Bruce Korb.
60774         openat: detect Solaris fchownat bug
60775         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
60776         penalizing glibc chownat when only lchownat is broken.
60777         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
60778         trailing slash bugs.
60779         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
60780         * modules/openat-tests (Files): Include more files.
60781         (Depends-on): Add mgetgroups, sleep, stat-time.
60782         (configure.ac): Add additional checks.
60783         (Makefile.am): Build new test.
60784         * tests/test-fchownat.c: New file.
60786         lchown: detect Solaris and FreeBSD bug
60787         * lib/lchown.c (rpl_lchown): Work around bug.
60788         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
60789         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
60790         * modules/unistd (Makefile.am): Populate it.
60791         * lib/unistd.in.h (lchown): Update declaration.
60792         * doc/posix-functions/lchown.texi (lchown): Document the bug.
60793         * modules/lchown-tests: New file.
60794         * tests/test-lchown.h (test_lchown): Likewise.
60795         * tests/test-lchown.c (main): Likewise.
60797         chown: detect Solaris and FreeBSD bug
60798         * lib/chown.c (rpl_chown): Work around bug.
60799         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
60800         (gl_PREREQ_CHOWN): Delete.
60801         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
60802         * modules/unistd (Makefile.am): Populate it.
60803         * lib/unistd.in.h (chown): Update declaration.
60804         * lib/lchown.c (chown): Update client.
60805         * modules/lchown (Depends-on): Add lstat.
60806         * doc/posix-functions/chown.texi (chown): Document the bug.
60807         * doc/posix-functions/getgroups.texi (getgroups): Document
60808         getgroups pitfall.
60809         * modules/chown-tests: New file.
60810         * tests/test-chown.h (test_chown): Likewise.
60811         * tests/test-chown.c (main): Likewise.
60813 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
60815         gnulib-tool: correctly detect absence of m4 directories
60816         * gnulib-tool: Avoid extra newline on data passed to wc -l.
60818 2009-11-14  Jim Meyering  <meyering@redhat.com>
60820         maint.mk: Prohibit inclusion of "xalloc.h" without use.
60821         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
60823 2009-11-14  John W. Eaton  <jwe@gnu.org>
60825         strftime.h: wrap function declaration in extern "C" block
60826         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
60828 2009-11-13  Eric Blake  <ebb9@byu.net>
60830         getgroups: avoid compiler warning
60831         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
60833         getgroups: work around FreeBSD bug
60834         * lib/getgroups.c (rpl_getgroups): Work around the bug.
60835         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
60836         * doc/posix-functions/getgroups.texi (getgroups): Document it.
60837         * tests/test-getgroups.c (main): Fix buffer overrun.
60839         getgroups: avoid compilation failure
60840         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
60841         * modules/getgroups (Depends-on): Add stdint.
60843 2009-11-13  Jim Meyering  <meyering@redhat.com>
60845         test-getgroups: avoid compilation failure
60846         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
60848 2009-11-13  Eric Blake  <ebb9@byu.net>
60850         mgetgroups: new module, taken from coreutils
60851         * modules/mgetgroups: New file.
60852         * lib/mgetgroups.h: Likewise.
60853         * lib/mgetgroups.c (mgetgroups): Likewise.
60854         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
60855         * MODULES.html.sh (Users and groups): Mention it.
60857         getgroups: don't expose GETGROUPS_T to user
60858         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
60859         an element at a time if GETGROUPS_T is wrong size.
60860         * lib/getugroups.h (getugroups): Change signature.
60861         * lib/unistd.in.h (getgroups): Likewise.
60862         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
60863         signature needs fixing.
60864         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
60865         AC_TYPE_GETGROUPS.
60866         * modules/group-member (Depends-on): Add getgroups.
60867         * lib/group-member.c (group_info, get_group_info): Use gid_t.
60868         (group_member): Rely on getgroups replacement.
60869         * lib/getugroups.c (getugroups): Use gid_t.
60870         * tests/test-getgroups.c (main): Likewise.
60871         * NEWS: Mention the signature change.
60872         * doc/posix-functions/getgroups.texi (getgroups): Mention the
60873         problem with signature.
60874         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
60875         GETGROUPS_T is still useful for setgroups.
60877         getgroups, getugroups: provide stubs for mingw
60878         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
60879         * lib/getugroups.c (getugroups): Likewise.
60880         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
60881         function.  Modernize replacement scheme.
60882         (gl_PREREQ_GETGROUPS): Delete.
60883         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
60884         * modules/getgroups (configure.ac): Declare witness.
60885         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
60886         * modules/unistd (Depends-on): Substitute witness.
60887         * lib/unistd.in.h (getgroups): Declare replacement.
60889         getgroups: avoid calling exit
60890         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
60891         drop xalloc.
60892         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
60893         dependencies.
60894         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
60895         exiting, in the rare case of malloc failure.
60897         getgroups: fix logic error
60898         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
60899         has more than 20 groups.
60900         * modules/getgroups-tests: New test.
60901         * tests/test-getgroups.c: New file.
60903 2009-11-13  Simon Josefsson  <simon@josefsson.org>
60905         * tests/test-base64.c: Improve.
60907 2009-11-13  Simon Josefsson  <simon@josefsson.org>
60909         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
60910         Blake <ebb9@byu.net>.
60912 2009-11-13  Simon Josefsson  <simon@josefsson.org>
60914         * tests/test-xvasprintf.c: Add %s%s related checks.
60916 2009-11-12  Eric Blake  <ebb9@byu.net>
60918         version-etc: match standards.texi style
60919         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
60920         and use <> only for URLs.
60922 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
60924         fts: do not fail on a submount during traversal
60925         * lib/fts.c (fts_build): Read the stat info again after opening
60926         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
60927         Original report at http://bugzilla.redhat.com/501848.
60929 2009-11-12  Jim Meyering  <meyering@redhat.com>
60931         bootstrap: sync from coreutils
60932         * build-aux/bootstrap (bootstrap_epilogue): New function.
60933         Use git_modules_config in one more place.  This make bootstrap's
60934         --gnulib-srcdir option more useful for testing.
60936         bootstrap: generalize autoheader check
60937         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
60938         AC_CONFIG_HEADERS.
60940 2009-11-11  Eric Blake  <ebb9@byu.net>
60942         mkfifoat: use new modules for Solaris and BSD bugs
60943         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
60944         * lib/mkfifoat.c (mknodat): Split...
60945         * lib/mknodat.c (mknodat): ...into new file.
60946         * modules/mkfifoat (Files): Ship new file.
60947         (Depends-on): Add mkfifo, mknod.
60948         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
60949         (Depends-on): Add symlink.
60950         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
60951         redundant with test_mkfifo.h.
60952         (do_mkfifoat, do_mknodat): New helpers.
60954         mknod: new module
60955         * modules/mknod: New file.
60956         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
60957         * lib/mknod.c (mknod): Likewise.
60958         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
60959         defaults.
60960         * modules/sys_stat (Makefile.am): Substitute them.
60961         * lib/sys_stat.in.h (mknod): Declare replacement.
60962         * MODULES.html.sh (Support for systems lacking POSIX:2008):
60963         Document it.
60964         * doc/posix-functions/mknod.texi (mknod): Likewise.
60965         * modules/mknod-tests: New test.
60966         * tests/test-mknod.c: Likewise.
60968         mkfifo: new module
60969         * modules/mkfifo: New file.
60970         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
60971         * lib/mkfifo.c (mkfifo): Likewise.
60972         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
60973         defaults.
60974         * modules/sys_stat (Makefile.am): Substitute them.
60975         * lib/sys_stat.in.h (mkfifo): Declare replacement.
60976         * MODULES.html.sh (Support for systems lacking POSIX:2008):
60977         Document it.
60978         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
60979         * modules/mkfifo-tests: New test.
60980         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
60981         from test-mkfifoat.c.
60982         * tests/test-mkfifo.c: New file.
60984         readlink: detect FreeBSD bug
60985         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
60986         slash on symlink.
60987         * doc/posix-functions/readlink.texi (readlink): Document the bug.
60988         * tests/test-readlink.h (test_readlink): Enhance test.
60990         symlink: detect FreeBSD bug
60991         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
60992         slash on symlink.
60993         * doc/posix-functions/symlink.texi (symlink): Document the bug.
60994         * tests/test-symlink.h (test_symlink): Enhance test.
60996 2009-11-10  Eric Blake  <ebb9@byu.net>
60998         link: detect FreeBSD bug
60999         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
61000         symlink.
61001         * doc/posix-functions/link.texi (link): Document the bug.
61002         * tests/test-link.h (test_link): Enhance test.
61003         * tests/test-linkat.c (main): Update caller.
61005         unlink, remove: detect FreeBSD bug
61006         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
61007         slash on symlink.
61008         * doc/posix-functions/unlink.texi (unlink): Document the bug.
61009         * doc/posix-functions/remove.texi (remove): Likewise.
61010         * tests/test-unlink.h (test_unlink): Enhance test.
61011         * tests/test-remove.c (main): Likewise.
61013 2009-11-09  Eric Blake  <ebb9@byu.net>
61015         rename: detect FreeBSD bug
61016         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
61017         slash on symlink.
61018         * modules/renameat-tests (Depends-on): Add filenamecat.
61019         * tests/test-rename.h (test_rename): Allow one more errno.
61020         * tests/test-renameat.c (main): Likewise.
61021         * doc/posix-functions/rename.texi (rename): Document the bug.
61023         open: detect FreeBSD bug
61024         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
61025         symlink.
61026         * doc/posix-functions/open.texi (open): Document the bug.
61027         * doc/posix-functions/utimes.texi (utimes): Likewise.
61028         * tests/test-open.h (test_open): Add parameters, and test symlink
61029         handling.
61030         * tests/test-open.c (main): Adjust caller.
61031         * tests/test-fcntl-safer.c (main): Likewise.
61032         * modules/open-tests (Depends-on): Add stdbool, symlink.
61033         * modules/fcntl-safer-tests (Depends-on): Likewise.
61034         * tests/test-openat.c (main): Add test-open tests.
61036         stat: detect FreeBSD bug
61037         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
61038         symlink.
61039         * doc/posix-functions/stat.texi (stat): Document the bug.
61040         * tests/test-stat.h (test_stat_func): Add argument.
61041         * tests/test-stat.c (main): Adjust caller.
61042         * tests/test-fstatat.c (main): Likewise.
61043         * modules/stat-tests (Depends-on): Add stdbool, symlink.
61044         Reported by Jim Meyering.
61046 2009-11-09  James Youngman  <jay@gnu.org>
61048         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
61049         * lib/strftime.c: Correct placement of #include "ignore-value.h".
61051 2009-11-08  Jim Meyering  <meyering@redhat.com>
61053         utimens: remove invalid futimesat call
61054         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
61055         It used the file descriptor of the target file as the DIR_FD
61056         parameter and NULL as the file name.  That caused failure with
61057         errno == EFAULT on FreeBSD-8.0-rc2
61059 2009-11-07  Eric Blake  <ebb9@byu.net>
61061         fflush, freadseek: use fseeko, not fseek
61062         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
61063         (clear_ungetc_buffer): Avoid potential problems on large files.
61064         * lib/freadseek.c (freadseek): Likewise.
61065         * modules/freadseek (Depends-on): Add fseeko.
61066         * modules/fseek (configure.ac): Set a witness.
61067         * tests/test-fflush.c (main): Use fseeko.
61068         * tests/test-fpurge.c (fseek): Disable link warning.
61069         * tests/test-freadable.c (fseek): Likewise.
61070         * tests/test-freading.c (fseek): Likewise.
61071         * tests/test-fseeko.c (fseek): Likewise.
61072         * tests/test-ftell.c (fseek): Likewise.
61073         * tests/test-ftello.c (fseek): Likewise.
61074         * tests/test-fwritable.c (fseek): Likewise.
61075         * tests/test-fwriting.c (fseek): Likewise.
61077 2009-11-06  Simon Josefsson  <simon@josefsson.org>
61079         * modules/memchr (Depends-on): Drop getpagesize dependency.
61081 2009-11-06  Simon Josefsson  <simon@josefsson.org>
61083         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
61084         Reported by Ludovic Courtès.
61085         * build-aux/pmccabe2html: Improve example usage.
61086         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
61088 2009-11-06  Jim Meyering  <meyering@redhat.com>
61090         do-release-commit-and-tag: New module.
61091         Automate the release-commit and tag process.
61092         * build-aux/do-release-commit-and-tag: New script, from coreutils.
61093         * modules/do-release-commit-and-tag: New file.
61094         * MODULES.html.sh (Support for maintaining and releasing): Add it.
61096 2009-11-06  Simon Josefsson  <simon@josefsson.org>
61098         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
61099         because test-select.c uses inet_pton.
61101 2009-11-06  Simon Josefsson  <simon@josefsson.org>
61103         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
61104         GETADDRINFO_LIB.  Bump serial number.
61105         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
61106         Suggested by Eric Blake <ebb9@byu.net>.
61108 2009-11-05  Eric Blake  <ebb9@byu.net>
61110         strtod: detect darwin bug
61111         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
61112         Reported by Leo Davis.
61114         freopen-safer: new module
61115         * modules/freopen-safer: New module.
61116         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
61117         * lib/freopen-safer.c (freopen_safer): New file.
61118         * lib/stdio-safer.h (freopen_safer): New declaration.
61119         * lib/stdio--.h (freopen): New override.
61120         * MODULES.html.sh (File stream based Input/Output): Mention it.
61121         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
61122         freopen-safer module.
61123         * doc/posix-functions/stderr.texi (stderr): Likewise.
61124         * doc/posix-functions/stdin.texi (stdin): Likewise.
61125         * doc/posix-functions/stdout.texi (stdout): Likewise.
61126         * modules/freopen-safer-tests: New test.
61127         * tests/test-reopen-safer.c: New file.
61129 2009-11-05  Jim Meyering  <meyering@redhat.com>
61131         maint.mk: Prohibit inclusion of "close-stream.h" without use.
61132         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
61134 2009-11-05  Simon Josefsson  <simon@josefsson.org>
61136         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
61138 2009-11-05  Simon Josefsson  <simon@josefsson.org>
61140         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
61142 2009-11-05  Simon Josefsson  <simon@josefsson.org>
61144         Fix link error.
61145         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
61146         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
61148 2009-11-05  Simon Josefsson  <simon@josefsson.org>
61150         * tests/test-func.c: Also test value of __func__.
61152 2009-11-05  Simon Josefsson  <simon@josefsson.org>
61154         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
61155         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
61157 2009-11-05  Bruno Haible  <bruno@clisp.org>
61159         Fix link error.
61160         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
61161         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
61162         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
61164 2009-11-05  Bruno Haible  <bruno@clisp.org>
61166         Tests for module 'inet_pton'.
61167         * modules/inet_pton-tests: New file.
61168         * tests/test-inet_pton.c: New file.
61170 2009-11-05  Bruno Haible  <bruno@clisp.org>
61172         Tests for module 'inet_ntop'.
61173         * modules/inet_ntop-tests: New file.
61174         * tests/test-inet_ntop.c: New file.
61176 2009-11-04  Eric Blake  <ebb9@byu.net>
61178         stdlib-safer: wrap all mkstemp variants
61179         * modules/mkostemp (configure.ac): Set witness.
61180         * modules/mkostemps (configure.ac): Likewise.
61181         * modules/mkstemps (configure.ac): Likewise.
61182         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
61183         (mkstemps_safer): Wrap more functions.
61184         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
61185         wrapping.
61186         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
61187         (mkstemps_safer): Implement the wrappers.
61189         mkstemps, mkostemps: new modules
61190         * modules/mkostemps: New module.
61191         * modules/mkstemps: Likewise.
61192         * lib/mkostemps.c (mkostemps): New file.
61193         * lib/mkstemps.c (mkstemps): Likewise.
61194         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
61195         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
61196         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
61197         * modules/stdlib (Makefile.am): Substitute them.
61198         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
61199         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
61200         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
61201         * doc/gnulib.texi (Glibc stdlib.h): Include them.
61202         * MODULES.html.sh (File system functions): Mention them.
61204         tempname: resync from glibc
61205         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
61206         same values for __GT_FILE as glibc.  Abort even when assertions
61207         are disabled.
61208         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
61209         match its value otherwise.  Allow idempotent inclusion.
61210         * lib/mkdtemp.c (mkdtemp): Adjust caller.
61211         * lib/mkostemp.c (mkostemp): Likewise.
61212         * lib/mkstemp.c (mkstemp): Likewise.
61213         * lib/tmpfile.c (tmpfile): Likewise.
61214         * NEWS: Document this.
61216         utimens: fix use of futimens on older Linux
61217         * lib/utimens.c (fdutimens): Use updated, rather than original,
61218         timespec to avoid bug in older Linux kernel.
61219         Reported by Simon Josefsson.
61221 2009-11-04  Bruno Haible  <bruno@clisp.org>
61223         Make num_processors more flexible and consistent.
61224         * lib/nproc.h (enum nproc_query): New type.
61225         (num_processors): Add a 'query' argument.
61226         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
61227         (num_processors): Add a 'query' argument. Test the value of the
61228         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
61229         mingw, count the number of CPUs available for the current process.
61230         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
61231         Check for sched_getaffinity and sched_getaffinity_np.
61232         * modules/nproc (Depends-on): Add c-ctype, extensions.
61233         * NEWS: Mention the change.
61235 2009-11-03  Bruno Haible  <bruno@clisp.org>
61237         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
61239 2009-11-03  Jim Meyering  <meyering@redhat.com>
61241         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
61242         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
61243         if it is defined.
61245 2009-11-02  Eric Blake  <ebb9@byu.net>
61247         mktime, timegm: share common declaration
61248         * lib/mktime-internal.h: New file.
61249         * lib/mktime.c: Use it rather than open-coding a declaration.
61250         * lib/timegm.c: Likewise.
61251         * modules/mktime (Files): Ship it.
61252         * modules/timegm (Files): Likewise.
61253         Suggested by Bruno Haible.
61255         test-update-copyright: update test to match script changes
61256         * tests/test-update-copyright.sh: Avoid hard-coding perl
61257         location.  Don't update *.bak created by earlier runs.
61259 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
61260             Simon Josefsson  <simon@josefsson.org>
61261             Bruno Haible  <bruno@clisp.org>
61263         Fix link error on Solaris 8.
61264         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
61265         also in libnsl. Define also INET_PTON_LIB.
61266         * modules/inet_pton (Link): New section.
61268 2009-11-02  Simon Josefsson  <simon@josefsson.org>
61269             Bruno Haible  <bruno@clisp.org>
61271         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
61272         * modules/inet_ntop (Link): New section.
61273         Reported by Boyan Kasarov <bkasarov@gmail.com>.
61275 2009-11-02  Eric Blake  <ebb9@byu.net>
61277         maint: avoid compiler warnings in m4 macros
61278         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
61279         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
61281 2009-11-02  Simon Josefsson  <simon@josefsson.org>
61283         * m4/pmccabe2html.m4: Remove file.
61284         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
61285         function.  Change maintainer.
61286         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
61287         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
61288         Courtès).
61290 2009-10-31  Eric Blake  <ebb9@byu.net>
61292         fseeko: fix m4 regression
61293         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
61294         regression from 2009-10-27.
61295         Reported by Ralf Wildenhues.
61297 2009-10-31  Jim Meyering  <meyering@redhat.com>
61299         inttostr: aesthetics and improved (compile-time) safety
61300         Define inttype_is_signed rather than inttype_is_unsigned,
61301         since the sole use is via "#if inttype_is_signed".
61302         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
61303         inttype_is_unsigned.
61304         * lib/offtostr.c (inttype_is_signed): Likewise.
61305         * lib/uinttostr.c (inttype_is_signed): Likewise.
61306         * lib/umaxtostr.c (inttype_is_signed): Likewise.
61307         * lib/inttostr.c (inttostr): Use verify to cross-check the
61308         inttype_is_signed value and the signedness of the actual type.
61309         * modules/inttostr (Depends-on): Add verify.
61311 2009-10-30  Eric Blake  <ebb9@byu.net>
61313         build: avoid compiler warnings
61314         * lib/fchmodat.c (lchmod): Mark unused variables.
61315         * lib/getopt.c (_getopt_initialize): Likewise.
61316         * lib/mktime.c (__mktime_internal): Provide prototype.
61317         * lib/inttostr.c (inttostr): Avoid compiler warning even with
61318         older gcc that do not understand #pragma GCC diagnostic.
61319         * lib/uinttostr.c (inttype_is_unsigned): Define.
61320         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
61322 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
61324         stat: fix compilation on AIX
61325         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
61326         only see struct stat64.
61328 2009-10-30  Eric Blake  <ebb9@byu.net>
61330         exclude: make more robust
61331         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
61332         rather than masking a coding bug.
61333         Suggested by Bruno Haible.
61335 2009-10-30  Jim Meyering  <meyering@redhat.com>
61337         perl scripts: remove #!/usr/bin/perl in favor of more portable...
61338         Rather than putting #!/usr/bin/perl on the first line,
61339         start with a variant of what's recommended by "man perlrun" that
61340         invokes the first "perl" program from your shell's search path.
61341         * build-aux/gitlog-to-changelog: Replace #!... as above.
61342         Add a "Local Variables" perl mode setting.
61343         Prompted by a patch from Ludovic Courtès.
61344         Improved by Eric Blake.
61345         * build-aux/useless-if-before-free: Likewise.
61346         * build-aux/announce-gen: Likewise.
61347         * build-aux/update-copyright: Likewise.
61349 2009-10-29  Eric Blake  <ebb9@byu.net>
61351         filenamecat-lgpl: adjust clients
61352         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
61353         filenamecat.
61354         * modules/renameat (Depends-on): Likewise.
61356         filenamecat: split into filenamecat-lgpl
61357         * modules/filenamecat-lgpl: New module.
61358         * modules/filenamecat (Files): Move library-safe files into
61359         filenamecat-lgpl.
61360         (Depends-on): Add filenamecat-lgpl.
61361         (configure.ac): Declare witness.
61362         * lib/filenamecat.h (file_name_concat): Only declare when using
61363         GPL module.
61364         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
61365         Move...
61366         * lib/filenamecat-lgpl.c: ...into new file.
61367         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
61368         (gl_FILE_NAME_CONCAT): Use it.
61369         * MODULES.html.sh (File system functions): Mention new module.
61371         argp: avoid memory leak
61372         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
61373         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
61374         base_name, since the latter malloc()s and can call exit().
61375         Leak introduced 2006-07-03.
61377         dirname-lgpl: adjust clients that don't need full dirname
61378         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
61379         * modules/filenamecat (Depends-on): Likewise.
61380         * modules/linkat (Depends-on): Likewise.
61381         * modules/mkancesdirs (Depends-on): Likewise.
61382         * modules/mkdir (Depends-on): Likewise.
61383         * modules/openat (Depends-on): Likewise.
61384         * modules/savewd (Depends-on): Likewise.
61385         * modules/rename (Depends-on): Likewise.
61386         (License): Relax license.
61387         * modules/mkdir-tests (Depends-on): Drop progname.
61388         (Makefile.am): Delete unneeded LDADD.
61389         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
61391         dirname: split into dirname-lgpl
61392         * modules/dirname-lgpl: New module.
61393         * modules/dirname (Files): Move library-safe files into
61394         dirname-lgpl.
61395         (Depends-on): Add dirname-lgpl.
61396         (configure.ac): Declare witness.
61397         * modules/double-slash-root (License): Relax license.
61398         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
61399         module.
61400         * lib/dirname.c (dir_len, mdir_name): Move...
61401         * lib/dirname-lgpl.c: ...into new file.
61402         * lib/basename.c (last_component, base_len): Move...
61403         * lib/basename-lgpl.c: ...into new file.
61404         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
61405         (gl_DIRNAME): Use it.
61406         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
61407         Mention new module.
61408         * modules/dirname-tests (Depends-on): Add progname.
61409         * tests/test-dirname.c (program_name): Delete.
61411         mkdir: make safe for libraries
61412         * modules/mkdir (Depends-on): Drop xalloc.
61413         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
61414         exit.
61416         tests: avoid some compiler warnings
61417         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
61418         literals.
61419         * tests/test-memchr.c (main): Avoid type mismatch.
61420         * tests/test-arpa_inet.c (main): Avoid unused parameters.
61421         * tests/test-base64.c (main): Likewise.
61422         * tests/test-getdelim.c (main): Likewise.
61423         * tests/test-gethostname.c (main): Likewise.
61424         * tests/test-getline.c (main): Likewise.
61425         * tests/test-netinet_in.c (main): Likewise.
61426         * tests/test-select.c (open_server_socket, main): Likewise.
61427         * tests/test-select-stdin.c (main): Likewise.
61428         * tests/test-sockets.c (main): Likewise.
61429         * tests/test-strsignal.c (main): Likewise.
61430         * tests/test-sys_select.c (main): Likewise.
61431         * tests/test-sys_socket.c (main): Likewise.
61432         * tests/test-u64.c (main): Likewise.
61433         * tests/test-xfprintf-posix.c (main): Likewise.
61434         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
61436         sockets: avoid compiler warning
61437         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
61439         maint: detect usage(1) and other suspicious exits
61440         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
61442 2009-10-29  Jim Meyering  <meyering@redhat.com>
61444         timespec: long-to-int truncation could make timespec_cmp malfunction
61445         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
61446         a multiple of 2^32 nanoseconds as no difference.
61448 2009-10-28  Jim Meyering  <meyering@redhat.com>
61450         fprintftime: wrap macro code argument in "do {...} while(0)"
61451         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
61452         cpy macro must be a statement that can be followed by a semicolon.
61453         Now that the else clause contains a comment and is hence longer
61454         than one line, I require curly braces.  That in turn requires
61455         that we wrap this code block in the standard do...while(0).
61457         fprintftime: remove stray semicolon from previous change
61458         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
61460         fprintftime: avoid a warning about ignored fwrite return value
61461         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
61462         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
61463         that is unsafe.
61464         * modules/fprintftime (Depends-on): Add ignore-value.
61466         exclude: avoid an unwarranted warning
61467         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
61469 2009-10-27  Eric Blake  <ebb9@byu.net>
61471         fseek: avoid compilation failure when fflush is replaced
61472         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
61473         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
61474         module is in use.
61475         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
61476         module is not in use; since REPLACE_FSEEK worked otherwise.
61477         (GNULIB_FTELLO): Likewise for ftell.
61478         Reported by Ian Beckwith and others.
61480 2009-10-27  Bruno Haible  <bruno@clisp.org>
61482         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
61483         Reported by Jim Meyering.
61485 2009-10-27  Jim Meyering  <jim@meyering.net>
61486             Bruno Haible  <bruno@clisp.org>
61488         Avoid warning despite dropping the return value of fwrite.
61489         * lib/unicodeio.c: Include ignore-value.h.
61490         (fwrite_success_callback): Explicitly ignore fwrite's return value.
61491         * modules/unicodeio (Depends-on): Add ignore-value.
61493 2009-10-26  Eric Blake  <ebb9@byu.net>
61495         areadlinkat: fix fallback path
61496         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
61497         pointer and zero.
61499 2009-10-22  Pádraig Brady  <P@draigBrady.com>
61501         Use a better IO block size for modern systems
61502         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
61503         * lib/md2.c: Likewise.
61504         * lib/md4.c: Likewise.
61505         * lib/md5.c: Likewise.
61506         * lib/sha1.c: Likewise.
61507         * lib/sha256.c: Likewise.
61508         * lib/sha512.c: Likewise.
61510 2009-10-22  Eric Blake  <ebb9@byu.net>
61512         tests: avoid several compiler warnings
61513         * tests/test-getcwd.c (main): Avoid buffer underflow.
61514         * tests/test-getdate.c (main): String literals are not safe with
61515         putenv, so use setenv.  Declare unused argument.
61516         * modules/getdate-tests (Depends-on): Add setenv.
61517         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
61518         problems with string literals in char *.
61519         * tests/test-hash.c (main): Avoid shadowing declaration.
61520         (insert_new): Treat string literals as char const *.
61521         * tests/test-getopt.h (test_getopt): Likewise.
61522         (getopt_loop): Alter types to minimize casting elsewhere.
61523         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
61524         (test_getopt_long_posix): Likewise.
61525         (do_getopt_long): Add wrapper to minimize casting.
61526         * tests/test-atexit.c (clear_temp_file): Use void.
61527         * tests/test-areadlink-with-size.c (main): Declare unused
61528         arguments.
61529         * tests/test-areadlink.c (main): Likewise.
61530         * tests/test-areadlinkat-with-size.c (main): Likewise.
61531         * tests/test-areadlinkat.c (main): Likewise.
61532         * tests/test-canonicalize-lgpl.c (main): Likewise.
61533         * tests/test-canonicalize.c (main): Likewise.
61534         * tests/test-dirent-safer.c (main): Likewise.
61535         * tests/test-dirname.c (main): Likewise.
61536         * tests/test-dup2.c (main): Likewise.
61537         * tests/test-fchdir.c (main): Likewise.
61538         * tests/test-fcntl-h.c (main): Likewise.
61539         * tests/test-fcntl-safer.c (main): Likewise.
61540         * tests/test-fdopendir.c (main): Likewise.
61541         * tests/test-fdutimensat.c (main): Likewise.
61542         * tests/test-fflush.c (main): Likewise.
61543         * tests/test-filenamecat.c (main): Likewise.
61544         * tests/test-filevercmp.c (main): Likewise.
61545         * tests/test-fopen-safer.c (main): Likewise.
61546         * tests/test-fopen.c (main): Likewise.
61547         * tests/test-fpending.c (main): Likewise.
61548         * tests/test-fpurge.c (main): Likewise.
61549         * tests/test-freading.c (main): Likewise.
61550         * tests/test-fstatat.c (main): Likewise.
61551         * tests/test-fsync.c (main): Likewise.
61552         * tests/test-futimens.c (main): Likewise.
61553         * tests/test-getndelim2.c (main): Likewise.
61554         * tests/test-gettimeofday.c (main): Likewise.
61555         * tests/test-getopt.c (main): Likewise.
61556         * tests/test-i-ring.c (main): Likewise.
61557         * tests/test-inttypes.c (main): Likewise.
61558         * tests/test-link.c (main): Likewise.
61559         * tests/test-lstat.c (main): Likewise.
61560         * tests/test-math.c (main): Likewise.
61561         * tests/test-md5.c (main): Likewise.
61562         * tests/test-memchr2.c (main): Likewise.
61563         * tests/test-memrchr.c (main): Likewise.
61564         * tests/test-mkdir.c (main): Likewise.
61565         * tests/test-mkdirat.c (main): Likewise.
61566         * tests/test-mkfifoat.c (main): Likewise.
61567         * tests/test-open.c (main): Likewise.
61568         * tests/test-openat-safer.c (main): Likewise.
61569         * tests/test-openat.c (main): Likewise.
61570         * tests/test-quotearg.c (main): Likewise.
61571         * tests/test-rawmemchr.c (main): Likewise.
61572         * tests/test-readlink.c (main): Likewise.
61573         * tests/test-remove.c (main): Likewise.
61574         * tests/test-rename.c (main): Likewise.
61575         * tests/test-renameat.c (main): Likewise.
61576         * tests/test-rmdir.c (main): Likewise.
61577         * tests/test-sha1.c (main): Likewise.
61578         * tests/test-signal.c (main): Likewise.
61579         * tests/test-sigaction.c (main): Likewise.
61580         * tests/test-stat.c (main): Likewise.
61581         * tests/test-stat-time.c (main): Likewise.
61582         * tests/test-stddef.c (main): Likewise.
61583         * tests/test-stdint.c (main): Likewise.
61584         * tests/test-stdio.c (main): Likewise.
61585         * tests/test-stdlib.c (main): Likewise.
61586         * tests/test-strchrnul.c (main): Likewise.
61587         * tests/test-strerror.c (main): Likewise.
61588         * tests/test-string.c (main): Likewise.
61589         * tests/test-strtod.c (main): Likewise.
61590         * tests/test-strverscmp.c (main): Likewise.
61591         * tests/test-symlink.c (main): Likewise.
61592         * tests/test-symlinkat.c (main): Likewise.
61593         * tests/test-sys_stat.c (main): Likewise.
61594         * tests/test-sys_time.c (main): Likewise.
61595         * tests/test-time.c (main): Likewise.
61596         * tests/test-unistd.c (main): Likewise.
61597         * tests/test-unlink.c (main): Likewise.
61598         * tests/test-unlinkat.c (main): Likewise.
61599         * tests/test-utimens.c (main): Likewise.
61600         * tests/test-utimensat.c (main): Likewise.
61601         * tests/test-version-etc.c (main): Likewise.
61602         * tests/test-wchar.c (main): Likewise.
61603         * tests/test-wctype.c (main): Likewise.
61604         * tests/test-xprintf-posix.c (main): Likewise.
61605         * tests/test-posixtm.c (main): Likewise.
61606         (STREQ): Delete unused macro.
61607         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
61608         shadowed variables.
61609         * tests/test-memchr.c (main): Likewise.
61611 2009-10-21  Eric Blake  <ebb9@byu.net>
61613         areadlinkat: avoid failure on older glibc
61614         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
61615         rather than mis-comparing 0 against FUNC_RESULT of char*.
61617 2009-10-21  Bruno Haible  <bruno@clisp.org>
61619         * modules/stpncpy (License): Relicense under LGPLv2+.
61620         Reported by David Lutterkort <lutter@redhat.com>.
61622 2009-10-20  Eric Blake  <ebb9@byu.net>
61624         utimensat: work around Solaris 9 bug
61625         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
61626         has trailing slash bugs.
61627         * tests/test-lutimens.h (test_lutimens): Enhance test.
61628         * tests/test-utimens.h (test_utimens): Likewise.
61629         * doc/posix-functions/utime.texi (utime): Enhance documentation.
61630         * doc/posix-functions/utimes.texi (utimes): Likewise.
61631         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
61632         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
61633         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
61634         * doc/posix-functions/futimens.texi (futimens): Likewise.
61636         fdutimensat: new module
61637         * modules/fdutimensat: New file.
61638         * lib/fdutimensat.c (fdutimensat): Likewise.
61639         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
61640         * MODULES.html.sh (File system functions): Mention module.
61641         * modules/fdutimensat-tests: New test.
61642         * tests/test-fdutimensat.c: Likewise.
61644         doc: regenerate INSTALL
61645         * doc/INSTALL: Reflect recent autoconf update.
61646         * doc/INSTALL.ISO: Likewise.
61647         * doc/INSTALL.UTF-8: Likewise.
61649 2009-10-20  Pádraig Brady  <P@draigBrady.com>
61651         acl: warn if ACL support is not detected
61652         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
61654 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
61656         * lib/nproc.h: Add extern "C" block for C++.
61658 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
61659             Bruno Haible  <bruno@clisp.org>
61661         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
61662         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
61663         * doc/posix-functions/isalpha.texi: Likewise.
61664         * doc/posix-functions/isblank.texi: Likewise.
61665         * doc/posix-functions/iscntrl.texi: Likewise.
61666         * doc/posix-functions/isdigit.texi: Likewise.
61667         * doc/posix-functions/isgraph.texi: Likewise.
61668         * doc/posix-functions/islower.texi: Likewise.
61669         * doc/posix-functions/isprint.texi: Likewise.
61670         * doc/posix-functions/ispunct.texi: Likewise.
61671         * doc/posix-functions/isspace.texi: Likewise.
61672         * doc/posix-functions/isupper.texi: Likewise.
61673         * doc/posix-functions/isxdigit.texi: Likewise.
61675 2009-10-18  Bruno Haible  <bruno@clisp.org>
61677         Tests for module 'isblank'.
61678         * modules/isblank-tests: New file.
61679         * tests/test-isblank.c: New file.
61681         New module 'isblank'.
61682         * lib/isblank.c: New file.
61683         * m4/isblank.m4: New file.
61684         * modules/isblank: New file.
61685         * doc/posix-functions/isblank.texi: Mention the new module.
61687 2009-10-18  Bruno Haible  <bruno@clisp.org>
61689         New module 'ctype'.
61690         * lib/ctype.in.h: New file.
61691         * m4/ctype.m4: New file.
61692         * modules/ctype: New file.
61693         * doc/posix-headers/ctype.texi: Mention the new module.
61695 2009-10-18  Jim Meyering  <meyering@redhat.com>
61697         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
61698         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
61699         right after its initialization, rather than farther down.
61700         Keeping these in close proximity makes it easier to ensure
61701         that each such variable is initialized.  E.g.,
61703             LIB_CLOCK_GETTIME=
61704             AC_SUBST([LIB_CLOCK_GETTIME])
61706         This change also increments these serial numbers.
61707         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
61708         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
61709         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
61711 2009-10-18  Bruno Haible  <bruno@clisp.org>
61713         Don't let environment variables perturb build.
61714         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
61715         (gl_PREREQ_GETHRXTIME): ... not here.
61717 2009-10-18  Bruno Haible  <bruno@clisp.org>
61719         Avoid symlink attack in localcharset module.
61720         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
61721         (O_NOFOLLOW): Define fallback.
61722         (get_charset_aliases): Don't open the file if it is a symbolic link.
61723         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
61724         gl_FCNTL_H.
61725         (gl_FCNTL_H): Require it.
61726         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
61727         * modules/localcharset (Files): Add m4/fcntl_h.m4.
61728         Reported by Fergal Glynn <fglynn@veracode.com>.
61730 2009-10-18  Bruno Haible  <bruno@clisp.org>
61732         Implement nproc for mingw.
61733         * lib/nproc.c: Include <windows.h>
61734         (num_processors): On native Windows platforms, try GetSystemInfo.
61736 2009-10-18  Bruno Haible  <bruno@clisp.org>
61738         Implement nproc for IRIX.
61739         * lib/nproc.c: Include <sys/sysmp.h>.
61740         (num_processors): On IRIX systems, try sysmp.
61741         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
61743 2009-10-18  Bruno Haible  <bruno@clisp.org>
61745         Implement nproc for HP-UX.
61746         * lib/nproc.c: Include <sys/pstat.h>
61747         (num_processors): On HP-UX systems, try pstat_getdynamic.
61748         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
61749         pstat_getdynamic.
61751 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
61752             Bruno Haible  <bruno@clisp.org>
61754         Implement nproc for NetBSD, OpenBSD.
61755         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
61756         (ARRAY_SIZE): New macro.
61757         (num_processors): On BSD systems, try sysctl of HW_NCPU.
61758         * m4/nproc.m4: New file.
61759         * modules/nproc (Files): Add m4/nproc.m4.
61760         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
61761         (Makefile.am): Instead, augment lib_SOURCES.
61763 2009-10-18  Bruno Haible  <bruno@clisp.org>
61765         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
61766         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
61767         sys/param.h.
61769 2009-10-16  Eric Blake  <ebb9@byu.net>
61771         utimensat: new module
61772         * modules/utimensat: New file.
61773         * lib/utimensat.c (utimensat): Likewise.
61774         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
61775         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
61776         so we can work around Linux bugs.
61777         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
61778         * modules/sys_stat (Makefile.am): Substitute them.
61779         * lib/sys_stat.in.h (utimensat): Declare it.
61780         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
61781         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
61782         * modules/utimensat-tests: New test.
61783         * tests/test-utimensat.c: Likewise.
61785         utimens: let lutimens work on non-symlinks
61786         * lib/utimens.c (lutimens): Fall back to utimens rather than
61787         failing with ENOSYS, when file is not a symlink.
61788         (utimens): Reduce redirection.
61789         * tests/test-lutimens.h (test_lutimens): Update test to cover
61790         non-symlinks.
61791         * tests/test-utimens.h (test_utimens): Update test to cover
61792         symlinks.
61793         * tests/test-utimens.c (main): Update caller.
61795         utimens: cache whether utimensat syscall works
61796         * lib/utimens.c (utimensat_works_really): New cache variable.
61797         (fdutimens, lutimens): Use it to avoid failing syscall.
61799         test-stat-time, test-utimens: improve portability
61800         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
61801         ext4 on alpha, and for cygwin.
61802         * tests/test-utimens-common.h: New file.
61803         (nap): Factor delays into single function.
61804         * tests/test-lutimens.h (test_lutimens): Use new header.
61805         * tests/test-futimens.h (test_futimens): Likewise.
61806         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
61807         timestamps to occur from same machine, as was done previously for
61808         test_utimens.
61809         * modules/utimens-tests (Files): Ship new file.
61810         * modules/futimens-tests (Files): Likewise.
61811         Reported in part by Jim Meyering.
61813         sys_stat: sort replacement declarations
61814         * lib/sys_stat.in.h: Sort declarations.
61815         * lib/futimens.c (futimens): Fix typo.
61817 2009-10-15  Jim Meyering  <meyering@redhat.com>
61819         don't let environment settings perturb build
61820         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
61821         could cause a configure-time and/or build-time malfunction.
61822         Typically, a configure-time function-in-library test is performed
61823         via code like this:
61825           LIB_VAR=
61826           AC_SUBST([LIB_VAR])
61827           prefix_saved_LIBS=$LIBS
61828             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
61829                        [test "$ac_cv_search_FUNC" = "none required" ||
61830                         LIB_VAR=$ac_cv_search_FUNC])
61831           LIBS=$prefix_saved_LIBS
61833         However, in each of the files affected by this change, the LIB_VAR=
61834         initialization was omitted.  Thus, when set in the environment, its
61835         value would propagate into generated Makefiles when FUNC is not found
61836         in LIB_NAME.
61837         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
61838         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
61839         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
61841 2009-10-14  Eric Blake  <ebb9@byu.net>
61843         fchdir: avoid infinite recursion in mingw
61844         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
61845         recursing.
61847         test-stat-time: port to mingw
61848         * tests/test-stat-time.c (force_unlink): Return a value.
61849         (test_ctime) [W32]: Fix compilation error.
61850         (nap): Don't call usleep with too large an argument.  Use
61851         force_unlink.
61852         * doc/pastposix-functions/usleep.texi (usleep): Document the
61853         portability issue.
61855 2009-10-13  Jim Meyering  <meyering@redhat.com>
61857         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
61858         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
61859         * modules/pipe-filter-ii: Likewise.
61860         * modules/sys_socket-tests: Likewise.
61861         * modules/tsearch-tests: Likewise.
61862         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
61863         (check): Depend on it.
61865 2009-10-12  Eric Blake  <ebb9@byu.net>
61867         utimens-tests: port to NFS file systems
61868         * tests/test-utimens.h (test_utimens): Refactor utimecmp
61869         comparisons to avoid spurious failures from timestamp drift
61870         between NFS machines.
61872 2009-10-12  Eric Blake  <ebb9@byu.net>
61874         stat-time-tests: minor cleanups
61875         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
61876         * tests/test-stat-time.c (nap): Separate assignment from call.
61877         Suggested by Paolo Bonzini and Bruno Haible.
61879         sys_stat: guarantee struct timespec
61880         * lib/sys_stat.in.h (includes): Always include <time.h>
61881         * modules/sys_stat (Depends-on): Add time.
61882         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
61883         mode_t permission values.
61884         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
61885         get at subsecond timestamps.
61887 2009-10-10  Eric Blake  <ebb9@byu.net>
61889         futimens: new module
61890         * modules/futimens: New file.
61891         * lib/futimens.c (futimens): Likewise.
61892         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
61893         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
61894         we can work around Linux bugs.
61895         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
61896         * modules/sys_stat (Makefile.am): Substitute them.
61897         * lib/sys_stat.in.h (futimens): Declare it.
61898         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
61899         * doc/posix-functions/futimens.texi (futimens): Likewise.
61900         * modules/futimens-tests: New test.
61901         * tests/test-futimens.c: Likewise.
61903         utimens: introduce fdutimens
61904         * lib/utimens.h (fdutimens): New prototype.
61905         * lib/utimens.c (gl_futimens): Move guts...
61906         (fdutimens): ...to new interface.
61907         * tests/test-utimens.c (do_fdutimens): Use it.
61909         utimens: add UTIME_NOW and UTIME_OMIT support
61910         * lib/utimens.c (validate_timespec, update_timespec): New helper
61911         functions.
61912         (gl_futimens, lutimens): Use them.
61913         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
61914         stdbool, sys_stat.
61915         (Link): Mention resulting library dependency.
61916         * modules/utimecmp (Link): Likewise.
61917         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
61918         (Makefile.am): Pick up library dependency.
61919         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
61920         definition.
61921         * tests/test-sys_stat.c: Test the definitions.
61922         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
61923         * NEWS: Document library dependency.
61925         utimecmp: support symlink timestamps
61926         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
61927         hashing when possible.  Use pathconf when available.
61928         (SYSCALL_RESOLUTION): Recognize tighter resolution.
61929         * modules/utimecmp (Depends-on): Add lstat.
61931         utimens: add lutimens interface
61932         * lib/utimens.c (lutimens): New function.
61933         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
61934         * lib/utimens.h (lutimens): Declare new interface.
61935         * tests/test-utimens.c (main): Enhance test.
61936         * tests/test-lutimens.h (test_lutimens): New file.
61937         * modules/utimens-tests (Files): Distribute it.
61938         (Depends-on): Add symlink.
61939         (configure.ac): Check for usleep.
61941         utimens: validate futimens usage
61942         * lib/utimens.c (gl_futimens): Require valid fd up front, using
61943         fewer syscalls on failure later on.  Avoid compiler warning on
61944         mingw.
61945         * modules/utimens (Depends-on): Add dup2.
61947         utimens: add test
61948         * modules/utimens-tests: New test.
61949         * tests/test-utimens.h: New file.
61950         * tests/test-futimens.h: Likewise.
61951         * tests/test-utimens.c: Likewise.
61953         doc: mention timestamp portability issues
61954         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
61955         instead.
61956         * doc/posix-functions/utime.texi (utime): Likewise.
61957         * doc/posix-functions/utimes.texi (utimes): Likewise.
61958         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
61959         instead.
61960         * doc/posix-functions/futimens.texi (futimens): Mention utimens
61961         module.
61962         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
61963         Mention weakness with symlink timestamps.
61964         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
61965         to utimensat/futimens instead.
61966         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
61968         test-dup2: enhance test
61969         * tests/test-dup2.c (main): Also check AT_FDCWD.
61971         test-stat-time: avoid more spurious failures
61972         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
61973         xfs; and avoid race if the two timestamps cross quantization edge.
61975         relocatable: prefer 'file system' over 'filesystem'
61976         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
61977         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
61978         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
61979         * doc/relocatable.texi (Enabling Relocatability): Likewise.
61980         * lib/relocatable.c (compute_curr_prefix): Likewise.
61982 2009-10-10  Jim Meyering  <meyering@redhat.com>
61984         stat-time-tests: check for the usleep function
61985         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
61987 2009-10-10  Bruno Haible  <bruno@clisp.org>
61989         * modules/xnanosleep: Put the Link section after the Include section.
61991 2009-10-09  Eric Blake  <ebb9@byu.net>
61993         dup2: work around FreeBSD 6.1 bug
61994         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
61995         * doc/posix-functions/dup2.texi (dup2): Document it.
61996         Reported by Nelson H. F. Beebe and Jim Meyering.
61998         test-stat-time: port to buggy NFS clients
61999         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
62000         (test_ctime): Also skip test if mtime and ctime are skewed.
62002         maint: prefer 'file system' over 'filesystem'
62003         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
62004         * doc/posix-functions/lstat.texi (lstat): Likewise.
62005         * lib/file-has-acl.c (file_has_acl): Likewise.
62006         * lib/fwriteerror.c [TEST]: Likewise.
62007         * tests/test-areadlink.h (test_areadlink): Likewise.
62008         * tests/test-areadlinkat-with-size.c (main): Likewise.
62009         * tests/test-areadlinkat.c (main): Likewise.
62010         * tests/test-canonicalize-lgpl.c (main): Likewise.
62011         * tests/test-canonicalize.c (main): Likewise.
62012         * tests/test-fstatat.c (main): Likewise.
62013         * tests/test-linkat.c (main): Likewise.
62014         * tests/test-lstat.h (test_lstat_func): Likewise.
62015         * tests/test-mkdir.h (test_mkdir): Likewise.
62016         * tests/test-readlink.h (test_readlink): Likewise.
62017         * tests/test-remove.c (main): Likewise.
62018         * tests/test-rename.h (test_rename): Likewise.
62019         * tests/test-renameat.c (main): Likewise.
62020         * tests/test-rmdir.h (test_rmdir_func): Likewise.
62021         * tests/test-symlink.h (test_symlink): Likewise.
62022         * tests/test-symlinkat.c (main): Likewise.
62023         * tests/test-unlink.h (test_unlink_func): Likewise.
62024         * tests/test-unlinkat.c (main): Likewise.
62026         maint: make realtime library usage explicit
62027         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
62028         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
62029         * modules/settime (Link): Likewise.
62030         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
62032         test-stat-time: speed up execution
62033         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
62034         warning on mingw.
62035         (nap): New helper function.
62036         (prepare_test): Use it to reduce sleep time.
62037         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
62038         execution.
62039         * modules/stat-time-tests (configure.ac): Check for usleep.
62041 2009-10-09  Jim Meyering  <meyering@redhat.com>
62043         selinux-h: always use getfilecon wrappers
62044         * lib/getfilecon.c: New file.
62045         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
62046         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
62047         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
62048         (fgetfilecon): Provide a stub.
62049         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
62050         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
62051         file unconditionally.
62052         When <selinux/selinux.h> is found, arrange to use wrappers.
62053         * modules/selinux-h (Files): Add getfilecon.c.
62054         (Makefile.am): Substitute include-next-related bits
62055         into the now-always-generated selinux/selinux.h file.
62056         * doc/glibc-functions/lgetfilecon.texi: New file.
62057         * doc/glibc-functions/fgetfilecon.texi: New file.
62058         * doc/glibc-functions/getfilecon.texi: New file.
62059         * doc/glibc-functions/getfilecon-desc.texi: New file.
62060         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
62061         which to pull in the new files.
62062         * MODULES.html.sh (Misc): Add selinux-h.
62064 2009-10-08  Jim Meyering  <meyering@redhat.com>
62066         unistd: fix comment typo
62067         * lib/unistd.in.h (euidaccess): Fix a comment typo.
62069 2009-10-08  Eric Blake  <ebb9@byu.net>
62071         areadlink: use SIZE_MAX consistently
62072         * modules/areadlink (Depends-on): Add stdint.
62073         * modules/areadlink-with-size (Depends-on): Likewise.
62074         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
62075         gives NULL; drop sys/types, since unistd gives size_t; and add
62076         stdint for SIZE_MAX.
62077         (SIZE_MAX): Rely on headers.
62078         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
62079         and add stdint.
62080         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
62081         (SIZE_MAX): Likewise.
62082         (INITIAL_BUF_SIZE): Turn into enum.
62083         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
62085 2009-10-08  Jim Meyering  <meyering@redhat.com>
62087         areadlinkat: avoid compilation failure
62088         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
62089         Fix typo in comment.
62091 2009-10-07  Eric Blake  <ebb9@byu.net>
62093         areadlinkat-with-size: new module
62094         * modules/areadlinkat-with-size: New module.
62095         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
62096         * lib/areadlink.h (areadlinkat): Declare it.
62097         * MODULES.html.sh (File system functions): Mention it.
62098         * modules/areadlinkat-with-size-tests: New test.
62099         * tests/test-areadlinkat-with-size.c: New file.
62101         xreadlinkat: new module
62102         * modules/xreadlinkat: New module.
62103         * lib/xreadlinkat.c (xreadlinkat): New file.
62104         * lib/xreadlink.h (xreadlinkat): Declare it.
62105         * MODULES.html.sh (File system functions): Mention it.
62107         areadlinkat: new module
62108         * lib/at-func.c (FUNC_FAIL): New define.
62109         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
62110         * modules/areadlinkat: New module.
62111         * lib/linkat.c (areadlinkat): Move...
62112         * lib/areadlinkat.c (areadlinkat): ...to new file.
62113         * lib/areadlink.h (areadlinkat): Declare it.
62114         * modules/linkat (Depends-on): Add areadlinkat.
62115         * MODULES.html.sh (File system functions): Mention it.
62116         * modules/areadlinkat-tests: New test.
62117         * tests/test-areadlinkat.c: New file.
62119         areadlink, areadlink-with-size: add tests
62120         * modules/areadlink-tests: New test.
62121         * modules/areadlink-with-size-tests: Likewise.
62122         * tests/test-areadlink.h: New file.
62123         * tests/test-areadlink.c: Likewise.
62124         * tests/test-areadlink-with-size.c: Likewise.
62126         maint: minor cleanups
62127         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
62128         _UNUSED_PARAMETER_ instead.
62129         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
62130         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
62131         * modules/linkat-tests (Files): Distribute test-link.h.
62133         openat, utimens: whitespace cleanup
62134         * lib/openat.c: Prefer space throughout, rather than mix of 8
62135         spaces vs. tabs.
62136         * lib/at-func.c: Likewise.
62137         * lib/utimens.c: Likewise.
62139         openat: avoid using wrong fd
62140         * lib/openat.c (openat_permissive): Reject user's fd if saving the
62141         working directory chooses same fd.
62142         * lib/at-func.c (AT_FUNC_NAME): Likewise.
62144         mkdir, mkdirat: fix cygwin 1.5.x bug
62145         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
62146         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
62147         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
62148         bug.
62149         (gl_PREREQ_MKDIR): Delete unused macro.
62150         * modules/mkdir (Files): Track file rename.
62151         (configure.ac): Update macro name.
62152         * modules/openat (Depends-on): Add mkdir.
62153         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
62155         mkdir, mkdirat: add tests
62156         * modules/mkdir-tests: New test.
62157         * tests/test-mkdir.h: New file.
62158         * tests/test-mkdir.c: Likewise.
62159         * tests/test-mkdirat.c: Likewise.
62160         * modules/openat-tests (Files): Add new files.
62161         (Makefile.am): Run new test.
62163 2009-10-06  Eric Blake  <ebb9@byu.net>
62165         doc: tweak *at function documentation
62166         * doc/posix-functions/faccessat.texi (faccessat): Mention
62167         known issue with replacement.
62168         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
62169         * doc/posix-functions/linkat.texi (linkat): Likewise.
62170         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
62171         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
62172         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
62173         * doc/posix-functions/renameat.texi (renameat): Likewise.
62174         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
62176         openat: fix GNU/Hurd bug in unlinkat
62177         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
62178         broken.
62179         * doc/posix-functions/unlink.texi (unlink): Document this.
62180         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
62182         fdopendir: fix GNU/Hurd bug
62183         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
62184         allowing non-directory fds.
62185         * lib/fdopendir.c (rpl_fdopendir): Work around it.
62186         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
62187         * modules/dirent (Makefile.am): Substitute it.
62188         * lib/dirent.in.h (fdopendir): Declare replacement.
62189         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
62190         * tests/test-fdopendir.c (main): Test something other than
62191         /dev/null, since on Hurd that behaves like a directory.
62193         test-symlink: port to GNU/Hurd
62194         * tests/test-symlink.h (test_symlink): Relax expected errno.
62196         doc: tweak more cygwin information
62197         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
62198         now compatible with glibc.
62199         * doc/posix-functions/getopt.texi (getopt): Likewise.
62201         getopt-gnu: add another test
62202         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
62203         guarantee behavior relied on by m4.
62204         * tests/test-getopt.c (main): Use it.
62205         * modules/getopt-posix-tests (Depends-on): Add setenv.
62206         See http://lists.gnu.org/r/bug-m4/2006-09/msg00028.html.
62208         getopt: fix compilation on darwin
62209         * lib/getopt.in.h (includes): Leave breadcrumbs during system
62210         include.
62211         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
62212         Reported by Ludovic Courtès.
62214 2009-10-06  Bruno Haible  <bruno@clisp.org>
62216         * modules/size_max (Description): Discourage its use.
62217         Reported by Simon Josefsson.
62219 2009-10-06  Jim Meyering  <meyering@redhat.com>
62221         linkat: avoid compilation failure
62222         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
62224 2009-10-05  Eric Blake  <ebb9@byu.net>
62226         linkat: support Linux 2.6.17
62227         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
62228         linkat on Linux, but allow cache variable override.
62229         * lib/linkat.c (rpl_linkat): Define override.
62230         * modules/linkat (Depends-on): Add symlinkat.
62231         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
62232         * modules/unistd (Makefile.am): Substitute it.
62233         * lib/unistd.in.h (linkat): Declare replacement.
62234         Reported by Pádraig Brady.
62236         quotearg: port test to systems with C.UTF-8 locale
62237         * tests/test-quotearg.c (struct result_strings): Add another
62238         member, differentiating between C.ASCII and C.UTF-8 handling.
62239         (compare_strings): Add parameter.
62240         (main): Adjust all callers.
62242         getopt: avoid clash with FreeBSD _getopt_internal
62243         * lib/getopt.in.h (_getopt_internal): Override the name.
62244         * lib/getopt_int.h (includes): Pick up any overrides.
62245         Reported by Reuben Thomas.
62247         hash: allow C89 compilation
62248         * lib/hash.c (check_tuning): Move declaration before statement.
62249         Reported by Reuben Thomas.
62251 2009-10-05  Karl Berry  <karl@gnu.org>
62253         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
62255 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
62256             Bruno Haible  <bruno@clisp.org>
62258         * lib/uname.c (uname): Use a table-driven algorithm to compute
62259         Windows NT versions.
62261 2009-10-04  Bruno Haible  <bruno@clisp.org>
62263         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
62264         program_invocation_short_name.
62265         * modules/progname (configure.ac): Test for presence of
62266         program_invocation_short_name.
62267         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
62269 2009-10-04  Bruno Haible  <bruno@clisp.org>
62271         * lib/progname.c (set_program_name): Fix comment.
62272         Reported by Jim Meyering.
62274 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
62275             Bruno Haible  <bruno@clisp.org>
62277         * lib/uname.c: Include <string.h>.
62278         (uname): Do only one call to GetVersionEx in the common case.
62280 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
62281             Bruno Haible  <bruno@clisp.org>
62283         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
62284         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
62285         (uname): Add support for Windows CE and various non-x86 CPU types.
62287 2009-10-03  Bruno Haible  <bruno@clisp.org>
62289         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
62290         invocation to tests/configure.ac.
62291         Reported by Ian Beckwith <ianb@erislabs.net>.
62293 2009-10-02  Eric Blake  <ebb9@byu.net>
62295         fchdir: avoid compiler warning
62296         * lib/fchdir.c (canonicalize_file_name)
62297         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
62299         test-open: support mingw errno values
62300         * tests/test-open.h (test_open): Relax test.
62301         * tests/test-fopen.h (test_fopen): Likewise.
62302         * tests/test-openat-safer.c (main): Likewise.
62304         open: fix opening directory on mingw
62305         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
62307         test-open: on GNU/Hurd, /dev/null is a directory
62308         * tests/test-fopen.h (main): Rename...
62309         (test_fopen): ...to this.  Use a guaranteed non-directory when
62310         confirming open behavior on trailing slash.
62311         * tests/test-openat-safer.c (main): Likewise.
62312         * tests/test-open.h (main): Likewise....
62313         (test_open): ...to this.
62314         * tests/test-fopen.c (main): Adjust caller.
62315         * tests/test-fopen-safer.c (main): Likewise.
62316         * tests/test-open.c (main): Likewise.
62317         * tests/test-fcntl-safer.c (main): Likewise.
62318         Reported by Samuel Thibault.
62320         rename, fchdir: don't ignore chdir failure
62321         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
62322         * lib/rename.c (rpl_rename) [W32]: Likewise.
62323         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
62324         an empty destination directory if source cannot be renamed,
62325         although there is still possibility for failure.
62326         * doc/posix-functions/rename.texi (rename): Document the race.
62327         Reported by Jim Meyering.
62329         maint: cleanup whitespace in recent commits
62330         * lib/rename.c (rpl_rename): Remove tabs.
62331         * tests/test-link.h (test_link): Likewise.
62332         * lib/fchdir.c (get_name): Likewise.
62333         Reported by Jim Meyering.
62335 2009-10-02  Ben Pfaff  <blp@gnu.org>
62337         relocatable-prog-wrapper: Add missing dependency on
62338         double-slash-root.
62339         * modules/relocatable-prog-wrapper: Add dependency.
62340         Reported by Ian Beckwith <ianb@erislabs.net>.
62342 2009-10-02  Eric Blake  <ebb9@byu.net>
62344         renameat: fix Solaris bugs
62345         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
62346         needed fixing.
62347         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
62348         * modules/stdio (Makefile.am): Substitute it.
62349         * lib/stdio.in.h (renameat): Declare replacement.
62350         * lib/renameat.c (rpl_renameat): Implement fix.
62352         renameat: new module
62353         * modules/renameat: New file.
62354         * lib/renameat.c (renameat): Likewise.
62355         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
62356         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
62357         * modules/stdio (Makefile.am): Substitute them.
62358         * lib/stdio.in.h (renameat): Declare it.
62359         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
62360         * doc/posix-functions/renameat.texi (renameat): Likewise.
62361         * modules/renameat-tests: New test.
62362         * tests/test-renameat.c: Likewise.
62364         rename: fix mingw bugs
62365         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
62366         directory overwrite bugs.
62368         rename: fix another cygwin 1.5 bug
62369         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
62370         checks.
62371         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
62372         unnecessary cygwin workarounds.  Also work around bug with moving
62373         full directory onto an empty one.
62374         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
62376         rename-dest-slash: merge into rename module
62377         * modules/rename-dest-slash (Status): Mark obsolete.
62378         (Depends-on): Add rename.
62379         (Files): Let rename do it all.
62380         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
62381         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
62382         * m4/rename-dest-slash.m4: ...so this file can be deleted.
62383         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
62384         * lib/rename.c (rpl_rename): Update comments.
62386         rename: fix cygwin 1.5.x bugs
62387         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
62388         * lib/rename.c (rpl_rename): Work around them.
62389         * modules/rename (Depends-on): Add same-inode.
62391         rename: fix Solaris 10 bug
62392         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
62393         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
62394         was the only bug.
62396         rename: fix Solaris 9 bug
62397         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
62398         on non-directory.  Avoid calling exit.
62399         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
62400         strdup.
62401         * modules/rename-tests (Depends-on): Drop lstat.
62402         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
62403         (gl_PREREQ_RENAME): Delete unused macro.
62405         rename-dest-slash: fix NetBSD bug
62406         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
62407         links.
62408         * modules/rename-dest-slash (Depends-on): Add same-inode.
62410         rename-tests: new test, exposes several platform bugs
62411         * modules/rename-tests: New file.
62412         * tests/test-rename.h: Likewise.
62413         * tests/test-rename.c: Likewise.
62414         * doc/posix-functions/rename.texi (rename): Improve documentation,
62415         including bugs that will eventually be fixed in gnulib.
62417 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
62419         * lib/uname.c: Include <stdlib.h>
62420         (uname): Assume version info is available.
62422 2009-10-02  Jim Meyering  <meyering@redhat.com>
62424         gnu-web-doc-update: correct --help output
62425         * build-aux/gnu-web-doc-update: Make --help output relevant.
62427         gnu-web-doc-update: add standard options
62428         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
62430         gnu-web-doc-update: New module.
62431         Use this script to automatically update the on-line web documentation
62432         for your GNU project at http://www.gnu.org/software/$pkg/manual/
62433         * modules/gnu-web-doc-update: New file, from coreutils.
62434         * build-aux/gnu-web-doc-update: New script.
62436 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
62438         link: LoadLibrary is not needed.
62439         * lib/link.c: Use GetModuleHandle.
62441 2009-10-01  Eric Blake  <ebb9@byu.net>
62443         getopt: bump serial number
62444         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
62445         change.
62447         tests: tighten link, rmdir, and remove tests
62448         * tests/test-link.h (includes): No need to use <config.h> here.
62449         Clean up if directory hard link was created, otherwise test for
62450         trailing '.'.
62451         * tests/test-linkat.c (main): Simplify.
62452         * tests/test-remove.c (main): Enhance test for trailing '.'.
62453         * tests/test-rmdir.h (test_rmdir_func): Likewise.
62455 2009-10-01  Jim Meyering  <meyering@redhat.com>
62457         maint.mk: requiring "make major" was annoying, for a "minor" release.
62458         What is intended is "stable", to contrast with alpha and beta,
62459         so require "make stable", not "make major".
62460         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
62461         (get_tool_versions): Likewise.
62462         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
62464 2009-09-30  Ben Pfaff  <blp@gnu.org>
62466         Fix broken build of replacement for Windows tmpfile().
62467         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
62468         flags argument added along with the 'mkostemp' module.
62470 2009-09-28  Bruno Haible  <bruno@clisp.org>
62472         Avoid identifier clash with POSIX function 'remove' defined as a macro.
62473         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
62474         to 'remove_elt'.
62475         (gl_list_remove): Update.
62476         * lib/gl_list.c (gl_list_remove): Update.
62477         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
62478         to 'remove_elt'.
62479         (gl_oset_remove): Update.
62480         * lib/gl_list.c (gl_oset_remove): Update.
62481         Reported by Eric Blake.
62483 2009-09-28  Eric Blake  <ebb9@byu.net>
62485         doc: mention yet more cygwin 1.7 status
62486         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
62487         cygwin.
62488         * doc/glibc-functions/execvpe.texi (execvpe): New file.
62489         * doc/gnulib.texi (Glibc unistd.h): Mention it.
62491         argp: fix test failure
62492         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
62493         that are not upper-case.  Pass correct range to tolower.
62495 2009-09-27  Jim Meyering  <meyering@redhat.com>
62497         test-yesno: work around sparc-dash here-document infelicity
62498         Without this change, the literal \177 byte in a here document
62499         would make dash 0.5.5.1-3 access uninitialized memory.
62500         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
62501         Instead, use a marker, "@", and filter through tr to create the desired
62502         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
62504 2009-09-27  Bruno Haible  <bruno@clisp.org>
62506         Disable untested support for new flavours of ACLs on AIX.
62507         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
62508         progress.
62509         * lib/set-mode-acl.c (qset_acl): Likewise.
62511 2008-12-07  Bruno Haible  <bruno@clisp.org>
62513         Add support for new flavours of ACLs on AIX. (Untested.)
62514         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
62515         (file_has_acl): Add support for newer AIX.
62516         * lib/set-mode-acl.c (qset_acl): Likewise.
62517         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
62518         Rainer Tammer <tammer@tammer.net>.
62520 2009-09-26  Eric Blake  <ebb9@byu.net>
62522         argp: fix compilation of getopt
62523         * lib/getopt.in.h (includes): Use different guard than glibc.
62524         Reported by Sergey Poznyakoff.
62526         doc: mention more cygwin 1.7 status
62527         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
62528         bug.
62529         * doc/posix-functions/execl.texi (execl): Likewise.
62530         * doc/posix-functions/execle.texi (execle): Likewise.
62531         * doc/posix-functions/execlp.texi (execlp): Likewise.
62532         * doc/posix-functions/execv.texi (execv): Likewise.
62533         * doc/posix-functions/execve.texi (execve): Likewise.
62534         * doc/posix-functions/execvp.texi (execvp): Likewise.
62535         * doc/glibc-functions/canonicalize_file_name.texi
62536         (canonicalize_file_name): Cygwin 1.7 now provides this.
62537         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
62538         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
62539         on AT_SYMLINK_NOFOLLOW.
62541 2009-09-24  Eric Blake  <ebb9@byu.net>
62543         test-linkat: make test more robust
62544         * tests/test-linkat.c (main): Avoid collision with EEXIST.
62546         getopt: fix inclusion guards for cygwin
62547         * modules/getopt-posix (Depends-on): Add include-next.
62548         (Makefile.am): Substitute more items in replacement header.
62549         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
62550         <getopt.h>.
62551         * lib/getopt.in.h (includes): Use split inclusion guard, and
62552         prefer <getopt.h> over include <unistd.h> when one is present.
62553         (option): Also override name of 'struct option'.
62555         same-inode: revert prior change; it is not yet ready
62556         * NEWS: Undo mention of this change.
62557         * lib/same-inode.h (same-inode.h): Undo tri-state change.
62558         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
62559         * lib/cycle-check.c (cycle_check): Likewise.
62560         * lib/same.c (same_name): Likewise.
62561         * lib/at-func2.c (at_func2): Likewise.
62563 2009-09-23  Eric Blake  <ebb9@byu.net>
62565         linkat: new module
62566         * modules/linkat: New file.
62567         * lib/at-func2.c (at_func2): Likewise.
62568         * lib/linkat.c (linkat): Likewise.
62569         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
62570         * lib/openat-priv.h (at_func2): Add declaration.
62571         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
62572         * modules/unistd (Makefile.am): Substitute them.
62573         * lib/unistd.in.h (linkat): Declare it.
62574         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
62575         * doc/posix-functions/linkat.texi (linkat): Likewise.
62576         * doc/posix-functions/link.texi (link): Tweak wording.
62577         * tests/test-link.c (main): Move guts...
62578         * tests/test-link.h (test_link): ...into new file.
62579         * modules/linkat-tests: New test.
62580         * tests/test-linkat.c: Likewise.
62581         * modules/link-tests (Files): Ship new file.
62582         (Depends-on): Add stdbool.
62584         dirname: add library-safe mdir_name
62585         * lib/dirname.h (mdir_name): New prototype.
62586         * lib/dirname.c (dir_name): Move guts...
62587         (mdir_name): ...to new function that avoids xalloc_die.
62589         fchdir: another mingw fix
62590         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
62591         * lib/fchdir.c (get_name): New helper method; skips canonicalize
62592         on mingw (where it has not yet been ported), and make it optional
62593         elsewhere.
62594         (_gl_register_fd): Use it.
62596         same-inode: make SAME_INODE tri-state, to port to mingw
62597         * NEWS: Mention this change.
62598         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
62599         st_ino always being 0.
62600         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
62601         * lib/cycle-check.c (cycle_check): Likewise.
62602         * lib/same.c (same_name): Likewise.
62604         lstat: avoid mingw compilation error
62605         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
62606         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
62607         lstat ourselves.
62608         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
62609         was adequate.
62610         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
62611         the checks for lstat.
62612         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
62614         link: fix test failure on Solaris 9
62615         * lib/link.c (rpl_link): Don't assume link will catch bogus
62616         trailing slash on source.
62618         test-symlinkat: enhance test
62619         * tests/test-readlink.c (main): Move guts...
62620         * tests/test-readlink.h (test_readlink): ...into new file.
62621         * tests/test-symlink.c (main): Move guts...
62622         * tests/test-symlink.h (test_symlink): ...into new file.
62623         * tests/test-symlinkat.c (main): Use new files for further
62624         coverage.
62625         (do_symlink, do_readlink): New helper functions.
62626         * modules/symlink-tests (Files): Ship new file.
62627         (Depends-on): Add stdbool.
62628         * modules/readlink-tests (Files): Ship new file.
62629         (Depends-on): Add stdbool.
62630         * modules/symlinkat-tests (Files): Use new files.
62632 2009-09-23  Eric Blake  <ebb9@byu.net>
62634         readlink: document portability issue with symlink length
62635         * doc/posix-functions/lstat.texi (lstat): Mention that some file
62636         systems have bogus st_size on symlinks, and mention the
62637         areadlink-with-size module.
62638         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
62639         * doc/posix-functions/readlink.texi (readlink): Mention the
62640         areadlink module, and ERANGE failure.
62641         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
62642         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
62644         readlink: fix Solaris 9 bug with trailing slash
62645         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
62646         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
62647         * doc/posix-functions/readlink.texi (readlink): Document this.
62648         * modules/readlink-tests: New test.
62649         * tests/test-readlink.c: Likewise.
62651         readlink: fix cygwin 1.5.x bug with return type
62652         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
62653         * lib/unistd.in.h (readlink): Use ssize_t.
62654         * lib/readlink.c (readlink): Likewise.
62655         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
62656         * modules/unistd (Makefile.am): Substitute it.
62657         * lib/unistd.in.h (readlink): Declare replacement.
62658         * doc/posix-functions/readlink.texi (readlink): Document this.
62660         symlink: use throughout gnulib
62661         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
62662         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
62663         symlink is not used.
62664         * modules/symlinkat (Depends-on): Add symlink.
62665         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
62666         * modules/canonicalize-tests (Depends-on): Likewise.
62667         * modules/lstat-tests (Depends-on): Likewise.
62668         * modules/openat-tests (Depends-on): Likewise.
62669         * modules/remove-tests (Depends-on): Likewise.
62670         * modules/rmdir-tests (Depends-on): Likewise.
62671         * modules/unlink-tests (Depends-on): Likewise.
62672         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
62673         * tests/test-canonicalize.c (symlink): Likewise.
62674         * tests/test-fstatat.c (symlink): Likewise.
62675         * tests/test-lstat.c (symlink): Likewise.
62676         * tests/test-remove.c (symlink): Likewise.
62677         * tests/test-rmdir.c (symlink): Likewise.
62678         * tests/test-unlink.c (symlink): Likewise.
62679         * tests/test-unlinkat.c (symlink): Likewise.
62681         symlink: new module, for Solaris 9 bug
62682         * modules/symlink: New file.
62683         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
62684         * lib/symlink.c: Likewise.
62685         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
62686         * modules/unistd (Makefile.am): Substitute them.
62687         * lib/unistd.in.h (symlink): Declare replacement.
62688         * MODULES.html.sh (File system functions): Mention it.
62689         * doc/posix-functions/symlink.texi (symlink): Likewise.
62690         * modules/symlink-tests: New test.
62691         * tests/test-symlink.c: Likewise.
62693 2009-09-23  Bruno Haible  <bruno@clisp.org>
62695         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
62696         when needed.
62697         Test case: gnulib-tool --import --with-tests atexit inttypes.
62698         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
62700 2009-09-23  Bruno Haible  <bruno@clisp.org>
62702         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
62703         subcommand, not in a subshell.
62705 2009-09-22  Eric Blake  <ebb9@byu.net>
62707         unistd: sort replacement declarations
62708         * lib/unistd.in.h: Sort declarations.
62710         open, openat: minor optimization
62711         * lib/open.c (open): If open succeeded, len is non-zero.
62712         * lib/openat.c (rpl_openat): Likewise.
62714         link-follow: ensure correct result
62715         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
62716         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
62717         distinguish between possible failures.
62719 2009-09-21  Eric Blake  <ebb9@byu.net>
62721         fts: avoid compiler warning
62722         * lib/fts.c (dirent_inode_sort_may_be_useful)
62723         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
62725 2009-09-19  Bruno Haible  <bruno@clisp.org>
62727         * lib/progreloc.c (canonicalize_file_name): New declaration.
62729 2009-09-19  Eric Blake  <ebb9@byu.net>
62731         link: fix quoting
62732         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
62734         openat: fix openat bugs on Solaris 9
62735         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
62736         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
62737         * modules/openat (Depends-on): Add open.
62738         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
62739         * modules/fcntl-h (Makefile.am): Substitute it.
62740         * lib/fcntl.in.h (openat): Declare replacement.
62741         * doc/posix-functions/openat.texi (openat): Document this.
62743         openat: move fstatat and unlinkat into correct files
62744         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
62745         compiled.
62746         * lib/openat.c (fstatat, unlinkat): Move...
62747         * lib/fstatat.c (fstatat): ...into correct files.
62748         * lib/unlinkat.c (unlinkat): Likewise.
62750         openat: fix unlinkat bugs on Solaris 9
62751         * lib/unlinkat.c (unlinkat): New file.
62752         * modules/openat (Depends-on): Add unlink.
62753         (Files): Distribute it.
62754         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
62755         trailing slash behavior is broken.
62756         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
62757         * modules/unistd (Makefile.am): Substitute it.
62758         * lib/unistd.in.h (unlinkat): Declare replacement.
62759         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
62761         openat: fix fstatat bugs on Solaris 9
62762         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
62763         stat.
62764         * doc/posix-functions/fstatat.texi (fstatat): Document this.
62766         test-unlinkat: enhance test, to expose Solaris 9 bug
62767         * tests/test-unlink.c (main): Factor guts...
62768         * tests/test-unlink.h (test_rmdir_func): ...into new file.
62769         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
62770         * tests/test-rmdir.c (main): Adjust caller.
62771         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
62772         (unlinker): New helper function.
62773         (rmdirat): Enhance check.
62774         * modules/rmdir-tests (Depends-on): Add stdbool.
62775         * modules/unlink-tests (Depends-on): Likewise.
62776         (Files): Add test-unlink.h.
62777         * modules/openat-tests (Files): Likewise.
62778         (Depends-on): Add unlinkdir.
62780         test-fstatat: new test, to expose Solaris 9 bugs
62781         * tests/test-stat.c (main): Factor guts...
62782         * tests/test-stat.h (test_stat_func): ...into new file.
62783         * tests/test-lstat.c (main): Factor guts...
62784         * tests/test-lstat.h (test_lstat_func): ...into new file.
62785         * tests/test-fstatat.c: New file.
62786         * modules/stat-tests (Files): Add test-stat.h.
62787         * modules/lstat-tests (Files): Add test-lstat.h.
62788         (Depends-on): Add stdbool.
62789         * modules/openat-tests (Depends-on): Add pathmax.
62790         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
62791         (Makefile.am): Run new test.
62793         remove: new module, for mingw and Solaris 9 bugs
62794         * modules/remove: New file.
62795         * lib/remove.c: Likewise.
62796         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
62797         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
62798         * modules/stdio (Makefile.am): Use them.
62799         * lib/stdio.in.h (remove): Declare replacement.
62800         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
62801         * doc/posix-functions/remove.texi (remove): Likewise.
62802         * modules/remove-tests: New test.
62803         * tests/test-remove.c: Likewise.
62805         unlink: new module, for Solaris 9 bug
62806         * modules/unlink: New file.
62807         * lib/unlink.c: Likewise.
62808         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
62809         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
62810         * modules/unistd (Makefile.am): Use them.
62811         * lib/unistd.in.h (stat): Declare replacement.
62812         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
62813         * doc/posix-functions/unlink.texi (unlink): Likewise.
62814         * modules/unlink-tests: New test.
62815         * tests/test-unlink.c: Likewise.
62817         lstat: fix Solaris 9 bug
62818         * lib/lstat.c (lstat): Also check for trailing slash on
62819         non-symlink, non-directories.  Use stat module to simplify logic.
62820         * doc/posix-functions/lstat.texi (lstat): Document it.
62821         * modules/lstat-tests (Depends-on): Add errno, same-inode.
62822         (configure.ac): Check for symlink.
62823         * tests/test-lstat.c (main): Add more tests.
62825         stat: add as dependency to other modules
62826         * modules/chown (Depends-on): Add stat.
62827         * modules/euidaccess (Depends-on): Likewise.
62828         * modules/fchdir (Depends-on): Likewise.
62829         * modules/isdir (Depends-on): Likewise.
62830         * modules/link (Depends-on): Likewise.
62831         * modules/lstat (Depends-on): Likewise.
62832         * modules/mkdir-p (Depends-on): Likewise.
62833         * modules/modechange (Depends-on): Likewise.
62834         * modules/open (Depends-on): Likewise.
62835         * modules/readlink (Depends-on): Likewise.
62836         * modules/same (Depends-on): Likewise.
62838         stat: fix Solaris 9 bug
62839         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
62840         slash.
62841         * lib/stat.c (rpl_stat): Work around it.
62842         * doc/posix-functions/stat.texi (stat): Update documentation.
62844         stat: new module, for mingw bug
62845         * modules/stat: New file.
62846         * lib/stat.c: Likewise.
62847         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
62848         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
62849         * modules/sys_stat (Makefile.am): Use them.
62850         * lib/sys_stat.in.h (stat): Declare replacement.
62851         * lib/openat.c (fstatat): Deal with lstat and stat being function
62852         macros.
62853         * modules/openat (Depends-on): Add inline.
62854         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
62855         * doc/posix-functions/stat.texi (stat): Likewise.
62856         * modules/stat-tests: New test.
62857         * tests/test-stat.c: Likewise.
62859 2009-09-19  Jim Meyering  <meyering@redhat.com>
62861         syntax-check: detect unnecessary inclusion of canonicalize.h
62862         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
62864 2009-09-19  Eric Blake  <ebb9@byu.net>
62866         canonicalize-lgpl: adjust clients to use correct header
62867         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
62868         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
62869         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
62870         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
62871         * lib/progreloc.c (includes): Likewise.
62873 2009-09-19  Jim Meyering  <meyering@redhat.com>
62875         test-posixtm.c: correct a comment
62876         * tests/test-posixtm.c: Correct first-line comment.
62877         Spotted by Eric Blake.
62879 2009-09-16  Jim Meyering  <meyering@redhat.com>
62881         posixtm-tests: make T const-correct; add a test case
62882         * tests/test-posixtm.c (T): Declare const.
62883         Add a test for -(2^31+1).
62884         Remove useless can-succeed-only-in-2002 test.
62886         posixtm-tests: adjust the sole failing test
62887         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
62888         expected output matches what mktime now produces.  Cross-checked via
62889         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
62891         posixtm: move #ifdef'd tests into a new module
62892         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
62893         * tests/test-posixtm.c: ... this new file.
62894         * modules/posixtm-tests: New module.
62896 2009-09-19  Eric Blake  <ebb9@byu.net>
62898         openat: simplify use of at-func.c
62899         * lib/at-func.c (includes): Include prerequisites here, to
62900         simplify requirements on client files.
62901         * lib/openat-priv.h: Add double-inclusion guard.
62902         * lib/faccessat.c (includes): Simplify.
62903         * lib/fchmodat.c (includes): Likewise.
62904         * lib/fchownat.c (includes): Likewise.
62905         * lib/mkdirat.c (includes): Likewise.
62906         * lib/mkfifoat.c (includes): Likewise.
62907         * lib/symlinkat.c (includes): Likewise.
62909         openat: allow return of fd 0
62910         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
62911         * modules/save-cwd (Depends-on): Replace fcntl-safer with
62912         unistd-safer.
62913         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
62914         <fcntl.h>; this module does not leak fds.
62915         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
62916         must be allowed to return 0, leaving openat_safer to add the
62917         safety.
62918         (openat_permissive): Avoid writing to just-opened fd 2 if
62919         restoring the current directory fails.
62920         * lib/openat-die.c (openat_restore_fail): Add comment.
62921         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
62922         (save_cwd): Guarantee safe fd, but without use of open_safer.
62923         * tests/test-openat.c: New test.
62924         * modules/openat-tests (Files, Makefile.am): Distribute and build
62925         new file.
62927         relocatable-prog-wrapper: fix build
62928         * modules/relocatable-prog-wrapper (Files): Update name of
62929         canonicalize m4 file, broken on 2009-09-17.
62930         Reported by emad hajjar <aleppos@hotmail.com>.
62932 2009-09-19  Bruno Haible  <bruno@clisp.org>
62934         * lib/safe-alloc.h: Use the standard header with GPL copyright.
62935         * lib/safe-alloc.c: Likewise.
62936         Reported by Ian Beckwith <ianb@erislabs.net>.
62938 2009-09-18  Bruno Haible  <bruno@clisp.org>
62940         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
62941         Reported by <erobles@sensacd.com.mx>.
62943 2009-09-17  Eric Blake  <ebb9@byu.net>
62945         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
62946         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
62947         slashes when checking if last component is missing.
62948         * tests/test-canonicalize.c (main): Test this.
62950         canonicalize, canonicalize-lgpl: honor // if distinct from /
62951         * modules/canonicalize (Files): Add double-slash-root.m4.
62952         * modules/canonicalize-lgpl (Files): Likewise.
62953         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
62954         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
62955         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
62956         fallback definition.
62957         (canonicalize_filename_mode): Use it to protect //.
62958         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
62959         (__realpath): Likewise.
62960         * tests/test-canonicalize.c (main): Test this.
62961         * tests/test-canonicalize-lgpl.c (main): Likewise.
62962         * modules/canonicalize-tests (Depends-on): Add same-inode.
62963         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
62965         canonicalize-lgpl: fix glibc bug with trailing slash
62966         * m4/canonicalize-lgpl.m4: Move contents...
62967         * m4/canonicalize.m4: ...here.
62968         (gl_CANONICALIZE_LGPL): Factor realpath check...
62969         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
62970         glibc 2.3.5 bug, fixed 2005-04-27.
62971         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
62972         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
62973         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
62974         * modules/canonicalize-lgpl (Files): Manage file rename.
62975         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
62976         * modules/stdlib (Makefile.am): Substitute witness.
62977         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
62978         is needed.
62979         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
62980         replacement is required.
62981         * lib/canonicalize.c (canonicalize_file_name): Likewise.
62982         * doc/glibc-functions/canonicalize_file_name.texi
62983         (canonicalize_file_name): Document this.
62984         * doc/posix-functions/realpath.texi (realpath): Likewise.
62986         canonicalize-lgpl: reject non-directory with trailing slash
62987         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
62988         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
62989         catches failures in glibc 2.3.5.
62990         * tests/test-canonicalize.c (main): Likewise.
62992         canonicalize-lgpl: use native realpath if it works
62993         * lib/canonicalize-lgpl.c (realpath): Guard with
62994         FUNC_REALPATH_WORKS.
62995         * lib/stdlib.in.h (realpath): Make declaration optional based on
62996         HAVE_REALPATH.
62997         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
62998         native realpath works.
62999         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
63000         * modules/stdlib (Makefile.am): Substitute witness.
63002         canonicalize, canonicalize-lgpl: use <stdlib.h>
63003         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
63004         (Include): Mention <stdlib.h>.
63005         (configure.ac): Mention functions we provide.
63006         * modules/canonicalize (configure.ac): Likewise.
63007         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
63008         realpath if canonicalize_file_name is missing.
63009         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
63010         * modules/stdlib (Makefile.am): Substitute witnesses.
63011         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
63012         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
63013         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
63014         * NEWS: Document this.
63015         * doc/glibc-functions/canonicalize_file_name.texi
63016         (canonicalize_file_name): Likewise.
63017         * doc/posix-functions/realpath.texi (realpath): Likewise.
63018         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
63020         test-canonicalize: consolidate into single C program
63021         * tests/test-canonicalize.sh: Delete; move setup into...
63022         * tests/test-canonicalize.c (main): ...the program, making it
63023         easier to run in debugger.  Add some tests.
63024         * modules/canonicalize-tests (Files): Remove unused file.
63025         (Depends-on): Add progname.
63026         (configure.ac, Makefile.am): Simplify.
63028         test-canonicalize-lgpl: consolidate into single C program
63029         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
63030         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
63031         easier to run in debugger.  Add some tests.
63032         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
63033         (configure.ac, Makefile.am): Simplify.
63035         canonicalize: avoid resolvepath
63036         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
63037         unnecessary checks.
63038         * lib/canonicalize.c (includes): Simplify.
63039         (canonicalize_file_name): Drop resolvepath implementation.
63040         * modules/canonicalize (Depends-on): Drop filenamecat.
63042         canonicalize: don't lose errno
63043         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
63044         over calls to free.
63046         canonicalize: simplify errno handling
63047         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
63048         assignment.
63050         canonicalize, canonicalize-lgpl: update module dependencies
63051         * modules/canonicalize (Depends-on): Add extensions, lstat,
63052         pathmax, stdlib.
63053         (Files): Drop pathmax.h.
63054         (configure.ac): Adjust macro name.
63055         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
63056         lstat, stdlib, sys_stat.
63057         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
63058         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
63059         extensions.
63060         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
63061         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
63062         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
63063         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
63064         declaration, if available.
63065         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
63066         we can rely on the readlink module.
63067         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
63068         (includes): Use <unistd.h> unconditionally.
63070 2009-09-17  Eric Blake  <ebb9@byu.net>
63072         maint: make Include sections of modules consistent
63073         * modules/alloca: Use only header name; no need to list #include.
63074         * modules/alloca-opt: Likewise.
63075         * modules/arpa_inet: Likewise.
63076         * modules/canon-host: Likewise.
63077         * modules/configmake: Likewise.
63078         * modules/dirent: Likewise.
63079         * modules/eealloc: Likewise.
63080         * modules/environ: Likewise.
63081         * modules/fchdir: Likewise.
63082         * modules/fcntl: Likewise.
63083         * modules/fcntl-h: Likewise.
63084         * modules/gethrxtime: Likewise.
63085         * modules/gettime: Likewise.
63086         * modules/ignore-value: Likewise.
63087         * modules/inet_ntop: Likewise.
63088         * modules/inet_pton: Likewise.
63089         * modules/inttypes: Likewise.
63090         * modules/isnand-nolibm: Likewise.
63091         * modules/isnanf-nolibm: Likewise.
63092         * modules/mbchar: Likewise.
63093         * modules/mbfile: Likewise.
63094         * modules/mbiter: Likewise.
63095         * modules/mbuiter: Likewise.
63096         * modules/netdb: Likewise.
63097         * modules/netinet_in: Likewise.
63098         * modules/nproc: Likewise.
63099         * modules/pagealign_alloc: Likewise.
63100         * modules/poll: Likewise.
63101         * modules/printf-frexp: Likewise.
63102         * modules/pthread: Likewise.
63103         * modules/putenv: Likewise.
63104         * modules/random_r: Likewise.
63105         * modules/relocatable-prog: Likewise.
63106         * modules/search: Likewise.
63107         * modules/select: Likewise.
63108         * modules/selinux-h: Likewise.
63109         * modules/settime: Likewise.
63110         * modules/signal: Likewise.
63111         * modules/size_max: Likewise.
63112         * modules/socklen: Likewise.
63113         * modules/ssize_t: Likewise.
63114         * modules/stdarg: Likewise.
63115         * modules/stdbool: Likewise.
63116         * modules/stddef: Likewise.
63117         * modules/stdint: Likewise.
63118         * modules/stdio: Likewise.
63119         * modules/stdlib: Likewise.
63120         * modules/string: Likewise.
63121         * modules/strings: Likewise.
63122         * modules/sys_file: Likewise.
63123         * modules/sys_ioctl: Likewise.
63124         * modules/sys_select: Likewise.
63125         * modules/sys_socket: Likewise.
63126         * modules/sys_stat: Likewise.
63127         * modules/sys_time: Likewise.
63128         * modules/sys_times: Likewise.
63129         * modules/sys_utsname: Likewise.
63130         * modules/sys_wait: Likewise.
63131         * modules/sysexits: Likewise.
63132         * modules/time: Likewise.
63133         * modules/times: Likewise.
63134         * modules/tmpfile: Likewise.
63135         * modules/trim: Likewise.
63136         * modules/unistd: Likewise.
63137         * modules/wchar: Likewise.
63138         * modules/wctype: Likewise.
63140 2009-09-17  Bruno Haible  <bruno@clisp.org>
63142         Make getdate.y compile on QNX and NetBSD 5 / i386.
63143         * m4/getdate.m4 (gl_GETDATE): Conditionally define
63144         TIME_T_FITS_IN_LONG_INT.
63145         * lib/getdate.y (long_time_t): New type.
63146         (relative_time): Change type of 'seconds' field to long_time_t.
63147         (get_date): Update types of local variables. Check against overflow
63148         during conversion from long_time_t to time_t.
63149         Reported by Matt Kraai <kraai@ftbfs.org>
63150         and Hasso Tepper <hasso@netbsd.org>.
63152 2009-09-17  Bruno Haible  <bruno@clisp.org>
63154         * modules/COPYING: Update copyright years.
63155         * modules/README: Likeiwse.
63156         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
63157         Reported by Ian Beckwith <ianb@erislabs.net>.
63159 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
63161         * users.txt: Update references for gnuit package.
63163 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
63165         * m4/getdelim.m4: Fix typo in copyright line.
63167 2009-09-17  Bruno Haible  <bruno@clisp.org>
63169         * lib/atoll.c: Use the standard header with GPL copyright.
63170         * lib/argz.in.h: Likewise.
63171         * lib/glob.c: Likewise.
63172         * lib/glob-libc.h: Likewise.
63173         * lib/random_r.c: Likewise.
63174         * lib/siglist.h: Likewise.
63175         * lib/strsignal.c: Likewise.
63176         Reported by Ian Beckwith <ianb@erislabs.net>.
63178 2009-09-17  Eric Blake  <ebb9@byu.net>
63180         rmdir: ensure correct dependency order
63181         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
63183 2009-09-17  Bruno Haible  <bruno@clisp.org>
63185         Disable assertion that fails on NetBSD 5 / i386.
63186         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
63187         Reported by Sam Steingold <sds@gnu.org>
63188         and Hasso Tepper <hasso@netbsd.org>.
63190 2009-09-16  Eric Blake  <ebb9@byu.net>
63192         unlinkdir: port to mingw
63193         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
63194         on which no one can unlink a directory.
63196         stdlib: sort witness names
63197         * modules/stdlib (Makefile.am): Sort replacements.
63198         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
63199         * lib/stdlib.in.h: Likewise.
63201         parse-duration-tests: avoid link failure
63202         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
63203         LIBINTL.
63204         Reported by Tom G. Christensen.
63206         openat-tests: ensure unlinkat behaves like rmdir
63207         * tests/test-rmdir.c (main): Factor guts...
63208         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
63209         * modules/rmdir-tests (Files): Ship new file.
63210         * modules/openat-tests: New test.
63211         * tests/test-unlinkat.c: Likewise.
63213         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
63214         * modules/rmdir-errno (Status, Notice): Now obsolete.
63216         rmdir: work around cygwin 1.5.x and mingw bugs
63217         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
63218         * lib/rmdir.c (rmdir): Work around it.
63219         * modules/rmdir (Status, Notice): No longer obsolete.
63220         (Files): Add dos.m4.
63221         (Depends-on): Add unistd.
63222         (configure.ac): Set witnesses.
63223         (License): Relax to LGPLv2+.
63224         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
63225         * modules/unistd (Makefile.am): Substitute witnesses.
63226         * lib/unistd.in.h (rmdir): Declare replacement.
63227         * doc/posix-functions/rmdir.texi (rmdir): Document this.
63228         * modules/rmdir-tests: New tests.
63229         * tests/test-rmdir.c: Likewise.
63231 2009-09-15  Eric Blake  <ebb9@byu.net>
63233         fchdir: improve use of replacement functions
63234         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
63235         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
63236         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
63237         REPLACE_CLOSEDIR.
63238         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
63239         * modules/sys_stat (Makefile.am): Substitute correct witness.
63240         * modules/dirent (Makefile.am): Likewise.
63241         * modules/unistd (Makefile.am): Likewise.
63242         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
63243         * lib/unistd.in.h (dup): Likewise.
63244         * lib/sys_stat.in.h (fstat): Likewise.
63246         maint: ignore gnulib-tool temp files
63247         * .gitignore: Ignore files created during gnulib-tool --test.
63249 2009-09-13  Jim Meyering  <meyering@redhat.com>
63251         posixtm: don't reject a time that specify "60" as the number of seconds
63252         * lib/posixtm.c (posixtime): The code to reject invalid dates
63253         would also reject a time specified with the .60 suffix.
63254         But POSIX allows that, in order to accommodate leap seconds.
63255         So don't reject it.
63256         (main): Adjust tests accordingly.
63257         * modules/posixtm (Depends-on): Add stpcpy.
63259 2009-09-11  Jim Meyering  <meyering@redhat.com>
63261         announce-gen: include [$release_type] in emitted Subject:
63262         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
63263         e.g., [stable] in the emitted Subject: line.
63265 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63267         Remove obsolete macros from several modules.
63268         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
63269         obsolete Autoconf macros with their modern counterparts.
63270         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
63271         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
63272         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
63273         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
63274         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
63275         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
63276         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
63277         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
63278         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
63279         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
63280         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
63281         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
63282         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
63283         * m4/sockets.m4 (gl_SOCKETS): Likewise.
63284         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
63285         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
63286         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
63287         * m4/time_r.m4 (gl_TIME_R): Likewise.
63288         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
63289         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
63290         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
63292         Fix copyright header in build-aux scripts.
63293         * build-aux/git-version-gen: Fix copyright header to match GPLv3
63294         recommendation.
63295         * build-aux/ncftpput-ftp: Likewise.
63296         * build-aux/update-copyright: Likewise.
63298 2009-09-09  Eric Blake  <ebb9@byu.net>
63300         test-link: allow Linux choice of errno
63301         * tests/test-link.c (main): Relax test for alternate error.
63303         strndup: fix improper m4 caching
63304         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
63305         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
63306         (gl_PREREQ_STRNDUP): Delete.
63307         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
63308         * modules/string (Makefile.am): Substitute it.
63309         * lib/string.in.h (strndup): Modernize prototype.
63311         getcwd: port to mingw
63312         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
63313         different from the POSIX assumptions made throughout the getcwd
63314         module; fortunately, the mingw getcwd does not need replacement.
63315         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
63316         * modules/getcwd-tests: New test.
63317         * tests/test-getcwd.c: Likewise.
63319         link: fix platform bugs
63320         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
63321         * lib/link.c (link): Work around them.  Fix related mingw bug.
63322         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
63323         * modules/unistd (Makefile.am): Substitute it.
63324         * lib/unistd.in.h (link): Declare replacement.
63325         * doc/posix-functions/link.texi (link): Document this.
63326         * modules/link (Depends-on): Add strdup-posix, sys_stat.
63328         test-link: consolidate into single C program, test more cases
63329         * tests/test-link.sh: Delete.
63330         * tests/test-link.c: Test more error conditions.  Exposes bugs on
63331         at least Cygwin and Solaris.
63332         * modules/link-tests (Files): Remove unused file.
63333         (Depends-on): Add errno, sys_stat.
63334         (Makefile.am): Simplify.
63336 2009-09-08  Bruno Haible  <bruno@clisp.org>
63338         Work around towlower, towupper bug on mingw.
63339         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
63340         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
63341         * doc/posix-functions/towlower.texi: Mention the mingw bug.
63342         * doc/posix-functions/towupper.texi: Likewise.
63343         Reported by Eric Blake.
63345 2009-09-08  Jim Meyering  <meyering@redhat.com>
63347         build: don't try to run autoheader if we don't use it
63348         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
63349         is not used in configure.ac.
63351 2009-09-08  Eric Blake  <ebb9@byu.net>
63353         euidaccess: fix compilation error
63354         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
63356         rawmemchr: relax license
63357         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
63358         okay.
63359         Reported by Jim Meyering.
63361         mkfifoat: new module
63362         * modules/mkfifoat: New file.
63363         * lib/mkfifoat.c: Likewise.
63364         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
63365         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
63366         * modules/sys_stat (Makefile.am): Use them.
63367         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
63368         * MODULES.html.sh (File system functions): Mention module.
63369         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
63370         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
63371         * modules/mkfifoat-tests: New test.
63372         * tests/test-mkfifoat.c: Likewise.
63374         strchrnul: relax license
63375         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
63376         okay.
63377         Reported by Jim Meyering.
63379 2009-09-08  Eric Blake  <ebb9@byu.net>
63381         fstatat: fix compilation on Solaris
63382         * lib/fstatat.c (includes): Add fcntl.h.
63383         Reported by Pádraig Brady.
63385 2009-09-07  Eric Blake  <ebb9@byu.net>
63387         rename: modernize replacement
63388         * modules/rename (Depends-on): Add stdio.
63389         (configure.ac): Declare witness.
63390         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
63391         stdio take care of replacement.
63392         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
63393         * modules/stdio (Makefile.am): Substitute them.
63394         * lib/stdio.in.h (rename): Declare replacement.
63395         * lib/rename.c (includes): Allow cross-compilation to non-windows
63396         machines.
63397         * doc/posix-functions/rename.texi (rename): Improve
63398         documentation.
63400         stdio: sort witness names
63401         * modules/stdio (Makefile.am): Sort replacements.
63402         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
63403         * lib/stdio.in.h: Likewise.
63405         getcwd: minor cleanups
63406         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
63407         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
63409         openat: provide more convenience names
63410         * modules/faccessat (configure.ac): Add C witness.
63411         * lib/unistd.in.h (readlinkat): Fix typo.
63412         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
63413         convenience wrappers.
63414         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
63415         wrappers in syntax checks.
63417 2009-09-06  Eric Blake  <ebb9@byu.net>
63419         doc: fix comments in recent patches
63420         * lib/faccessat.c: Mention correct function.
63421         * lib/fchmodat.c: Likewise.
63422         * lib/fchownat.c: Likewise.
63423         * lib/symlinkat.c: Likewise.
63424         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
63425         constants.
63427         faccessat, symlinkat: continue cleanup of previous patch
63428         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
63429         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
63430         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
63431         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
63432         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
63433         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
63434         set.
63436 2009-09-06  Bruno Haible  <bruno@clisp.org>
63438         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
63439         (fstatat): Declare if GNULIB_FSTATAT is set.
63440         (mkdirat): Declare if GNULIB_MKDIRAT is set.
63441         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
63442         (unlinkat): Declare if GNULIB_UNLINKAT is set.
63443         * modules/fcntl-h (Files): Remove m4/openat.m4.
63444         * modules/sys_stat (Files): Remove m4/openat.m4.
63445         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
63446         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
63447         * modules/unistd (Files): Remove m4/openat.m4.
63448         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
63449         GNULIB_OPENAT.
63450         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
63451         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
63452         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
63453         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
63454         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
63455         gl_OPENAT_DEFAULTS.
63456         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
63457         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
63458         Don't require gl_OPENAT_DEFAULTS.
63459         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
63460         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
63461         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
63462         (gl_OPENAT_DEFAULTS): Remove macro.
63464 2009-09-06  Bruno Haible  <bruno@clisp.org>
63466         * modules/openat (configure.ac): Remove unneeded witness.
63468 2009-09-06  Bruno Haible  <bruno@clisp.org>
63470         Set errno to ENOSYS when a function is entirely unsupported.
63471         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
63472         EOPNOTSUPP.
63473         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
63474         * modules/chown (Depends-on): Remove errno.
63476 2009-09-06  Bruno Haible  <bruno@clisp.org>
63478         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
63480 2009-09-06  Bruno Haible  <bruno@clisp.org>
63482         * lib/sys_stat.in.h: Fix preprocessor command indentation.
63484 2009-09-06  Ben Pfaff  <blp@gnu.org>
63485             Bruno Haible  <bruno@clisp.org>
63487         Work around a glibc bug in strtok_r.
63488         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
63489         Undefine if UNDEFINE_STRTOK_R is set.
63490         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
63491         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
63492         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
63493         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
63494         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
63495         UNDEFINE_STRTOK_R.
63496         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
63498 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
63500         exclude: minor fix
63501         * lib/exclude.c: Include wctype.h
63503 2009-09-06  Akim Demaille  <demaille@gostai.com>
63505         bootstrap: improve error message
63506         * build-aux/bootstrap (find_tool): Upon failure, report the list
63507         of candidates.
63508         Honor the initial value of the envvar.
63510 2009-09-05  Eric Blake  <ebb9@byu.net>
63512         symlinkat: new module
63513         * modules/symlinkat: New file.
63514         * lib/symlinkat.c: Likewise.
63515         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
63516         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
63517         * modules/unistd (Makefile.am): Use them.
63518         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
63519         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
63520         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
63521         * MODULES.html.sh (File system functions): Mention module.
63522         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
63523         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
63524         * modules/symlinkat-tests: New test.
63525         * tests/test-symlinkat.c: Likewise.
63527         test-openat-safer: add more checks
63528         * tests/test-openat-safer.c (main): Check more code paths.
63530 2009-09-05  Jim Meyering  <meyering@redhat.com>
63532         syntax-check: detect unnecessary inclusion of openat.h
63533         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
63535 2009-09-05  Bruno Haible  <bruno@clisp.org>
63537         Support towlower, towupper.
63538         * doc/posix-functions/towlower.texi: Mention module wctype.
63539         * doc/posix-functions/towupper.texi: Likewise.
63540         * lib/wctype.in.h (towlower, towupper): New functions.
63541         * tests/test-wctype.c: Include stdio.h, stdlib.h.
63542         (ASSERT): New macro.
63543         (e): New variable.
63544         (main): Test also towlower, towupper. Test WEOF argument.
63545         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
63547 2009-09-05  Bruno Haible  <bruno@clisp.org>
63549         Fix conversion behaviour when the input is invalid.
63550         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
63551         mark occurring in first pass of indirect conversion.
63552         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
63553         input.
63554         Found by clang's static analyzer.
63556 2009-09-05  Bruno Haible  <bruno@clisp.org>
63558         * tests/test-striconveh.c (main): Test indirect conversion on platforms
63559         where direct conversion is possible.
63561 2009-09-04  Eric Blake  <ebb9@byu.net>
63563         openat: fail with ENOENT on empty name
63564         * lib/openat-proc.c (openat_proc_name): Special-case the empty
63565         buffer.
63567         link-follow: fix logic bug in prior patch
63568         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
63569         reversed sense of yes and no in prior patch.  Avoid confusing
63570         compilation failure with desired semantics.
63572         link-follow: accommodate mingw and cross-compilation
63573         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
63574         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
63575         cross-compilation results to -1, to make linkat easier to
63576         implement when cross-compiling.  Trivially support mingw.
63577         * modules/link-follow (configure.ac): Call new name.
63578         * NEWS: Mention this.
63580 2009-09-03  Eric Blake  <ebb9@byu.net>
63582         faccessat: compile replacement
63583         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
63584         needed.
63586         fts: fix compilation error
63587         * lib/fts.c (includes): Re-add "openat.h", for
63588         openat_needs_fchdir.
63590         faccessat: new module
63591         * modules/faccessat: New file.
63592         * lib/faccessat.c: Likewise.
63593         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
63594         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
63595         * modules/unistd (Makefile.am): Use it.
63596         * lib/unistd.in.h (faccessat): Declare it.
63597         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
63598         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
63599         * MODULES.html.sh (File system functions): Mention it.
63600         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
63601         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
63603         euidaccess: prefer POSIX over non-standard implementation
63604         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
63605         * lib/euidaccess.c (euidaccess): Use it if available.
63607         openat: make template easier to use
63608         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
63609         AT_FUNC_F2 to be undefined.
63610         (VALIDATE_FLAG): New macro; use it to reject bad flags.
63611         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
63612         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
63613         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
63614         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
63615         Likewise.
63616         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
63617         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
63618         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
63619         Likewise.
63621         openat: declare in POSIX headers
63622         * NEWS: Mention this.
63623         * modules/openat (configure.ac): Declare witnesses.
63624         (Depends-on): Add fcntl-h, sys_stat, unistd.
63625         (Include): Mention correct headers.
63626         * modules/fcntl-h (Depends-on): Add link-warning.
63627         (Files): Add openat.m4.
63628         (Makefile.am): Substitute witnesses.
63629         * modules/sys_stat (Files, Makefile.am): Likewise.
63630         * modules/unistd (Files, Makefile.am): Likewise.
63631         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
63632         (gl_OPENAT_DEFAULTS): New macro.
63633         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
63634         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
63635         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
63636         (SYS_STAT_H): Remove unused variable.
63637         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
63638         * lib/fcntl--.h (includes): Remove unneeded header.
63639         * lib/openat-safer.c (includes): Likewise.
63640         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
63641         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
63642         appropriate headers.
63643         (__OPENAT_PREFIX): Delete.
63644         * lib/fcntl.in.h (openat): Provide declaration.
63645         (AT_FDCWD): Fix Solaris bug.
63646         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
63647         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
63648         * lib/fchmodat.c (includes):  Adjust to find declaration.
63649         * lib/fchownat.c (includes): Likewise.
63650         * lib/mkdirat.c (includes): Likewise.
63651         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
63652         still visible.
63654 2009-09-02  Eric Blake  <ebb9@byu.net>
63656         errno: use consistently
63657         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
63658         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
63659         * lib/canonicalize.c (ELOOP): Likewise.
63660         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
63661         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
63662         * lib/lchown.c (EOPNOTSUPP): Likewise.
63663         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
63664         * lib/savewd.c (ESTALE): Likewise.
63665         * lib/settime.c (ENOSYS): Likewise.
63666         * lib/utimens.c (ENOSYS): Likewise.
63667         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
63668         * lib/chdir-safer.c (ELOOP): Likewise.
63669         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
63670         * modules/c-stack (Depends-on): Add errno.
63671         * modules/canonicalize (Depends-on): Likewise.
63672         * modules/chdir-safer (Depends-on): Likewise.
63673         * modules/fdopendir (Depends-on): Likewise.
63674         * modules/inet_ntop (Depends-on): Likewise.
63675         * modules/inet_pton (Depends-on): Likewise.
63676         * modules/lchown (Depends-on): Likewise.
63677         * modules/openat (Depends-on): Likewise.
63678         * modules/savewd (Depends-on): Likewise.
63679         * modules/settime (Depends-on): Likewise.
63680         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
63682         fts: avoid leaking fds
63683         * modules/fts (Depends-on): Add cloexec.
63684         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
63685         flag.
63687         fts: make directory fds more robust
63688         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
63689         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
63691         backupfile, chdir-long, fts, savedir: make safer
63692         * lib/backupfile.c (includes): Use "dirent--.h", since
63693         numbered_backup can write to stderr during readdir.
63694         * lib/savedir.c (includes): Likewise.
63695         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
63696         emulation can write to stderr on failure.
63697         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
63698         * lib/getcwd.c: Document why opendir_safer is unused.
63699         * lib/glob.c: Likewise.
63700         * lib/scandir.c: Likewise.
63701         * lib/openat-proc.c: Likewise, for open_safer.
63702         * modules/backupfile (Depends-on): Add dirent-safer.
63703         * modules/savedir (Depends-on): Likewise.
63704         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
63705         * modules/chdir-long (Depends-on): Add openat-safer.
63707         openat-safer: new module
63708         * modules/openat-safer: New file.
63709         * lib/openat-safer.c: Likewise.
63710         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
63711         * lib/fcntl-safer.h (openat_safer): Declare.
63712         * lib/fcntl--.h (openat): Override.
63713         * MODULES.html.sh (File descriptor based I/O): Mention it.
63714         * lib/openat.h: Add double-inclusion guards.
63715         * lib/openat.c (includes): Only include "fcntl-safer.h", not
63716         "fcntl--.h", so we can implement openat.
63717         * modules/openat-safer-tests: New test.
63718         * tests/test-openat-safer.c: New file.
63720         dirent-safer: new module
63721         * modules/dirent-safer: New file.
63722         * lib/dirent--.h: Likewise.
63723         * lib/dirent-safer.h: Likewise.
63724         * lib/opendir-safer.c: Likewise.
63725         * m4/dirent-safer.m4: Likewise.
63726         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
63727         * modules/dirent-safer-tests: New test.
63728         * tests/test-dirent-safer.c: New file.
63729         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
63731         fdopendir: optimize on mingw
63732         * lib/unistd.in.h (_gl_directory_name): New prototype.
63733         * lib/fchdir.c (_gl_directory_name): Implement it.
63734         (fchdir): Use it to simplify implementation.
63735         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
63736         fchdir, when available, to avoid calling [f]chdir().
63738         fdopendir: split into its own module
63739         * lib/openat.c (fdopendir): Move...
63740         * lib/fdopendir.c: ...into new file.
63741         * modules/fdopendir: New module.
63742         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
63743         * modules/openat (Depends-on): Add fdopendir.
63744         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
63745         fdopendir here.
63746         * modules/savedir (Depends-on): Only need fdopendir, not full
63747         openat.
63748         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
63749         * lib/openat.h (fdopendir): Drop prototype.
63750         * lib/dirent.in.h (fdopendir): Provide prototype.
63751         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
63752         * modules/dirent (Makefile.am): Substitute them.
63753         * MODULES.html.sh (File system functions): Mention it.
63754         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
63755         * modules/fdopendir-tests: New file.
63756         * tests/test-fdopendir.c: Likewise.
63758         fchdir: use more consistent macro convention
63759         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
63760         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
63761         REPLACE_FCHDIR, rather than relying on config.h macros.
63762         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
63763         inside a single make-time REPLACE_FCHDIR block, rather than using
63764         the config.h FCHDIR_REPLACEMENT.
63765         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
63766         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
63767         Manage fstat replacement.
63768         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
63769         REPLACE_FCHDIR.
63770         * modules/sys_stat (Files): Add m4/unistd_h.m4.
63771         (Makefile.am): Substitute REPLACE_FCHDIR.
63772         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
63773         FCHDIR_REPLACEMENT.
63774         * lib/dup-safer.c (dup_safer): Likewise.
63775         * lib/dup2.c (rpl_dup2): Likewise.
63776         * lib/dup3.c (rpl_dup3): Likewise.
63777         * lib/open.c (rpl_open): Likewise.
63779         fchdir: simplify error handling, and support dup3
63780         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
63781         stdbool, malloc-posix, realloc-posix.
63782         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
63783         (ensure_dirs_slot): Return false on allocation failure.
63784         (rpl_dup2): Delete.
63785         (_gl_register_dup): New function.
63786         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
63787         (_gl_register_fd): Close fd on allocation failure.
63788         * lib/fcntl.in.h (_gl_register_fd): Update signature.
63789         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
63790         prototype.
63791         (rpl_dup2_fchdir): Delete prototype.
63792         * lib/open.c (open): Update caller.
63793         * lib/dup2.c (dup2): Track fchdir metadata.
63794         * lib/dup3.c (dup3): Likewise.
63795         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
63796         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
63798 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63800         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
63801         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
63802         don't pass arguments to AC_OUTPUT.
63804 2009-09-02  Bruno Haible  <bruno@clisp.org>
63806         * modules/mkdtemp (License): Relicense under LGPLv2+.
63807         Reported by Paolo Bonzini.
63809 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63811         Replace uses of obsolete autoconf macros in Jim's modules.
63812         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
63813         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
63814         can evoke a warning from autoconf when run with -Wobsolete
63815         enabled.  They were declared obsolete for good reasons (see
63816         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
63817         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
63818         should not continue using the deprecated macros.
63819         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
63820         obsolete Autoconf macros with modern counterparts.
63821         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
63822         * m4/dos.m4 (gl_AC_DOS): Likewise.
63823         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
63824         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
63825         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
63826         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
63827         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
63828         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
63829         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
63830         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
63831         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
63832         Likewise.
63833         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
63834         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
63835         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
63836         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
63837         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
63838         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
63840 2009-09-01  Eric Blake  <ebb9@byu.net>
63842         fchdir: fix off-by-one bug in previous patch
63843         * lib/fchdir.c (rpl_fstat): Use correct bounds.
63844         (_gl_unregister_fd): Delete useless if.
63846 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
63848         maint.mk: sort the list of syntax-check rules
63849         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
63850         easier to get a sense of progress when the rules are run sequentially
63851         and take a long time.
63853 2009-09-01  Simon Josefsson  <simon@josefsson.org>
63855         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
63856         * modules/netinet_in: Likewise.
63857         * modules/sys_file: Likewise.
63858         * modules/sys_ioctl: Likewise.
63859         * modules/sys_select: Likewise.
63860         * modules/sys_socket: Likewise.
63861         * modules/sys_stat: Likewise.
63862         * modules/sys_time: Likewise.
63863         * modules/sys_times: Likewise.
63864         * modules/sys_utsname: Likewise.
63865         * modules/sys_wait: Likewise.
63867 2009-09-01  Jim Meyering  <meyering@redhat.com>
63869         fts: help ensure that return values are not ignored
63870         * lib/fts_.h (__GNUC_PREREQ): Define.
63871         (__attribute_warn_unused_result__): Define.
63872         (fts_children, fts_close, fts_open, fts_read): Declare with
63873         __attribute_warn_unused_result__.
63875         fts: fts_close now fails also when closing a dir file descriptor fails
63876         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
63877         and propagate to caller, along with errno.
63879         announce-gen: correct formatting in --help output
63880         * build-aux/announce-gen (usage): Move the one-line description in
63881         --help output "up", to where it belongs, just after Usage:.
63883 2009-08-31  Eric Blake  <ebb9@byu.net>
63885         fchdir: port to mingw
63886         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
63887         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
63888         opened, then use a substitute.
63889         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
63890         replacement.
63891         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
63892         (_gl_register_fd): No need to check stat if open already filters
63893         all directories.
63894         (fchdir): Fix error condition to match POSIX.
63895         * modules/fchdir (Depends-on): Add sys_stat.
63896         * doc/posix-functions/open.texi (open): Document the limitation.
63897         * modules/fchdir-tests: New file.
63898         * tests/test-fchdir.c: Likewise.
63900         canonicalize: allow cross-testing from cygwin to mingw
63901         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
63902         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
63903         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
63904         Likewise.
63905         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
63906         target does not support symlinks.
63907         * tests/test-canonicalize-lgpl.sh: Likewise.
63909         chown: avoid compilation warning on mingw
63910         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
63911         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
63912         mingw.
63913         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
63914         * modules/chown (Depends-on): Add errno.
63916 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
63918         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
63919         command.
63921 2009-08-31  Jim Meyering  <meyering@redhat.com>
63923         canonicalize: remove useless initialization
63924         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
63925         initialization of local, "end".
63927 2009-08-30  Bruno Haible  <bruno@clisp.org>
63929         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
63930         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
63931         ENOSYS.
63933 2009-08-30  Bruno Haible  <bruno@clisp.org>
63935         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
63936         /usr/xpg4/bin/tr when it exists.
63937         * tests/test-pipe-filter-gi1.sh: Likewise.
63939 2009-08-30  Bruno Haible  <bruno@clisp.org>
63941         Work around deficient /usr/bin/id program on Solaris.
63942         * tests/test-file-has-acl.sh (ID): New variable.
63943         * tests/test-set-mode-acl.sh (ID): Likewise.
63944         * tests/test-copy-acl.sh (ID): Likewise.
63945         * tests/test-copy-file.sh (ID): Likewise.
63947 2009-08-30  Bruno Haible  <bruno@clisp.org>
63949         New module 'xstriconveh'.
63950         * lib/xstriconveh.h: New file.
63951         * lib/xstriconveh.c: New file.
63952         * modules/xstriconveh: New file.
63954 2009-08-30  Bruno Haible  <bruno@clisp.org>
63956         Make it easier to use mem_cd_iconveh.
63957         * lib/striconveh.h (iconveh_t): New type.
63958         (iconveh_open, iconveh_close): New declarations.
63959         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
63960         with a single 'const iconveh_t *' argument.
63961         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
63962         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
63963         with a single 'const iconveh_t *' argument.
63964         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
63965         * tests/test-striconveh.c (main): Update.
63966         * NEWS: Mention the change.
63968 2009-08-30  Bruno Haible  <bruno@clisp.org>
63970         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
63971         problem.
63973 2009-08-30  Bruno Haible  <bruno@clisp.org>
63975         Work around iconv_open problem on Solaris.
63976         * lib/iconv_open-solaris.gperf: New file.
63977         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
63978         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
63979         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
63980         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
63981         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
63982         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
63984 2009-08-29  Jim Meyering  <meyering@redhat.com>
63986         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
63987         * top/maint.mk (cvs-check): Remove target; it was just an alias
63988         to the better-named vc-diff-check.
63989         (maintainer-distcheck): Remove rule.  It was used only from
63990         the (alpha/beta/major) target, and all of its commands but one
63991         were coreutils-specific.
63992         (vc-dist): Remove rule.
63993         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
63994         Run vc-diff-check, not vc-dist.
63995         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
63997 2009-08-27  Bruno Haible  <bruno@clisp.org>
63999         * tests/test-bitrotate.c (main): Remove test that uses a shift count
64000         of 0.
64002 2009-08-27  Bruno Haible  <bruno@clisp.org>
64004         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
64005         compilers.
64006         * doc/func.texi: Document the SunPRO C bug.
64008 2009-08-27  Bruno Haible  <bruno@clisp.org>
64010         Fix link error on Solaris.
64011         * tests/test-parse-duration.c (xstrdup): Remove function.
64013 2009-08-26  Pádraig Brady  <P@draigbrady.com>
64015         ignore-value: handle pointer types, too
64016         * lib/ignore-value.h (__attribute__): Remove definition.
64017         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
64018         of a more concise and more-often effective "(void) i" statement.
64019         (ignore_ptr): New function to suppress warnings from functions that
64020         return pointers, and to make it explicit that one function doesn't
64021         handle all cases.
64023 2009-08-25  Bruno Haible  <bruno@clisp.org>
64025         dup2: work around a Linux bug.
64026         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
64027         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
64028         * doc/posix-functions/dup2.texi: Mention the Linux bug.
64029         Reported by Simon Josefsson.
64031 2009-08-25  Jim Meyering  <meyering@redhat.com>
64033         libguestfs uses gnulib
64034         * users.txt: Add libguestfs.
64036 2009-08-24  Eric Blake  <ebb9@byu.net>
64038         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
64039         * lib/pipe2.c (includes): Add binary-io.h.
64040         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
64042 2009-08-24  Bruno Haible  <bruno@clisp.org>
64044         Tolerate declared but missing accept4 syscall.
64045         * lib/accept4.c (accept4): Invoke original accept4 function first, if
64046         available.
64047         * lib/sys_socket.in.h (accept4): If the function is already present,
64048         override it.
64049         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
64050         * modules/accept4 (Makefile.am): Compile accept4.c always.
64051         Reported by Paolo Bonzini and Eric Blake.
64053 2009-08-23  Bruno Haible  <bruno@clisp.org>
64055         New module 'accept4'.
64056         * lib/sys_socket.in.h (accept4): New declaration.
64057         * lib/accept4.c: New file.
64058         * m4/accept4.m4: New file.
64059         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
64060         GNULIB_ACCEPT4, HAVE_ACCEPT4.
64061         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
64062         HAVE_ACCEPT4.
64063         * modules/accept4: New file.
64064         * doc/glibc-functions/accept4.texi: Mention the new module.
64066 2009-08-24  Jim Meyering  <meyering@redhat.com>
64068         progname: also set global program_invocation_name, when possible
64069         Before this change, a libtool-enabled program that calls glibc's
64070         error function would report the program name as
64071         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
64072         * modules/progname (configure.ac): Check for a declaration of
64073         program_invocation_name.
64074         * lib/progname.c:  Include <errno.h>.
64075         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
64076         Set program_invocation_name.
64078 2009-08-23  Bruno Haible  <bruno@clisp.org>
64080         * lib/dup3.c: Include <string.h>.
64082 2009-08-23  Bruno Haible  <bruno@clisp.org>
64084         * lib/dup3.c (dup3): Test only once whether the system actually exists.
64085         * lib/pipe2.c (pipe2): Likewise.
64086         Suggested by Eric Blake.
64088 2009-08-23  Bruno Haible  <bruno@clisp.org>
64090         Tolerate declared but missing dup3 syscall.
64091         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
64092         * lib/unistd.in.h (dup3): If the function is already present,
64093         override it.
64094         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
64095         * modules/dup3 (Makefile.am): Compile dup3.c always.
64096         Reported by Paolo Bonzini.
64098 2009-08-23  Bruno Haible  <bruno@clisp.org>
64100         Tolerate declared but missing pipe2 syscall.
64101         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
64102         available.
64103         * lib/unistd.in.h (pipe2): If the function is already present,
64104         override it.
64105         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
64106         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
64107         Reported by Paolo Bonzini.
64109 2009-08-23  Bruno Haible  <bruno@clisp.org>
64111         * lib/pipe2.c (pipe2): Move #ifs inside function.
64113 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
64115         quotearg: document limitations of quote_these_too
64116         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
64117         those limitations are created.
64118         * lib/quotearg.h (set_char_quoting): Document that digits and
64119         letters that are special after backslash are not permitted.
64120         (quotearg_char): Cross-reference set_char_quoting documentation.
64122 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
64124         quotearg: implement custom_quoting_style
64125         * lib/quotearg.c: (struct quoting_options): Add left_quote and
64126         right_quote fields.
64127         (set_custom_quoting): New public function.
64128         (quotearg_buffer_restyled): Add left_quote and right_quote
64129         arguments, handle them very much like locale quoting, and update
64130         all uses.
64131         (quotearg_n_custom): New public function.
64132         (quotearg_n_custom_mem): New public function.
64133         (quotearg_custom): New public function.
64134         (quotearg_custom_mem): New public function.
64135         * lib/quotearg.h: Prototype and document new public functions.
64136         (enum quoting_style): For escape_quoting_style and
64137         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
64138         ignored even though they're otherwise like c_quoting_style.
64139         Add custom_quoting_style member and document with comparison to
64140         clocale_quoting_style.
64141         * tests/test-quotearg.c (custom_quotes): New array.
64142         (custom_results): New array.
64143         (main): Extend to test custom quoting.
64145 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
64147         quotearg: fix right quote escaping when it's in quote_these_too
64148         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
64149         quote, be sure to prepend only one backslash.
64150         * tests/test-quotearg.c (use_quote_double_quotes): New function.
64151         (main): Test it.
64153 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
64155         quotearg-tests: test escaping of embedded locale quotes
64156         * tests/test-quotearg.c (struct result_strings): Add member for
64157         new input.
64158         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
64159         (inputs): Add new input.
64160         (results_g): Add expected results.
64161         (flag_results): Likewise.
64162         (locale_results): Likewise.
64163         (compare_strings): Check those.
64165 2009-08-23  Bruno Haible  <bruno@clisp.org>
64167         Tests for module 'dup3'.
64168         * modules/dup3-tests: New file.
64169         * tests/test-dup3.c: New file.
64171         New module 'dup3'.
64172         * lib/unistd.in.h (dup3): New declaration.
64173         * lib/dup3.c: New file.
64174         * m4/dup3.m4: New file.
64175         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
64176         HAVE_DUP3.
64177         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
64178         * modules/dup3: New file.
64179         * doc/glibc-functions/dup3.texi: Mention the new module.
64181 2009-08-23  Bruno Haible  <bruno@clisp.org>
64183         Tweak the dup2 test.
64184         * tests/test-dup2.c (main): Create the test file empty. Verify that an
64185         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
64186         the test file is still empty. Fix argument order of lseek.
64188 2009-08-23  Bruno Haible  <bruno@clisp.org>
64190         Avoid test link errors when the modules getopt-gnu, gettext are used.
64191         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
64192         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
64194 2009-08-23  Bruno Haible  <bruno@clisp.org>
64196         Fix getdtablesize() on mingw.
64197         * lib/getdtablesize.c (getdtablesize): Implement differently.
64198         * lib/unistd.in.h (getdtablesize): Improve comment.
64200 2009-08-23  Bruno Haible  <bruno@clisp.org>
64202         New module 'mkostemp'.
64203         Based on Ulrich Drepper's 2007-08-10 change in glibc.
64204         * lib/stdlib.in.h (mksotemp): New declaration.
64205         * lib/mkostemp.c: New file, from glibc with modifications.
64206         * lib/tempname.h (GT_FILE): Remove outdated comment.
64207         (gen_tempname): Add flags argument.
64208         * lib/tempname.c (__GT_BIGFILE): Remove macro.
64209         (__GT_FILE): Map to 1.
64210         (small_open, large_open): Remove macros.
64211         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
64212         * lib/mkstemp.c (mkstemp): Update.
64213         * lib/mkdtemp.c (mkdtemp): Likewise.
64214         * m4/mkostemp.m4: New file.
64215         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
64216         HAVE_MKOSTEMP.
64217         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
64218         HAVE_MKOSTEMP.
64219         * modules/mkostemp: New file, based on modules/mkstemp.
64220         * doc/glibc-functions/mkostemp.texi: Mention the new module.
64221         * NEWS: Mention the change.
64223 2009-08-23  Bruno Haible  <bruno@clisp.org>
64225         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
64226         Reported by Eric Blake.
64228 2009-08-23  Bruno Haible  <bruno@clisp.org>
64230         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
64231         Reported by Eric Blake.
64233 2009-08-23  Bruno Haible  <bruno@clisp.org>
64235         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
64236         * modules/pipe2 (Depends-on): Likewise.
64238 2009-08-23  Eric Blake  <ebb9@byu.net>
64240         fcntl-h: add O_TTY_INIT support
64241         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
64242         * tests/test-fcntl-h.c (o): Test it.
64243         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
64245         fcntl-h: rename from fcntl, in preparation for fcntl(2)
64246         * modules/fcntl: Move <fcntl.h> header replacement...
64247         * modules/fcntl-h: ...to new name, so as not to collide with
64248         like-named function.
64249         * tests/test-fcntl.c: Rename...
64250         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
64251         * modules/fcntl-tests: Rename...
64252         * modules/fcntl-h-tests: ...to this.  Update test file name.
64253         * modules/chdir-long (Depends-on): Update clients.
64254         * modules/chdir-safer (Depends-on): Likewise.
64255         * modules/fcntl-safer (Depends-on): Likewise.
64256         * modules/fts (Depends-on): Likewise.
64257         * modules/mkancesdirs (Depends-on): Likewise.
64258         * modules/mkdir-p (Depends-on): Likewise.
64259         * modules/open (Depends-on): Likewise.
64260         * modules/savewd (Depends-on): Likewise.
64261         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
64262         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
64264 2009-08-22  Bruno Haible  <bruno@clisp.org>
64266         * modules/binary-io (License): Relicense under LGPL.
64267         * modules/pipe2 (License): Likewise.
64269 2009-08-22  Bruno Haible  <bruno@clisp.org>
64271         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
64272         return value.
64273         * lib/pipe-filter-gi.c (filter_init): Likewise.
64274         Reported by Eric Blake.
64276 2009-08-22  Bruno Haible  <bruno@clisp.org>
64278         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
64279         * modules/pipe (Depends-on): Add pipe2.
64281 2009-08-22  Bruno Haible  <bruno@clisp.org>
64283         Tests for module 'pipe2'.
64284         * modules/pipe2-tests: New file.
64285         * tests/test-pipe2.c: New file.
64287         New module 'pipe2'.
64288         * lib/unistd.in.h (pipe2): New declaration.
64289         * lib/pipe2.c: New file.
64290         * m4/pipe2.m4: New file.
64291         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
64292         HAVE_PIPE2.
64293         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
64294         * modules/pipe2: New file.
64295         * doc/glibc-functions/pipe2.texi: Mention the new module.
64297 2009-08-22  Bruno Haible  <bruno@clisp.org>
64299         Reference some new glibc functions.
64300         * doc/glibc-functions/accept4.texi: New file.
64301         * doc/glibc-functions/dup3.texi: New file.
64302         * doc/glibc-functions/mkostemp.texi: New file.
64303         * doc/glibc-functions/pipe2.texi: New file.
64304         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
64305         (Glibc sys/socket.h): Refer to accept4.
64306         (Glibc unistd.h): Refer to dup3, pipe2.
64307         Reported by Eric Blake.
64309 2009-08-22  Jim Meyering  <meyering@redhat.com>
64310             Bruno Haible  <bruno@clisp.org>
64312         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
64313         This makes it so packages using automake-1.11's silent-rules option
64314         can print e.g., a single "GEN    configmake.h" line, rather than
64315         the 30+ statements that perform the job.  If you want to see the
64316         actual commands, you can still run "make V=1".
64317         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
64318         so that make output is abbreviated when those variables are defined
64319         appropriately.
64320         * modules/argz: Likewise.
64321         * modules/arpa_inet: Likewise.
64322         * modules/byteswap: Likewise.
64323         * modules/configmake: Likewise.
64324         * modules/dirent: Likewise.
64325         * modules/errno: Likewise.
64326         * modules/fcntl: Likewise.
64327         * modules/float: Likewise.
64328         * modules/fnmatch: Likewise.
64329         * modules/getopt-posix: Likewise.
64330         * modules/glob: Likewise.
64331         * modules/iconv_open: Likewise.
64332         * modules/inttypes: Likewise.
64333         * modules/localcharset: Likewise.
64334         * modules/locale: Likewise.
64335         * modules/math: Likewise.
64336         * modules/netdb: Likewise.
64337         * modules/netinet_in: Likewise.
64338         * modules/poll: Likewise.
64339         * modules/posix_spawnp-tests: Likewise.
64340         * modules/sched: Likewise.
64341         * modules/search: Likewise.
64342         * modules/selinux-h: Likewise.
64343         * modules/signal: Likewise.
64344         * modules/spawn: Likewise.
64345         * modules/stdarg: Likewise.
64346         * modules/stdbool: Likewise.
64347         * modules/stddef: Likewise.
64348         * modules/stdint: Likewise.
64349         * modules/stdio: Likewise.
64350         * modules/stdlib: Likewise.
64351         * modules/string: Likewise.
64352         * modules/strings: Likewise.
64353         * modules/sys_file: Likewise.
64354         * modules/sys_ioctl: Likewise.
64355         * modules/sys_select: Likewise.
64356         * modules/sys_socket: Likewise.
64357         * modules/sys_stat: Likewise.
64358         * modules/sys_time: Likewise.
64359         * modules/sys_times: Likewise.
64360         * modules/sys_utsname: Likewise.
64361         * modules/sys_wait: Likewise.
64362         * modules/sysexits: Likewise.
64363         * modules/time: Likewise.
64364         * modules/unistd: Likewise.
64365         * modules/wchar: Likewise.
64366         * modules/wctype: Likewise.
64368 2009-08-22  Jim Meyering  <meyering@redhat.com>
64370         announce-gen: detect write failure
64371         * build-aux/announce-gen: Add Coda at end.
64372         Remove equivalent-but-more-verbose block at top.
64374 2009-08-19  Akim Demaille  <demaille@gostai.com>
64376         bootstrap: --help to stdout.
64377         * bootstrap (usage): Don't send --help to stderr.
64378         Use a here doc instead of a long string.
64380 2009-08-21  Eric Blake  <ebb9@byu.net>
64382         test-popen-safer: split from test-popen
64383         * tests/test-popen.c (main): Move...
64384         * tests/test-popen.h: ...into new file.
64385         * tests/test-popen-safer2.c: New file.
64386         * modules/popen-tests (Files): Add test-popen.h.
64387         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
64388         Suggested by Bruno Haible.
64390         test-fcntl-safer: split from test-open
64391         * tests/test-open.c (main): Move...
64392         * tests/test-open.h: ...into new file.
64393         * tests/test-fcntl-safer.c: New file.
64394         * modules/open-tests (Files): Add test-open.h.
64395         * modules/fcntl-safer-tests: New file.
64396         Suggested by Bruno Haible.
64398         test-fopen-safer: split from test-fopen
64399         * tests/test-fopen.c (main): Move...
64400         * tests/test-fopen.h: ...into new file.
64401         * tests/test-fopen-safer.c: New file.
64402         * modules/fopen-tests (Files): Add test-fopen.h.
64403         * modules/fopen-safer-tests: New file.
64404         Suggested by Bruno Haible.
64406 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
64408         popen-safer: test O_CLOEXEC at run-time.
64409         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
64411 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
64413         fcntl: move more flags to the header
64414         * lib/cloexec.c: Do not define FD_CLOEXEC here.
64415         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
64416         * lib/fcntl.in.h: Do both things here.
64418 2009-08-21  Jim Meyering  <meyering@redhat.com>
64420         consistently remove $@-t before redirecting to it
64421         * modules/argz: Remove $@-t and $@ before redirecting to the former.
64422         * modules/alloca-opt: Likewise.
64423         * modules/byteswap: Likewise.
64424         * modules/fnmatch: Likewise.
64425         * modules/getopt-posix: Likewise.
64426         * modules/glob: Likewise.
64427         * modules/poll: Likewise.
64428         * modules/posix_spawnp-tests: Likewise.
64429         * modules/sys_socket: Likewise.
64430         * modules/sysexits: Likewise.
64432 2009-08-21  Eric Blake  <ebb9@byu.net>
64434         popen: simplify access to original popen
64435         * lib/popen.c (rpl_popen): No need to worry about popen being a
64436         macro.
64437         Reported by Bruno Haible.
64439 2009-08-20  Eric Blake  <ebb9@byu.net>
64441         build: avoid some compiler warnings
64442         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
64443         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
64444         type.
64445         (new_exclude_segment, excluded_file_pattern_p)
64446         (excluded_file_name_p): Reduce scope.
64447         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
64448         old-style declaration.
64450 2009-08-20  Simon Josefsson  <simon@josefsson.org>
64452         * tests/test-exclude1.sh: Handle Windows EOL.
64453         * tests/test-exclude2.sh: Likewise.
64454         * tests/test-exclude3.sh: Likewise.
64455         * tests/test-exclude4.sh: Likewise.
64456         * tests/test-exclude5.sh: Likewise.
64457         * tests/test-exclude6.sh: Likewise.
64458         * tests/test-exclude7.sh: Likewise.
64460 2009-08-19  Akim Demaille  <demaille@gostai.com>
64462         bootstrap: find sha1sum when named gsha1sum.
64463         * bootstrap (find_tool): New.
64464         ($SHA1SUM): New.
64465         Use it.
64467 2009-08-20  Jim Meyering  <meyering@redhat.com>
64469         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
64470         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
64471         expression that converts "." in a file name to "\." in the resulting
64472         regexp.  Start with a dummy statement, so that prior shell variable
64473         definitions are expanded portably.  Reported by Simon Josefsson.
64475 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
64477         Fix polling for writeability of a screen buffer.
64478         * lib/poll.c: Distinguish input and screen buffers for the
64479         Win32 implementation.
64480         * lib/select.c: Likewise.
64482 2009-08-19  Eric Blake  <ebb9@byu.net>
64484         popen-safer: prevent popen from clobbering std descriptors
64485         * modules/popen-safer: New file.
64486         * lib/popen-safer.c: Likewise.
64487         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
64488         * lib/stdio--.h (popen): Provide override.
64489         * lib/stdio-safer.h (popen_safer): Provide declaration.
64490         * tests/test-popen.c (includes): Partially test this.
64491         * modules/popen-safer-tests: New file, for more tests.
64492         * tests/test-popen-safer.c: Likewise.
64493         * MODULES.html.sh (file stream based Input/Output): Mention it.
64495         tests: test some of the *-safer modules
64496         * modules/fopen-safer (Depends-on): Add fopen.
64497         * modules/fcntl-safer (Depends-on): Add fcntl.
64498         * modules/stdlib-safer (Depends-on): Add stdlib.
64499         (configure.ac): Set indicator.
64500         * modules/unistd-safer (configure.ac): Likewise.
64501         * modules/tmpfile-safer (configure.ac): Likewise.
64502         (Depends-on): Add tmpfile.
64503         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
64504         active.
64505         * tests/test-fopen.c (includes): Test safer versions when they are
64506         in use.
64507         * tests/test-open.c (includes): Likewise.
64509         popen: fix cygwin 1.5 bug when stdin closed
64510         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
64511         * modules/popen: New file.
64512         * modules/popen-tests: Likewise.
64513         * tests/test-popen.c: Likewise.
64514         * m4/popen.m4: Likewise.
64515         * lib/popen.c: Likewise.
64516         * lib/stdio.in.h (popen): New declaration.
64517         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
64518         * modules/stdio (Makefile.am): Likewise.
64519         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
64521 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
64523         maint.mk: give full control over update-copyright exclusions
64524         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
64525         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
64526         (update-copyright): Don't force inclusion of top-level
64527         ChangeLog.  Don't force exclusion of all COPYING files, but make
64528         them the default exclusion instead.
64530 2009-08-16  Bruno Haible  <bruno@clisp.org>
64532         Fix test failures on Solaris 10.
64533         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
64534         tests when Solaris iconv() is used.
64535         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
64536         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
64537         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
64538         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
64539         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
64541 2009-08-16  Bruno Haible  <bruno@clisp.org>
64543         Fix test failures on Solaris 10.
64544         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
64545         'tr' program and pass it as first argument.
64546         * tests/test-pipe-filter-gi1.sh: Likewise.
64547         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
64548         program as first argument.
64549         * tests/test-pipe-filter-gi1.c (main): Likewise.
64551 2009-08-16  Eric Blake  <ebb9@byu.net>
64553         fpurge: fix previous commits
64554         * modules/fpurge (Makefile.am): Make replacement conditional,
64555         partially reverting 2007-04-29 change; missed in previous
64556         attempt.
64557         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
64558         is missing.
64560 2009-08-16  Bruno Haible  <bruno@clisp.org>
64562         Clarify fpurge's effect on the file position.
64563         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
64564         * tests/test-fpurge.c (main): Make a second pass for checking the file
64565         position.
64567 2009-08-16  Bruno Haible  <bruno@clisp.org>
64569         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
64570         declaration of fpurge is missing.
64571         * tests/test-fpurge.c (main): Check that the file has not more contents
64572         than expected. Close the file before removing it.
64574 2009-08-15  Eric Blake  <ebb9@byu.net>
64576         fpurge: don't wrap working cygwin implementation
64577         * lib/fpurge.c (fpurge): Fix comment typo.
64578         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
64579         1.7 to avoid replacement.
64580         * tests/test-fpurge.c (main): Enhance test.
64582 2009-08-15  Eric Blake  <ebb9@byu.net>
64583         and Jim Meyering  <meyering@redhat.com>
64585         test-update-copyright: skip if perl is insufficient
64586         * tests/test-update-copyright.sh: Failure to run maintainer tool
64587         should not cause testsuite failure on cygwin 1.5.
64589 2009-08-14  Eric Blake  <ebb9@byu.net>
64591         doc: mention more functions added in cygwin 1.7.0
64592         * doc/posix-headers/limits.texi (limits.h): Update for recent
64593         cygwin additions.
64594         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
64595         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
64596         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
64597         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
64598         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
64600 2009-08-14  Eric Blake  <ebb9@byu.net>
64602         maint.mk: simplify update-copyright rule
64603         * top/maint.mk (update-copyright-local): Delete, and document how
64604         to do it in cfg.mk instead.
64605         (update-copyright-exclude-regexp): Delete, and document how to do
64606         it in .x-update-copyright instead.
64607         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
64608         exclude ChangeLog.
64610 2009-08-14  Bruno Haible  <bruno@clisp.org>
64612         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
64614 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
64616         maint.mk: support update-copyright-env
64617         * top/maint.mk (update-copyright-env): Define place-holder.
64618         (update-copyright): Expand $(update-copyright-env) before
64619         invoking update-copyright.
64621 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
64623         update-copyright: implement forced reformatting
64624         * build-aux/update-copyright: Implement and document
64625         UPDATE_COPYRIGHT_FORCE.
64626         * tests/test-update-copyright.sh: Test it.
64628 2009-08-14  Eric Blake  <ebb9@byu.net>
64629         and Bruno Haible  <bruno@clisp.org>
64631         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
64632         * tests/test-locale.c: Revert previous patch related to NULL.
64633         * tests/test-stdio.c: Likewise.
64634         * tests/test-stdlib.c: Likewise.
64635         * tests/test-string.c: Likewise.
64636         * tests/test-unistd.c: Likewise.
64637         * modules/time-tests (Depends-on): Add verify.
64638         * modules/wchar-tests (Depends-on): Likewise.
64639         * tests/test-time.c: Test for NULL compliance.
64640         * tests/test-wchar.c: Likewise.
64641         * modules/locale (Depends-on): Add stddef.
64642         * modules/stdio (Depends-on): Likewise.
64643         * modules/stdlib (Depends-on): Likewise.
64644         * modules/string (Depends-on): Likewise.
64645         * modules/time (Depends-on): Likewise.
64646         * modules/unistd (Depends-on): Likewise.
64647         * modules/wchar (Depends-on): Likewise.
64648         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
64649         * lib/stdlib.in.h (includes): Likewise.
64650         * lib/string.in.h (includes): Likewise.
64651         * lib/time.in.h (includes): Likewise.
64652         * lib/unistd.in.h (includes): Likewise.
64653         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
64654         replaced.
64655         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
64656         * m4/stddef_h.m4: New file.
64657         * modules/stddef: Likewise.
64658         * lib/stddef.in.h: Likewise.
64659         * modules/stddef-tests: Likewise.
64660         * tests/test-stddef.c: Likewise.
64661         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
64662         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
64663         * doc/posix-headers/locale.texi (locale.h): Likewise.
64664         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
64665         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
64666         * doc/posix-headers/string.texi (string.h): Likewise.
64667         * doc/posix-headers/time.texi (time.h): Likewise.
64668         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
64669         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
64671 2009-08-14  Eric Blake  <ebb9@byu.net>
64673         doc: improve git diff of texinfo files
64674         * .gitattributes: Add rule for *.texi files, with hint on how to
64675         use it.
64676         Copied from m4, and based on a report by Bruno Haible.
64678 2009-08-14  Bruno Haible  <bruno@clisp.org>
64680         Disable multithread support by default on Cygwin 1.5.x for real.
64681         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
64683 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
64685         update-copyright: much ado about intervals
64686         * build-aux/update-copyright: Implement and document
64687         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
64688         of copyright year intervals.
64689         Also, document UPDATE_COPYRIGHT_YEAR.
64690         * tests/test-update-copyright.sh: Test it.
64692         update-copyright: convert 2-digit to 4-digit years
64693         * build-aux/update-copyright: Implement and document.
64694         * tests/test-update-copyright.sh: Update.
64696 2009-08-14  Jim Meyering  <meyering@redhat.com>
64698         test-exclude: avoid coreutils "make check" failure
64699         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
64700         just as in test-argmatch.c.
64702 2009-08-13  Eric Blake  <ebb9@byu.net>
64704         test-dup2: fix bad assumption
64705         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
64706         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
64708         test-version-etc: fix CRLF portability issue
64709         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
64710         recognize \r.
64711         * tests/test-argp-version-etc-1.sh: Likewise.
64713         getopt: update client modules
64714         * modules/argp (Depends-on): Use getopt-gnu.
64715         * modules/git-merge-changelog (Depends-on): Likewise.
64716         * modules/long-options (Depends-on): Likewise.
64717         * modules/xstrtol (Depends-on): Likewise.
64719 2009-08-13  Simon Josefsson  <simon@josefsson.org>
64721         * tests/test-version-etc.sh: Don't fail on different
64722         project/version.  Don't fail on CRLF differences.  Rewrite to use
64723         multiple -e instead of multiple sed forks, suggested by Eric Blake
64724         <ebb9@byu.net>.
64725         * tests/test-argp-version-etc-1.sh: Likewise.
64727 2009-08-13  Simon Josefsson  <simon@josefsson.org>
64729         * tests/test-version-etc.sh: Don't fail on different
64730         project/version.
64732 2009-08-12  Bruno Haible  <bruno@clisp.org>
64734         Tests for modules 'getopt-posix', 'getopt-gnu'.
64735         * modules/getopt-posix-tests: New file.
64736         * tests/test-getopt.c: New file.
64737         * tests/test-getopt.h: New file.
64738         * tests/test-getopt_long.h: New file.
64740         New modules 'getopt-posix', 'getopt-gnu'.
64741         * modules/getopt-gnu: New file, renamed from modules/getopt.
64742         * modules/getopt-posix: New file.
64743         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
64744         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
64745         (gl_GETOPT): Remove macro.
64746         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
64747         Disable the test against BSD systems that declare optreset. Test
64748         against mingw bug. Test against lack of support of optional arguments
64749         on many platforms.
64750         * doc/glibc-headers/getopt.texi: Update module name and list of
64751         relevant platforms.
64752         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
64753         'getopt-gnu' and more portability problems.
64754         * NEWS: Mention the changes.
64756 2009-08-12  Bruno Haible  <bruno@clisp.org>
64758         Ensure that optarg etc. get declared by <unistd.h>.
64759         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
64760         AC_USE_SYSTEM_EXTENSIONS.
64761         * modules/getopt (Depends-on): Add 'extensions'.
64763 2009-08-12  Bruno Haible  <bruno@clisp.org>
64765         Avoid test link errors.
64766         * modules/pipe-filter-ii-tests (Makefile.am): Define
64767         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
64768         * modules/pipe-filter-gi-tests (Makefile.am): Define
64769         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
64770         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
64772 2009-08-12  Bruno Haible  <bruno@clisp.org>
64774         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
64775         gl_GETOPT_SUBSTITUTE before.
64776         (gl_GETOPT): Use it.
64777         * m4/argp.m4 (gl_ARGP): Update.
64778         Reported by Sergey Poznyakoff.
64780         * m4/getopt.m4: Reorder macros.
64781         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
64782         (gl_GETOPT_SUBSTITUTE): Remove macro.
64784 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
64786         Minor improvement in gitlog-to-changelog
64788         * build-aux/gitlog-to-changelog: New option `--format' makes
64789         output format string configurable.
64791 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
64793         Optimize exclude: use hash tables for non-wildcard patterns.
64795         * lib/exclude.c: Include hash.h and mbuiter.h
64796         (struct exclude_pattern, exclude_segment): New data types.
64797         (struct exclude): Rewrite.
64798         (fnmatch_pattern_has_wildcards): New function.
64799         (new_exclude_segment, free_exclude_segment): New functions.
64800         (excluded_file_pattern_p, excluded_file_name_p): New functions.
64801         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
64802         * lib/exclude.h (is_fnmatch_pattern): New prototype.
64803         * modules/exclude: Depend on hash and mbuiter.
64805         * modules/exclude-tests: New file.
64806         * tests/test-exclude.c: New file.
64807         * tests/test-exclude1.sh: New file.
64808         * tests/test-exclude2.sh: New file.
64809         * tests/test-exclude3.sh: New file.
64810         * tests/test-exclude4.sh: New file.
64811         * tests/test-exclude5.sh: New file.
64812         * tests/test-exclude6.sh: New file.
64813         * tests/test-exclude7.sh: New file.
64815 2009-08-12  Bruno Haible  <bruno@clisp.org>
64817         Ensure that getopt() gets declared by <unistd.h>.
64818         * lib/unistd.in.h: Conditionally include getopt.h.
64819         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
64820         Set GNULIB_UNISTD_H_GETOPT.
64821         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
64822         GNULIB_UNISTD_H_GETOPT.
64823         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
64825 2009-08-12  Bruno Haible  <bruno@clisp.org>
64827         Clarify logic.
64828         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
64829         gl_replace_getopt instead of GETOPT_H.
64831 2009-08-12  Bruno Haible  <bruno@clisp.org>
64833         * m4/getopt.m4: Add comments.
64835 2009-08-12  Bruno Haible  <bruno@clisp.org>
64837         Disable multithread support by default on Cygwin 1.5.x.
64838         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
64839         set gl_use_threads=no if not specified otherwise.
64841 2009-08-11  Bruno Haible  <bruno@clisp.org>
64843         Avoid compilation error on NetBSD 5.0.
64844         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
64845         * tests/test-stdio.c: Likewise.
64846         * tests/test-stdlib.c: Likewise.
64847         * tests/test-string.c: Likewise.
64848         * tests/test-unistd.c: Likewise.
64849         Reported by Greg Troxel <gdt@ir.bbn.com>
64850         at <https://savannah.gnu.org/support/?106973>.
64852 2009-08-11  Bruno Haible  <bruno@clisp.org>
64854         * modules/dup2-tests (Depends-on): Remove close.
64856         Undo 2009-07-19 commit.
64857         * modules/acl-tests (Depends-on): Remove close.
64858         * modules/binary-io-tests (Depends-on): Likewise.
64859         * modules/closein-tests (Depends-on): Likewise.
64860         * modules/flock-tests (Depends-on): Likewise.
64861         * modules/fsync-tests (Depends-on): Likewise.
64862         * modules/lseek-tests (Depends-on): Likewise.
64863         * modules/pipe-tests (Depends-on): Likewise.
64864         * modules/posix_spawn-tests (Depends-on): Likewise.
64865         * modules/posix_spawnp-tests (Depends-on): Likewise.
64866         * modules/stat-time-tests (Depends-on): Likewise.
64867         * modules/yesno-tests (Depends-on): Likewise.
64869 2009-08-10  Bruno Haible  <bruno@clisp.org>
64871         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
64873 2009-08-10  Bruno Haible  <bruno@clisp.org>
64875         Fix a gcc warning.
64876         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
64878 2009-08-10  Bruno Haible  <bruno@clisp.org>
64880         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
64881         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
64882         not only the first time.
64883         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
64884         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
64885         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
64886         is 1, not only the first time.
64888 2009-08-10  Bruno Haible  <bruno@clisp.org>
64890         Make it possible to use module 'gethostname' without module 'close'.
64891         * lib/unistd.in.h (close): Evoke a link error only if
64892         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
64893         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
64894         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
64895         * modules/unistd (Makefile.am): Substitute
64896         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
64897         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
64898         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
64899         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
64900         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
64901         * modules/sys_ioctl (Makefile.am): Substitute
64902         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
64903         * modules/socket (configure.ac): On native Windows, set
64904         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
64905         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
64906         Reported by Sam Steingold <sds@gnu.org>.
64908 2009-08-10  Bruno Haible  <bruno@clisp.org>
64910         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
64911         * modules/ioctl (configure.ac): Likewise.
64913 2009-08-10  Bruno Haible  <bruno@clisp.org>
64915         Avoid collision between gnulib wrapper and libintl wrapper.
64916         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
64917         already defined in intl/printf.c.
64918         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
64919         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
64921 2009-08-09  Bruno Haible  <bruno@clisp.org>
64923         Make <sys/select.h> really self-contained, also on Solaris 10.
64924         * lib/sys_select.in.h: Include <string.h>.
64925         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
64926         Solaris 10 problem.
64927         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
64928         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
64929         Reported by Jim Meyering.
64931 2009-08-09  Bruno Haible  <bruno@clisp.org>
64933         Avoid warnings from 'aclocal' that are due to a use of macro name
64934         AM_XGETTEXT_OPTION that is not defined in automake.
64935         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
64936         automake.
64937         * modules/error (configure.ac): Likewise.
64938         * modules/propername (configure.ac): Likewise.
64939         * modules/vasprintf (configure.ac): Likewise.
64940         * modules/verror (configure.ac): Likewise.
64941         * modules/xprintf (configure.ac): Likewise.
64942         * modules/xvasprintf (configure.ac): Likewise.
64944 2009-08-08  Bruno Haible  <bruno@clisp.org>
64946         Avoid compilation error in C++ mode.
64947         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
64948         Reported by Sam Steingold <sds@gnu.org>.
64950 2009-08-08  Bruno Haible  <bruno@clisp.org>
64952         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
64953         for the various Unix platforms.
64954         * doc/posix-headers/limits.texi: Update platforms list regarding
64955         HOST_NAME_MAX.
64956         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
64958 2009-08-07  Jim Meyering  <meyering@redhat.com>
64960         selinux-at: fix typo in a comment
64961         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
64962         Spotted by Paolo Bonzini.
64964         selinux-at: remove redundant m4 code, add documentation
64965         * modules/selinux-at (configure.ac): Remove redundant code.
64966         LIB_SELINUX is already set via the dependent module, selinux-h.
64967         (Include): Add quotes around selinux-at.h.
64968         * lib/selinux-at.h: Add documentation.
64969         Reported by Bruno Haible in
64970         http://marc.info/?l=gnulib-bug&m=124958988300749
64972 2009-08-07  Bruno Haible  <bruno@clisp.org>
64974         Avoid link error on MacOS X 10.3 and 10.4.
64975         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
64976         on non-ELF systems.
64977         * lib/argp-pv.c (argp_program_version): Likewise.
64978         Reported by Simon Josefsson.
64980 2009-08-07  Simon Josefsson  <simon@josefsson.org>
64982         * tests/test-version-etc.sh: Use $EXEEXT.
64984 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
64986         update-copyright: update documentation to point to maint.mk
64987         * build-aux/update-copyright: Here.
64989 2009-08-06  Jim Meyering  <meyering@redhat.com>
64991         maint.mk: support update-copyright-local
64992         * top/maint.mk (update-copyright-local): Define place-holder.
64993         (update-copyright): Depend on $(update-copyright-local).
64995 2009-08-06  Jim Meyering  <meyering@redhat.com>
64997         selinux-at: new module
64998         Initially written for coreutils, this module will soon be
64999         used by findutils, too.
65000         * MODULES.html.sh [Misc]: Add selinux-at.
65001         * lib/selinux-at.h: New file, from coreutils.
65002         * lib/selinux-at.c: Likewise.
65003         * modules/selinux-at: Likewise.
65004         (License): Change from LGPL to GPL, since it depends
65005         on the GPL'd openat module.
65007         doc: update README
65008         * README: Remove references to cogito.
65009         Remove cvs-repo-updating instructions from 2007.
65010         Don't imply that CVS is better if you have limited disk space.
65012 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
65014         update-copyright: support C-style comments
65015         * build-aux/update-copyright: Implement and document.
65016         * tests/test-update-copyright.sh: Test.
65018 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
65020         update-copyright: support omitted "(C)"
65021         * build-aux/update-copyright: Implement and document.  Also,
65022         allow variable whitespace before "(C)".
65023         * tests/test-update-copyright.sh: Test.
65025 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
65027         update-copyright: don't trip on non-FSF copyright statements
65028         * build-aux/update-copyright: Fix so that the first correctly
65029         formatted FSF copyright statement is recognized no matter what
65030         appears before it.  Update documentation.
65031         * tests/test-update-copyright.sh: Test that.
65033 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
65035         update-copyright: clean up code a little
65036         * build-aux/update-copyright: Append "_re" to the name of any
65037         variable holding a regular expression.
65038         Replace "old" and "new" with "stmt" in variable names.
65039         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
65040         handled correctly.
65041         Format code more consistently.
65043 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
65045         update-copyright-tests: improve portability
65046         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
65047         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
65049 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
65051         update-copyright: support @copyright{} and &copy;
65052         * build-aux/update-copyright: Implement and document.
65053         * tests/test-update-copyright.sh: Test.
65055 2009-08-04  Jim Meyering  <meyering@redhat.com>
65057         update-copyright-tests: correctly test EOL=\r\n handling
65058         * tests/test-update-copyright.sh: Put \r at the end of some lines
65059         for the dos-eol tests.  Based on a patch by Joel E. Denny.
65061         maint.mk: make update-copyright exclusion list more configurable
65062         * top/maint.mk (update-copyright): Default to excluding COPYING,
65063         but allow an override, in case someone does want to update that file.
65065         maint.mk: don't update copyright date in COPYING
65066         * top/maint.mk (update-copyright): Exclude COPYING.
65068         maint.mk: add a copyright-updating rule
65069         * top/maint.mk (update-copyright): New rule.
65070         Derived from coreutils/Makefile.am.
65072         update-copyright: rename some variables
65073         * build-aux/update-copyright: Rename a few variables for clarity.
65074         Tweak syntax.  List Joel E. Denny as coauthor.
65076 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
65078         update-copyright: fix bug for 2-digit last year and add tests
65079         * build-aux/update-copyright: Fix bug.
65080         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
65081         specified.
65082         * modules/update-copyright-tests: New
65083         * tests/test-update-copyright.sh: New.
65085 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
65087         update-copyright: handle leading tabs in line prefix
65088         * build-aux/update-copyright: Count leading tabs as 8 spaces
65089         when computing margin.  This helps with the formatting of
65090         ChangeLogs, for example.
65091         Fix documentation a little.
65093 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
65095         update-copyright: support EOL=\r\n
65096         * build-aux/update-copyright: Implement that.
65098 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
65100         update-copyright: automatically format copyright statements
65101         * build-aux/update-copyright: Implement that.
65102         Also, be a little more predictable and safer by always failing
65103         when the full copyright format is not perfectly recognized as an
65104         unbroken whole.  Discussed at
65105         <http://lists.gnu.org/r/bug-gnulib/2009-07/msg00131.html>.
65106         Rewrite documentation.
65108 2009-08-03  Bruno Haible  <bruno@clisp.org>
65110         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
65112 2009-08-02  Bruno Haible  <bruno@clisp.org>
65114         Tests for module 'uname'.
65115         * modules/uname-tests: New file.
65116         * tests/test-uname.c: New file.
65118         New module 'uname'.
65119         * lib/uname.c: New file.
65120         * m4/uname.m4: New file.
65121         * modules/uname: New file.
65122         * doc/posix-functions/uname.texi: Mention the new module.
65124 2009-08-02  Bruno Haible  <bruno@clisp.org>
65126         Tests for module 'sys_utsname'.
65127         * modules/sys_utsname-tests: New file.
65128         * tests/test-sys_utsname.c: New file.
65130         New module 'sys_utsname'.
65131         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
65132         * m4/sys_utsname_h.m4: New file.
65133         * modules/sys_utsname: New file.
65134         * doc/posix-headers/sys_utsname.texi: Mention the new module.
65136 2009-08-02  Bruno Haible  <bruno@clisp.org>
65138         Implicitly initialize the sockets library.
65139         * lib/gethostname.c: Include sockets.h.
65140         (rpl_gethostname): Invoke gl_sockets_startup.
65141         * lib/socket.c: Include sockets.h.
65142         (rpl_socket): Invoke gl_sockets_startup.
65143         * modules/gethostname (Depends-on): Add sockets.
65144         * modules/socket (Depends-on): Likewise.
65145         * tests/test-poll.c: Don't include sockets.h.
65146         (main): Don't invoke gl_sockets_startup.
65147         * tests/test-select.c: Don't include sockets.h.
65148         (main): Don't invoke gl_sockets_startup.
65150 2009-08-02  Bruno Haible  <bruno@clisp.org>
65152         Allow multiple calls to gl_sockets_startup.
65153         * lib/sockets.c (initialized_sockets_version): New variable.
65154         (gl_sockets_startup): Do nothing if already called for this or a higher
65155         version.
65156         (gl_sockets_cleanup): Reset initialized_sockets_version.
65158 2009-08-03  Simon Josefsson  <simon@josefsson.org>
65160         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
65161         different project/version.
65163 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
65164             Bruno Haible  <bruno@clisp.org>
65166         Tests for module 'pipe-filter-gi'.
65167         * modules/pipe-filter-gi-tests: New file.
65168         * tests/test-pipe-filter-gi1.sh: New file.
65169         * tests/test-pipe-filter-gi1.c: New file.
65170         * tests/test-pipe-filter-gi2.sh: New file.
65171         * tests/test-pipe-filter-gi2-main.c: New file.
65172         * tests/test-pipe-filter-gi2-child.c: New file.
65174         New module 'pipe-filter-gi'.
65175         * lib/pipe-filter-gi.c: New file.
65176         * modules/pipe-filter-gi: New file.
65178 2009-08-02  Bruno Haible  <bruno@clisp.org>
65179             Paolo Bonzini  <bonzini@gnu.org>
65181         Tests for module 'pipe-filter-ii'.
65182         * modules/pipe-filter-ii-tests: New file.
65183         * tests/test-pipe-filter-ii1.sh: New file.
65184         * tests/test-pipe-filter-ii1.c: New file.
65185         * tests/test-pipe-filter-ii2.sh: New file.
65186         * tests/test-pipe-filter-ii2-main.c: New file.
65187         * tests/test-pipe-filter-ii2-child.c: New file.
65189         New module 'pipe-filter-ii'.
65190         * lib/pipe-filter.h: New file.
65191         * lib/pipe-filter-ii.c: New file.
65192         * lib/pipe-filter-aux.h: New file.
65193         * modules/pipe-filter-ii: New file.
65195 2009-08-02  Simon Josefsson  <simon@josefsson.org>
65197         * lib/gc-libgcrypt.c: Change copyright to FSF.
65198         * lib/gc-gnulib.c: Likewise.
65200 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
65202         * lib/gethostname.c: Include limits.h.
65204 2009-08-02  Simon Josefsson  <simon@josefsson.org>
65205             Bruno Haible  <bruno@clisp.org>
65207         Ensure HOST_NAME_MAX as part of the gethostname module.
65208         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
65209         define also HOST_NAME_MAX.
65210         * tests/test-gethostname.c: Include <limits.h>.
65211         (main): Check also HOST_NAME_MAX.
65212         * doc/posix-headers/limits.texi: Document the mingw problem.
65214 2009-08-02  Bruno Haible  <bruno@clisp.org>
65216         * lib/gethostname.c (gethostname): Fix handling of large len argument.
65217         Add comments.
65219 2009-03-31  Simon Josefsson  <simon@josefsson.org>
65221         * lib/gethostname.c: Add Windows wrapper.
65222         * m4/gethostname.m4: Look for gethostname in -lws2_32.
65223         * modules/gethostname: Depend on sys_socket & errno, for also
65224         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
65225         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
65227 2009-07-31  Jim Meyering  <meyering@redhat.com>
65229         getloadavg: fix symbol name in comment
65230         * lib/getloadavg.c: Correct a typo I introduced when adding
65231         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
65232         Matt Kraai spotted the problem.
65234 2009-07-29  Matt Kraai  <mkraai@beckman.com>
65236         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
65237         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
65238         code also if ! defined N_NAME_POINTER.
65239         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
65240         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
65241         but the n_name member is a 12-byte array.
65243 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
65245         update-copyright: generalize comment handling
65246         * build-aux/update-copyright: Handle copyright statements
65247         within more comment styles.
65248         Document usage.
65249         Report any file with an external copyright holder or parse failure.
65251 2009-07-29  Jim Meyering  <meyering@redhat.com>
65253         mktime: correct setting of REPLACE_MKTIME
65254         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
65256         update-copyright: new module
65257         * modules/update-copyright: New file.
65258         * build-aux/update-copyright: New file.
65259         * MODULES.html.sh (maint+release support): Add update-copyright.
65261 2009-07-27  Bruno Haible  <bruno@clisp.org>
65263         Fix compilation error when <ctime> is used and mktime is replaced.
65264         * lib/time.in.h (mktime): New declaration.
65265         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
65266         REPLACE_MKTIME instead of defining mktime in config.h.
65267         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
65268         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
65269         Reported by Ross McFarland <rwmcfa1@neces.com>.
65271 2009-07-27  Bruno Haible  <bruno@clisp.org>
65273         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
65274         Reported by Matt Kraai <mkraai@beckman.com>.
65276 2009-07-25  Jim Meyering  <meyering@redhat.com>
65278         maint.mk: avoid warnings about missing files
65279         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
65280         diagnostic when .prev-version does not exist.
65281         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
65282         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
65283         nonexistent cfg.mk.
65284         Suggestions from Simon Josefsson.
65286 2009-07-25  Bruno Haible  <bruno@clisp.org>
65288         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
65289         defined as macros. Needed on QNX 6.4.1.
65290         Reported by Matt Kraai <mkraai@beckman.com>.
65292 2009-07-23  Jim Meyering  <meyering@redhat.com>
65294         maint.mk: invoke "make dist" with a working value of XZ_OPT
65295         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
65297 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
65299         Make fseeko.c compile on QNX.
65300         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
65302 2009-07-22  Peter Simons  <simons@cryp.to>
65304         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
65305         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
65306         * lib/md4.h: Likewise.
65307         * lib/md5.h: Likewise.
65308         * lib/sha1.h: Likewise.
65309         * lib/sha256.h: Likewise.
65310         * lib/sha512.h: Likewise.
65312         tests-sha1: don't assign literal string to 'char *' variable
65313         * tests/test-sha1.c (main): Declare locals with "const" to match
65314         attributes of the right hand side.
65316 2009-07-21  Eric Blake  <ebb9@byu.net>
65318         dup2: fix more mingw problems
65319         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
65320         fd to itself.
65321         * doc/posix-functions/dup2.texi (dup2): Document the bug.
65322         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
65323         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
65324         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
65325         care of mingw bugs.
65327 2009-07-21  Jim Meyering  <meyering@redhat.com>
65329         vc-list-files: avoid failure when /bin/sh is dash
65330         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
65331         On some Debian based systems, /bin/sh is a symlink to dash, and running
65332         this command would omit the "/" following each 'tests' prefix:
65333           dash -x build-aux/vc-list-files -C . tests
65334         That is because bash and dash work differently:
65335           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
65336           bash ok
65337           dash odd
65339 2009-07-21  Eric Blake  <ebb9@byu.net>
65341         dup2-tests: test previous patch
65342         * modules/dup2-tests: New file.
65343         * tests/test-dup2.c: Likewise.
65344         * tests/test-open.c (main): Avoid unspecified behavior.
65345         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
65346         test.
65348         dup2: work around mingw and cygwin 1.5 bug
65349         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
65350         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
65351         * modules/unistd (Makefile.am): Substitute it.
65352         * lib/unistd.in.h (dup2): Declare the replacement.
65353         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
65354         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
65355         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
65356         * modules/execute (Depends-on): Add dup2.
65357         * modules/fseterr (Depends-on): Likewise.
65358         * modules/pipe (Depends-on): Likewise.
65359         * modules/posix_spawn-internal (Depends-on): Likewise.
65361 2009-07-21  Bruno Haible  <bruno@clisp.org>
65363         * modules/.gitattributes: New file.
65365 2009-07-20  Bruno Haible  <bruno@clisp.org>
65367         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
65368         (main): Use it.
65370 2009-07-20  Eric Blake  <ebb9@byu.net>
65372         test-pipe: make a bit more robust.
65373         * tests/test-pipe.c (myerr): Allow error messages regardless of
65374         what we do to stderr.
65375         (test_pipe): Rearrange to avoid deadlock.
65376         (child_main): Try a larger read, to ensure we avoided deadlock.
65377         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
65378         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
65379         if misused.
65381 2009-07-19  Jim Meyering  <meyering@redhat.com>
65383         fts: avoid false-positive cycle-detection
65384         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
65385         for each new command line argument.
65387 2009-07-19  Bruno Haible  <bruno@clisp.org>
65389         Fix build error on mingw with the modules sys_select and unistd.
65390         * modules/acl-tests (Depends-on): Add close.
65391         * modules/binary-io-tests (Depends-on): Likewise.
65392         * modules/closein-tests (Depends-on): Likewise.
65393         * modules/flock-tests (Depends-on): Likewise.
65394         * modules/fsync-tests (Depends-on): Likewise.
65395         * modules/lseek-tests (Depends-on): Likewise.
65396         * modules/pipe-tests (Depends-on): Likewise.
65397         * modules/posix_spawn-tests (Depends-on): Likewise.
65398         * modules/posix_spawnp-tests (Depends-on): Likewise.
65399         * modules/stat-time-tests (Depends-on): Likewise.
65400         * modules/yesno-tests (Depends-on): Likewise.
65402 2009-07-19  Bruno Haible  <bruno@clisp.org>
65404         Unify conditionals.
65405         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
65406         macros, not at the compiler macros.
65407         * lib/pipe.c: Likewise.
65408         * lib/execute.c: Likewise.
65409         * lib/spawni.c: Likewise.
65411 2009-07-19  Bruno Haible  <bruno@clisp.org>
65413         Fix handling of closed stdin/stdout/stderr on mingw.
65414         * lib/w32spawn.h: Include unistd.h.
65415         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
65416         file descriptor with O_NOINHERIT flag.
65417         (fd_safer_noinherit): New function, based on fd-safer.c.
65418         (dup_safer_noinherit): New function, based on dup-safer.c.
65419         (undup_safer_noinherit): New function.
65420         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
65421         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
65422         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
65423         instead of fd_safer.
65424         * tests/test-pipe.c: Include <windows.h>.
65425         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
65426         result.
65428         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
65429         from main.
65430         (test_pipe): Pass an extra argument for disambiguation.
65431         (main): Invoke parent_main or child_main.
65433         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
65434         consistently.
65436 2009-07-18  Eric Blake  <ebb9@byu.net>
65438         test-pipe: fix mingw build
65439         * tests/test-pipe.c (main): Avoid fcntl on mingw.
65441 2009-07-18  Bruno Haible  <bruno@clisp.org>
65443         * modules/pipe-tests (Makefile.am): Fix typo.
65445 2009-07-18  Eric Blake  <ebb9@byu.net>
65447         error: fix mingw build
65448         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
65449         Reported by Bruno Haible.
65451         error: avoid undefined use of stdout
65452         * lib/error.c (error, error_at_line): Check that fd 1 is open
65453         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
65454         is handling faults and the close_stdout module wants to report the
65455         detection of closed stdout as an error.
65457 2009-07-17  Eric Blake  <ebb9@byu.net>
65459         pipe: be robust in face of closed fds
65460         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
65461         should cause child to misbehave.
65462         * modules/pipe-tests: New module.
65463         * tests/test-pipe.c: New file.
65464         * tests/test-pipe.sh: New file.
65465         Reported by Akim Demaille.
65467 2009-07-14  Bruno Haible  <bruno@clisp.org>
65469         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
65470         Reported by anonymous kc.
65472 2009-07-07  Jim Meyering  <meyering@redhat.com>
65474         maint.mk: don't look for translatable strings in *.m4 or *.mk
65475         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
65476         when searching for translatable strings.
65478 2009-07-05  Jim Meyering  <meyering@redhat.com>
65480         remove superfluous parentheses in STREQ definition
65481         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
65482         * lib/getugroups.c (STREQ): Likewise.
65483         * lib/fnmatch.c (STREQ): Likewise.
65484         Spotted by Bruno Haible.
65486 2009-07-04  Jim Meyering  <meyering@redhat.com>
65488         argv-iter: new module
65489         * MODULES.html.sh: Add argv-iter.
65490         * lib/argv-iter.c, lib/argv-iter.h: New files.
65491         * modules/argv-iter: New file.
65492         * modules/argv-iter-tests: New file.
65493         * tests/test-argv-iter.c: Test it.
65495 2009-07-04  Bruno Haible  <bruno@clisp.org>
65497         Fix assertion.
65498         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
65499         contains more exact copies of a given entry than file2, leave the extra
65500         copies unpaired rather than aborting.
65501         Reported by Eric Blake.
65503 2009-07-02  Bruno Haible  <bruno@clisp.org>
65505         Speedup git-merge-changelog for git cherry-pick.
65506         * lib/git-merge-changelog.c (struct entries_mapping): New type.
65507         (entries_mapping_get): New function, extracted from compute_mapping.
65508         (entries_mapping_reverse_get): New function.
65509         (compute_mapping): Add a 'full' argument. Return the result in a
65510         'struct entries_mapping'.
65511         (main): Update. Access the mappings through entries_mapping_get.
65512         Reported by Eric Blake.
65514 2009-07-02  Bruno Haible  <bruno@clisp.org>
65516         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
65517         best_i.
65519 2009-07-02  Bruno Haible  <bruno@clisp.org>
65521         Speed up approximate search for matching ChangeLog entries.
65522         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
65523         argument. Call fstrcmp_bounded instead of fstrcmp.
65524         (compute_mapping, try_split_merged_entry, main): Update callers.
65526 2009-07-02  Bruno Haible  <bruno@clisp.org>
65528         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
65530 2009-06-30  Bruno Haible  <bruno@clisp.org>
65532         Reduce the number of uc_is_cased calls.
65533         * lib/unicase.h (casing_suffix_context_t): Add
65534         'first_char_except_ignorable' field.
65535         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
65536         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
65537         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
65538         Update initializer.
65539         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
65540         case-ignorable characters.
65541         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
65542         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
65543         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
65544         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
65545         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
65547 2009-06-30  Bruno Haible  <bruno@clisp.org>
65549         Tests for module 'unicase/ignorable'.
65550         * modules/unicase/ignorable-tests: New file.
65551         * tests/unicase/test-ignorable.c: New file, generated by
65552         gen-uni-tables.
65554         Tests for module 'unicase/cased'.
65555         * modules/unicase/cased-tests: New file.
65556         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
65557         * tests/unicase/test-predicate-part1.h: New file, derived from
65558         tests/unictype/test-predicate-part1.h.
65559         * tests/unicase/test-predicate-part2.h: New file, same as
65560         tests/unictype/test-predicate-part2.h.
65562         Fix evaluation of "Before C" condition of FINAL_SIGMA.
65563         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
65564         (output_casing_properties): New function.
65565         (main): Call it.
65566         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
65567         * lib/unicase/cased.c: Include unictype/bitmap.h.
65568         (uc_is_cased): Define through a bitmap lookup.
65569         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
65570         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
65571         (uc_is_case_ignorable): Define through a bitmap lookup.
65572         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
65573         lib/unictype/bitmap.h.
65574         (Depends-on): Add inline. Clean up.
65575         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
65576         lib/unictype/bitmap.h.
65577         (Depends-on): Add inline. Clean up.
65578         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
65579         recognition.
65580         * tests/unicase/test-u16-tolower.c (main): Likewise.
65581         * tests/unicase/test-u32-tolower.c (main): Likewise.
65583 2009-06-30  Bruno Haible  <bruno@clisp.org>
65585         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
65586         * lib/unicase/u16-casemap.c: Likewise.
65587         * lib/unicase/u32-casemap.c: Likewise.
65589 2009-06-29  Bruno Haible  <bruno@clisp.org>
65591         Define u32_casefold as a wrapper around u32_ct_casefold.
65592         * lib/unicase/u32-casefold.c: Update.
65593         * modules/unicase/u32-casefold (Depends-on): Add
65594         unicase/u32-ct-casefold, unicase/empty-prefix-context,
65595         unicase/empty-suffix-context. Clean up.
65597         Define u16_casefold as a wrapper around u16_ct_casefold.
65598         * lib/unicase/u16-casefold.c: Update.
65599         * modules/unicase/u16-casefold (Depends-on): Add
65600         unicase/u16-ct-casefold, unicase/empty-prefix-context,
65601         unicase/empty-suffix-context. Clean up.
65603         Define u8_casefold as a wrapper around u8_ct_casefold.
65604         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
65605         * lib/unicase/u8-casefold.c: Update.
65606         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
65607         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
65609         Define u32_totitle as a wrapper around u32_ct_totitle.
65610         * lib/unicase/u32-totitle.c: Update.
65611         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
65612         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
65614         Define u16_totitle as a wrapper around u16_ct_totitle.
65615         * lib/unicase/u16-totitle.c: Update.
65616         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
65617         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
65619         Define u8_totitle as a wrapper around u8_ct_totitle.
65620         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
65621         functions.
65622         (FUNC): Delegate to U_CT_TOTITLE.
65623         * lib/unicase/u8-totitle.c: Update.
65624         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
65625         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
65627         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
65628         invocation.
65629         * modules/unicase/u32-tolower (Depends-on): Add
65630         unicase/empty-prefix-context, unicase/empty-suffix-context.
65632         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
65633         invocation.
65634         * modules/unicase/u16-tolower (Depends-on): Add
65635         unicase/empty-prefix-context, unicase/empty-suffix-context.
65637         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
65638         * modules/unicase/u8-tolower (Depends-on): Add
65639         unicase/empty-prefix-context, unicase/empty-suffix-context.
65641         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
65642         invocation.
65643         * modules/unicase/u32-toupper (Depends-on): Add
65644         unicase/empty-prefix-context, unicase/empty-suffix-context.
65646         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
65647         invocation.
65648         * modules/unicase/u16-toupper (Depends-on): Add
65649         unicase/empty-prefix-context, unicase/empty-suffix-context.
65651         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
65652         * modules/unicase/u8-toupper (Depends-on): Add
65653         unicase/empty-prefix-context, unicase/empty-suffix-context.
65655         New module 'unicase/u32-ct-casefold'.
65656         * lib/unicase/u32-ct-casefold.c: New file.
65657         * modules/unicase/u32-ct-casefold: New file.
65659         New module 'unicase/u16-ct-casefold'.
65660         * lib/unicase/u16-ct-casefold.c: New file.
65661         * modules/unicase/u16-ct-casefold: New file.
65663         New module 'unicase/u8-ct-casefold'.
65664         * lib/unicase/u8-ct-casefold.c: New file.
65665         * lib/unicase/u-ct-casefold.h: New file, derived from
65666         lib/unicase/u-casefold.h.
65667         * modules/unicase/u8-ct-casefold: New file.
65669         New module 'unicase/u32-ct-totitle'.
65670         * lib/unicase/u32-ct-totitle.c: New file.
65671         * modules/unicase/u32-ct-totitle: New file.
65673         New module 'unicase/u16-ct-totitle'.
65674         * lib/unicase/u16-ct-totitle.c: New file.
65675         * modules/unicase/u16-ct-totitle: New file.
65677         New module 'unicase/u8-ct-totitle'.
65678         * lib/unicase/u8-ct-totitle.c: New file.
65679         * lib/unicase/u-ct-totitle.h: New file, derived from
65680         lib/unicase/u-totitle.h.
65681         * modules/unicase/u8-ct-totitle: New file.
65683         New module 'unicase/u32-ct-tolower'.
65684         * lib/unicase/u32-ct-tolower.c: New file.
65685         * modules/unicase/u32-ct-tolower: New file.
65687         New module 'unicase/u16-ct-tolower'.
65688         * lib/unicase/u16-ct-tolower.c: New file.
65689         * modules/unicase/u16-ct-tolower: New file.
65691         New module 'unicase/u8-ct-tolower'.
65692         * lib/unicase/u8-ct-tolower.c: New file.
65693         * modules/unicase/u8-ct-tolower: New file.
65695         New module 'unicase/u32-ct-toupper'.
65696         * lib/unicase/u32-ct-toupper.c: New file.
65697         * modules/unicase/u32-ct-toupper: New file.
65699         New module 'unicase/u16-ct-toupper'.
65700         * lib/unicase/u16-ct-toupper.c: New file.
65701         * modules/unicase/u16-ct-toupper: New file.
65703         New module 'unicase/u8-ct-toupper'.
65704         * lib/unicase/u8-ct-toupper.c: New file.
65705         * modules/unicase/u8-ct-toupper: New file.
65707         Add context arguments to u*_casemap functions.
65708         * lib/unicase/unicasemap.h: Include unicase.h.
65709         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
65710         suffix_context arguments.
65711         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
65712         functions.
65713         (FUNC): Add prefix_context and suffix_context arguments. Use
65714         uc_is_cased and uc_is_case_ignorable.
65715         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
65716         * lib/unicase/u16-casemap.c: Likewise.
65717         * lib/unicase/u32-casemap.c: Likewise.
65718         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
65719         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
65720         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
65721         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
65722         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
65723         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
65725         New module 'unicase/u32-suffix-context'.
65726         * lib/unicase/u32-suffix-context.c: New file.
65727         * modules/unicase/u32-suffix-context: New file.
65729         New module 'unicase/u16-suffix-context'.
65730         * lib/unicase/u16-suffix-context.c: New file.
65731         * modules/unicase/u16-suffix-context: New file.
65733         New module 'unicase/u8-suffix-context'.
65734         * lib/unicase/u8-suffix-context.c: New file.
65735         * lib/unicase/u-suffix-context.h: New file.
65736         * modules/unicase/u8-suffix-context: New file.
65738         New module 'unicase/empty-suffix-context'.
65739         * lib/unicase/empty-suffix-context.c: New file.
65740         * modules/unicase/empty-suffix-context: New file.
65742         New module 'unicase/u32-prefix-context'.
65743         * lib/unicase/u32-prefix-context.c: New file.
65744         * modules/unicase/u32-prefix-context: New file.
65746         New module 'unicase/u16-prefix-context'.
65747         * lib/unicase/u16-prefix-context.c: New file.
65748         * modules/unicase/u16-prefix-context: New file.
65750         New module 'unicase/u8-prefix-context'.
65751         * lib/unicase/u8-prefix-context.c: New file.
65752         * lib/unicase/u-prefix-context.h: New file.
65753         * lib/unicase/context.h: New file.
65754         * modules/unicase/u8-prefix-context: New file.
65756         New module 'unicase/empty-prefix-context'.
65757         * lib/unicase/empty-prefix-context.c: New file.
65758         * modules/unicase/empty-prefix-context: New file.
65760         New module 'unicase/ignorable'.
65761         * lib/unicase/ignorable.c: New file.
65762         * modules/unicase/ignorable: New file.
65764         New module 'unicase/cased'.
65765         * lib/unicase/caseprop.h: New file.
65766         * lib/unicase/cased.c: New file.
65767         * modules/unicase/cased: New file.
65769         New functions for case mapping of substrings.
65770         * lib/unicase.h (casing_prefix_context_t): New type.
65771         (unicase_empty_prefix_context): New variable.
65772         (u8_casing_prefix_context, u16_casing_prefix_context,
65773         u32_casing_prefix_context, u8_casing_prefixes_context,
65774         u16_casing_prefixes_context, u32_casing_prefixes_context): New
65775         declarations.
65776         (casing_suffix_context_t): New type.
65777         (unicase_empty_suffix_context): New variable.
65778         (u8_casing_suffix_context, u16_casing_suffix_context,
65779         u32_casing_suffix_context, u8_casing_suffixes_context,
65780         u16_casing_suffixes_context, u32_casing_suffixes_context,
65781         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
65782         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
65783         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
65784         declarations.
65786 2009-06-28  Jim Meyering  <meyering@redhat.com>
65788         boostrap: indent only with spaces
65789         * build-aux/bootstrap: Indent only with spaces, never TABs.
65791         bootstrap: split long lines
65792         * build-aux/bootstrap: Keep line length < 80.
65794         bootstrap: sync from coreutils
65795         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
65796         just as autoreconf does.  Verify a list of prerequisite
65797         package-name,version-number pairs if defined in bootstrap.conf.
65798         Refer to README-prereq, if prerequisites are not satisfied.
65800 2009-06-27  Eric Blake  <ebb9@byu.net>
65802         tests: add test for bogus NULL definition
65803         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
65804         * tests/test-stdlib.c: Likewise.
65805         * tests/test-string.c: Likewise.
65806         * tests/test-locale.c: Likewise.
65807         * tests/test-unistd.c: Likewise.
65808         * modules/stdio-tests (Depends-on): Add verify.
65809         * modules/stdlib-tests (Depends-on): Likewise.
65810         * modules/string-tests (Depends-on): Likewise.
65811         * modules/locale-tests (Depends-on): Likewise.
65812         * modules/unistd-tests (Depends-on): Likewise.
65814 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
65816         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
65817         self-explaining comment.
65818         * m4/selinux-selinux-h: Update serial.
65819         (gl_LIBSELINUX): New macro, adding a warning for missing development
65820         packages to code extracted from...
65821         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
65822         Add warning for missing development packages here, too.
65824 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
65826         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
65828 2009-06-25  Eric Blake  <ebb9@byu.net>
65830         version-etc: fix regression
65831         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
65832         gcc.
65833         (version_etc): Use it, to catch bugs with trailing NULL.
65834         * lib/version-etc.c (version_etc_arn): Delete unused argument.
65835         (version_etc_va): Fix logic bug.
65836         * modules/version-etc-tests: Add test.
65837         * tests/test-version-etc.c: New file.
65838         * tests/test-version-etc.sh: Likewise.
65840 2009-06-25  Sam Steingold  <sds@gnu.org>
65842         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
65843         mbtowc declaration.
65845 2009-06-25  Eric Blake  <ebb9@byu.net>
65847         fpurge: migrate into <stdio.h>
65848         * lib/fpurge.h: Delete...
65849         * lib/stdio.in.h (fpurge): ...and declare here, instead.
65850         * lib/fpurge.c (fpurge): Change declaring header.
65851         * modules/fpurge (Files): Drop deleted file.
65852         (Depends-on): Add stdio.
65853         (configure.ac): Set witness.
65854         * modules/stdio (Makefile.am): Support fpurge macros.
65855         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
65856         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
65857         * lib/fflush.c: Update client.
65858         * tests/test-fpurge.c: Likewise.
65859         * NEWS: Mention the change.
65861 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
65863         * lib/argp-version-etc.c (program_authors): Add const
65864         qualifier.
65865         * lib/version-etc.c: Fix typos in the comments.
65866         * modules/argp-version-etc: Depends on version-etc.
65868 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
65870         argp-version-etc: new module.
65872         * lib/argp-version-etc.c: New file.
65873         * lib/argp-version-etc.h: New file.
65874         * modules/argp-version-etc: New file.
65875         * modules/argp-version-etc-tests: New file.
65876         * tests/test-argp-version-etc.c: New test.
65877         * tests/test-argp-version-etc-1.sh: New test.
65879 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
65881         Provide additional interfaces and documentation for version-etc
65882         module.
65884         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
65885         interfaces.
65886         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
65887         prototypes.
65889 2009-06-24  Bruno Haible  <bruno@clisp.org>
65891         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
65892         HAVE_LIB${NAME} macro.
65893         Reported by Sam Steingold <sds@gnu.org>.
65895 2009-06-23  Simon Josefsson  <simon@josefsson.org>
65897         * modules/hash-tests (test_hash_LDADD): Link to libintl when
65898         needed.
65900 2009-06-21  Bruno Haible  <bruno@clisp.org>
65902         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
65903         work.
65904         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
65905         together with LIB${NAME}, LTLIB${NAME}.
65906         Reported by Sam Steingold <sds@gnu.org>.
65908 2009-06-20  Jim Meyering  <meyering@redhat.com>
65910         tests: make sc_require_test_exit_idiom more generic
65911         * top/maint.mk (Exit_witness_file): New overridable variable.
65912         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
65913         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
65915 2009-06-19  Jim Meyering  <meyering@redhat.com>
65917         hash: reverse order of src/dst parameters in an internal interface
65918         * lib/hash.c (transfer_entries): Reverse order of parameters to
65919         put DST before SRC.  Adjust callers.
65921         tests: test-hash: avoid wholesale duplication
65922         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
65923         Instead, use a loop and add a single conditional.
65925         tests: test-hash: allow seed selection via a command line argument
65926         * tests/test-hash.c (get_seed): New function.
65927         (main): Use it.
65929 2009-06-19  Eric Blake  <ebb9@byu.net>
65931         hash: avoid memory leak on allocation failure
65932         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
65933         failure.  Factor repeated algorithm...
65934         (transfer_entries): ...into new helper routine.
65935         (hash_delete): React to hash_rehash return value.
65937         hash: reduce memory pressure in hash_rehash no-op case
65938         * lib/hash.c (next_prime): Avoid overflow.
65939         (hash_initialize): Factor bucket size computation...
65940         (compute_bucket_size): ...into new helper function.
65941         (hash_rehash): Use new function and open coding to reduce memory
65942         pressure, and avoid a memory leak in USE_OBSTACK code.
65943         Reported by Jim Meyering.
65945 2009-06-18  Eric Blake  <ebb9@byu.net>
65947         hash: make rotation more obvious
65948         * modules/hash (Depends-on): Add bitrotate and stdint.
65949         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
65950         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
65951         (SIZE_MAX): Rely on headers for definition.
65952         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
65953         (raw_hasher): Use rotr_sz.
65954         Suggested by Jim Meyering.
65956         hash: fix memory leak in last patch
65957         * lib/hash.c (hash_rehash): Avoid memory leak.
65959         hash: avoid no-op rehashing
65960         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
65962         hash: provide default callback functions
65963         * lib/hash.c (raw_hasher, raw_comparator): New functions.
65964         (hash_initialize): Use them as defaults.
65965         * tests/test-hash.c (main): Test this.
65967         hash: minor optimization
65968         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
65969         when possible.
65970         (hash_initialize): Document this promise.
65971         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
65972         * tests/test-hash.c (hash_compare_strings): Test this.
65974 2009-06-18  Bruno Haible  <bruno@clisp.org>
65976         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
65977         going to be replaced anyway.
65979 2009-06-18  Bruno Haible  <bruno@clisp.org>
65981         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
65982         in one place.
65983         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
65984         be replaced anyway.
65986 2009-06-18  Eric Blake  <ebb9@byu.net>
65988         hash: check for resize before insertion
65989         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
65990         threshold before insertion, so that a pathological hash_rehash
65991         that fills every bucket can still trigger another rehash.
65993 2009-06-18  Jim Meyering  <meyering@redhat.com>
65995         hash-tests: add a loop around the small tests
65996         * tests/test-hash.c (main): Repeat small tests with selected
65997         small initial table sizes.
65999 2009-06-17  Eric Blake  <ebb9@byu.net>
66001         hash: minor cleanups
66002         * lib/hash.h (hash_entry): Make opaque, by moving...
66003         * lib/hash.c (hash_entry): ...here.
66004         (hash_insert): Clarify restrictions on what can be inserted.
66005         (hash_get_next): Clarify when it is safe to remove an element
66006         during traversal.
66007         (check_tuning): Skip verification when tuning is known safe.
66008         (hash_initialize): Clarify restrictions on tuning.
66010 2009-06-17  Jim Meyering  <jim@meyering.net>
66011         and Eric Blake  <ebb9@byu.net>
66013         hash-tests: new module
66014         * modules/hash-tests: New file.
66015         * tests/test-hash.c: New file.
66017 2009-06-17  Eric Blake  <ebb9@byu.net>
66019         strstr-simple: document new module
66020         * MODULES.html.sh: Document new module.
66022         strstr, strcasestr: replace on platforms with broken memchr
66023         * modules/strstr: Split into...
66024         * modules/strstr-simple: ...new module that does not care about
66025         performance, but does care about glibc bug.
66026         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
66027         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
66028         if platform memchr is broken, per Debian bug 521737.
66029         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
66030         memchr.
66031         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
66032         * doc/posix-functions/strstr.texi (strstr): Document the fix.
66033         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
66034         * modules/mountlist (Depends-on): Add strstr-simple.
66035         * modules/gen-uni-tables (Depends-on): Likewise.
66036         * modules/argz (Depends-on): Add strstr.
66038 2009-06-17  Bruno Haible  <bruno@clisp.org>
66040         * modules/posix_spawn-internal (Depends-on): Add errno.
66042 2009-06-17  Bruno Haible  <bruno@clisp.org>
66044         Define missing ESTALE on Interix 3.5.
66045         * lib/errno.in.h (ESTALE): Assign a value if missing.
66046         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
66047         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
66048         missing.
66049         * doc/posix-headers/errno.texi: Mention the Interix bug.
66050         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
66052 2009-06-15  Eric Blake  <ebb9@byu.net>
66054         memchr, memchr2: add valgrind exception
66055         * lib/memchr.valgrind: New file.
66056         * lib/memchr2.valgrind: New file.
66057         * modules/memchr (Files): Distribute valgrind file.
66058         * modules/memchr2 (Files): Likewise.
66060         docs: memchr is no longer obsolete
66061         * MODULES.html.sh: Move memchr from obsolete to string.h section.
66062         * lib/string.in.h (memchr): Simplify logic.
66064 2009-06-14  Jim Meyering  <meyering@redhat.com>
66066         link-follow: fix the "checking..." message to not mention trailing slash
66067         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
66068         never considered trailing slashes.
66070 2009-06-14  Bruno Haible  <bruno@clisp.org>
66072         * m4/memchr.m4: Mention also the bug on IA-64.
66073         * doc/posix-functions/memchr.texi: Likewise.
66075 2009-06-12  Eric Blake  <ebb9@byu.net>
66077         memchr: detect broken x86_64 and alpha implementations
66078         * modules/memchr-tests (Depends-on): Move mmap detection...
66079         * modules/memchr (Depends-on): ...here.
66080         (configure.ac): Set indicator.
66081         * lib/string.in.h (memchr): Declare replacement.
66082         * modules/string (Makefile.am): Trigger replacement.
66083         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
66084         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
66085         bugs.
66086         * doc/posix-functions/memchr.texi (memchr): Document the bug.
66087         * modules/getpagesize (License): Relax license.
66089 2009-06-11  Bruno Haible  <bruno@clisp.org>
66091         * lib/idpriv.h: Add more references.
66093 2009-06-08  Bruno Haible  <bruno@clisp.org>
66095         Tests for module 'idpriv-droptemp'.
66096         * modules/idpriv-droptemp-tests: New file.
66097         * tests/test-idpriv-droptemp.sh: New file.
66098         * tests/test-idpriv-droptemp.su.sh: New file.
66099         * tests/test-idpriv-droptemp.c: New file.
66101         New module 'idpriv-droptemp'.
66102         * lib/idpriv-droptemp.c: New file.
66103         * modules/idpriv-droptemp: New file.
66105 2009-06-08  Bruno Haible  <bruno@clisp.org>
66107         Tests for module 'idpriv-drop'.
66108         * modules/idpriv-drop-tests: New file.
66109         * tests/test-idpriv-drop.sh: New file.
66110         * tests/test-idpriv-drop.su.sh: New file.
66111         * tests/test-idpriv-drop.c: New file.
66113         New module 'idpriv-drop'.
66114         * lib/idpriv.h: New file.
66115         * lib-idpriv-drop.c: New file.
66116         * m4/idpriv.m4: New file.
66117         * modules/idpriv-drop: New file.
66119 2009-06-08  Bruno Haible  <bruno@clisp.org>
66121         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
66122         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
66123         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
66124         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
66125         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
66126         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
66127         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
66129 2009-06-08  Eric Blake  <ebb9@byu.net>
66131         test-strstr: use memory fence, when possible
66132         * tests/test-strstr.c (main): Use memory fence, in order to be
66133         more likely to trigger Debian bug 521737.
66134         * modules/strstr-tests (Files): Pull in additional files.
66136         memchr: no longer obsolete, for wider field testing
66137         * modules/memchr (Status, Notice): Delete, this module is no
66138         longer obsolete.
66139         * modules/vasnprintf (Depends-on): Add memchr.
66141 2009-06-07  Jim Meyering  <meyering@redhat.com>
66143         hash: declare some functions with the warn_unused_result attribute
66144         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
66146 2009-06-07  Bruno Haible  <bruno@clisp.org>
66148         * tests/test-alignof.c: Don't test int64_t if it does not exist.
66149         Reported by Eric Blake.
66151 2009-06-06  Eric Blake  <ebb9@byu.net>
66153         test-alignof: fix typo with long double
66154         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
66155         compiler error.
66157 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
66159         Escape non-texinfo { and }s.
66160         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
66161         markup error.
66163 2009-06-04  Jim Meyering  <meyering@redhat.com>
66165         gitlog-to-changelog: don't infloop on an empty commit log
66166         * build-aux/gitlog-to-changelog: Warn about an empty log message.
66167         Reported by Boris Petersen <transacid@centerim.org>.
66169 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
66171         version-etc: extend for packagers
66172         Add three new configure options, intended for packagers:
66173           --with-packager="packager name"
66174           --with-packager-version="packager-specific version"
66175           --with-packager-bug-reports="packager bug reporting"
66176         An example with coreutils:
66177           $ ./configure \
66178             --with-packager=Gentoo \
66179             --with-packager-bug-report=http://bugs.gentoo.org/ \
66180             --with-packager-version="patchset 1.6"
66181           $ ./src/ls --version | head -n2
66182           ls (GNU coreutils) 7.1-dirty
66183           Packaged by Gentoo (patchset 1.6)
66184         Note that the bug reporting info via --help doesn't show up because
66185         coreutils uses its own custom emit_bug_reporting_address() implementation
66186         in src/system.h.  If it didn't, it'd look like:
66187           $ ./src/ls --help | tail -n4
66188           Report bugs to <bug-coreutils@gnu.org>.
66189           Report Gentoo bugs to <http://bugs.gentoo.org/>.
66190           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
66191           General help using GNU software: <http://www.gnu.org/gethelp/>.
66192         * lib/version-etc.c: Print new information, if provided.
66193         * m4/version-etc.m4: New file.
66194         * modules/version-etc (Files): Add m4/version-etc.m4.
66195         (configure.ac): Add gl_VERSION_ETC.
66197 2009-05-31  Bruno Haible  <bruno@clisp.org>
66199         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
66200         and 'int64_t'.
66201         * modules/alignof-tests (Dependencies): Add stdint.
66202         Reported by Eric Blake.
66204 2009-05-31  Bruno Haible  <bruno@clisp.org>
66206         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
66207         restriction due to compiler bugs.
66208         Reported by Eric Blake.
66210 2009-05-31  Simon Josefsson  <simon@josefsson.org>
66211             Bruno Haible  <bruno@clisp.org>
66213         Fix test-alignof failure.
66214         * lib/alignof.h (alignof_slot): New macro.
66215         (alignof_type): New macro, with the same semantics as the previous
66216         'alignof'.
66217         (alignof): Alias to alignof_slot.
66218         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
66219         check that the results are usable as constant expressions.
66221 2009-05-31  Bruno Haible  <bruno@clisp.org>
66223         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
66224         * tests/test-memchr.c (main): Check that memchr does not read past the
66225         first occurrence of the byte.
66226         * tests/test-strstr.c (main): Update comment.
66227         Suggested by Eric Blake.
66229 2009-05-30  Bruno Haible  <bruno@clisp.org>
66231         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
66232         detail how to use dumpbin.
66233         Reported by David Byron <dbyron@dbyron.com>.
66235 2009-06-02  Simon Josefsson  <simon@josefsson.org>
66237         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
66239 2009-06-02  Simon Josefsson  <simon@josefsson.org>
66241         * m4/manywarnings.m4: Add GCC 4.4 warnings.
66243 2009-05-28  Bruno Haible  <bruno@clisp.org>
66245         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
66246         build-aux/ files.
66248 2009-05-28  Simon Josefsson  <simon@josefsson.org>
66250         * gnulib-tool (func_import): Transform license on build-aux/ files too.
66252 2009-05-27  Simon Josefsson  <simon@josefsson.org>
66254         * gnulib-tool (sed_transform_main_lib_file)
66255         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
66256         regexps.
66258 2009-05-26  Simon Josefsson  <simon@josefsson.org>
66260         * tests/test-strstr.c: Add another self-test.
66261         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
66262         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
66264 2009-05-23  Bruno Haible  <bruno@clisp.org>
66266         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
66267         change.
66269 2009-05-21  Bruno Haible  <bruno@clisp.org>
66271         Simplify use of mode_t varargs.
66272         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
66273         uses 'mode_t' or 'int'.
66274         * lib/openat.c (openat): Likewise.
66275         * lib/open-safer.c (open_safer): Likewise.
66276         * m4/mode_t.m4: New file.
66277         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
66278         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
66279         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
66280         * modules/open (Files): Add m4/mode_t.m4.
66281         * modules/openat (Files): Likewise.
66282         * modules/fcntl-safer (Files): Likewise.
66283         Suggested by Eric Blake.
66285 2009-05-21  Pádraig Brady  <P@draigbrady.com>
66287         * doc/glibc-functions/fallocate.texi: New file.
66288         * doc/gnulib.texi: Include it.
66290 2009-05-21  Eric Blake  <ebb9@byu.net>
66291             Bruno Haible  <bruno@clisp.org>
66293         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
66294         invocations.
66295         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
66297 2009-05-21  Eric Blake  <ebb9@byu.net>
66298             Bruno Haible  <bruno@clisp.org>
66300         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
66301         include_next. Fix of 2008-11-20 commit.
66302         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
66303         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
66304         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
66305         NEXT_MATH_H.
66306         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
66307         instead of NEXT_MATH_H.
66309 2009-05-21  Bruno Haible  <bruno@clisp.org>
66311         Avoid redefinition warnings for SIZE_MAX.
66312         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
66313         Reported by Simon Josefsson.
66315 2009-05-21  Bruno Haible  <bruno@clisp.org>
66317         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
66318         AC_CACHE_VAL.
66320 2009-05-20  Bruno Haible  <bruno@clisp.org>
66322         Make zeroptr.h work on mingw.
66323         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
66324         mprotect.
66325         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
66326         * modules/memchr2-tests (configure.ac): Likewise.
66327         * modules/memcmp-tests (configure.ac): Likewise.
66328         * modules/memmem-tests (configure.ac): Likewise.
66329         * modules/memrchr-tests (configure.ac): Likewise.
66330         Reported by Simon Josefsson.
66332 2009-05-20  Simon Josefsson  <simon@josefsson.org>
66334         * tests/test-glob.c: Include string.h for strcmp prototype.
66336 2009-05-20  Simon Josefsson  <simon@josefsson.org>
66338         * modules/getdelim (Depends-on): Add explicit stdint, although it
66339         was implicitly already pulled in via realloc-posix.
66340         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
66342 2009-05-20  Simon Josefsson  <simon@josefsson.org>
66344         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
66345         G. Christensen" <tgc@jupiterrise.com>.
66346         * m4/sys_socket_h.m4: Check for sa_family_t.
66347         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
66348         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
66349         * tests/test-sys_socket.c: Check that sa_family_t works.
66351 2009-05-18  Eric Blake  <ebb9@byu.net>
66353         maint.mk: allow gnulib_dir in VPATH build
66354         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
66356 2009-05-15  Jim Meyering  <meyering@redhat.com>
66358         maint.mk: Give gnulib_dir a default definition.
66359         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
66360         Thus, most packages no longer need to specify this variable in cfg.mk
66362 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
66364         rename.m4: fix typos that would make non-mingw cross-configure fail
66365         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
66367 2009-05-13  Eric Blake  <ebb9@byu.net>
66369         mmap-anon: avoid out-of-order autoconf expansion
66370         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
66371         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
66372         * modules/memchr-tests (Depends-on): Add extensions.
66373         * modules/memchr2-tests (Depends-on): Add extensions.
66374         * modules/memcmp-tests (Depends-on): Add extensions.
66375         * modules/memmem-tests (Depends-on): Add extensions.
66376         * modules/memrchr-tests (Depends-on): Add extensions.
66378 2009-05-13  Bruno Haible  <bruno@clisp.org>
66380         Make some tests ISO C 99 compliant.
66381         * tests/zerosize-ptr.h: New file.
66382         * tests/test-memchr.c: Include zerosize-ptr.h.
66383         (main): Use a zero-size object pointer instead of NULL.
66384         * tests/test-memchr2.c: Include zerosize-ptr.h.
66385         (main): Use a zero-size object pointer instead of NULL.
66386         * tests/test-memcmp.c: Include zerosize-ptr.h.
66387         (main): Use a zero-size object pointer instead of NULL.
66388         * tests/test-memmem.c: Include zerosize-ptr.h.
66389         (main): Use a zero-size object pointer instead of NULL.
66390         * tests/test-memrchr.c: Include zerosize-ptr.h.
66391         (main): Use a zero-size object pointer instead of NULL.
66392         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
66393         m4/mmap-anon.m4.
66394         (Depends-on): Add getpagesize.
66395         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
66396         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
66397         m4/mmap-anon.m4.
66398         (Depends-on): Add getpagesize.
66399         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
66400         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
66401         m4/mmap-anon.m4.
66402         (Depends-on): Add getpagesize.
66403         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
66404         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
66405         m4/mmap-anon.m4.
66406         (Depends-on): Add getpagesize.
66407         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
66408         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
66409         m4/mmap-anon.m4.
66410         (Depends-on): Add getpagesize.
66411         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
66413 2009-05-12  Bruno Haible  <bruno@clisp.org>
66415         Tests for module 'alignof'.
66416         * modules/alignof-tests: New file.
66417         * tests/test-alignof.c: New file.
66419 2009-05-12  Bruno Haible  <bruno@clisp.org>
66421         Fix alignof macro.
66422         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
66423         vendor compilers that are always correct.
66425 2009-05-12  Bruno Haible  <bruno@clisp.org>
66427         Make the MAP_ANONYMOUS detection work on HP-UX 11.
66428         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
66429         not whether its fully works.
66431 2009-05-12  Bruno Haible  <bruno@clisp.org>
66433         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
66435 2009-05-12  Jim Meyering  <meyering@redhat.com>
66437         * top/maint.mk: Adjust backslash alignment.
66439 2009-05-11  Simon Josefsson  <simon@josefsson.org>
66441         * top/maint.mk: Make $(srcdir)/build-aux configurable.
66443 2009-05-11  Eric Blake  <ebb9@byu.net>
66445         argp: avoid undefined behavior
66446         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
66447         macros.
66449 2009-05-08  Simon Josefsson  <simon@josefsson.org>
66451         * tests/test-vc-list-files-git.sh: Do git config of user.email and
66452         user.name to prevent git commit from complaining.
66454 2009-05-10  Bruno Haible  <bruno@clisp.org>
66456         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
66457         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
66458         it rewrites every file name only once.
66459         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
66461 2009-05-08  Bruno Haible  <bruno@clisp.org>
66463         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
66464         instead of 'max'.
66466 2009-05-08  Simon Josefsson  <simon@josefsson.org>
66468         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
66469         sockaddr_storage test.
66471 2009-05-07  Simon Josefsson  <simon@josefsson.org>
66473         * modules/sys_socket (Makefile.am): Substitute
66474         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
66475         * m4/sys_socket_h.m4: Check for sockaddr_storage.
66476         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
66477         * tests/test-sys_socket.c: Check sockaddr_storage.
66479 2009-05-08  Bruno Haible  <bruno@clisp.org>
66481         New module 'alignof'.
66482         * lib/alignof.h: New file.
66483         * modules/alignof: New file.
66485 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
66486             Bruno Haible  <bruno@clisp.org>
66488         Fix test-file-has-acl on FreeBSD.
66489         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
66490         mask is implicitly added.
66491         * tests/test-file-has-acl.c: Include <signal.h>.
66492         (main): Terminate the test after 5 seconds.
66493         * modules/acl-tests (configure.ac): Check for alarm function.
66495 2009-05-04  Bruno Haible  <bruno@clisp.org>
66497         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
66498         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
66499         * modules/errno (configure.ac): Drop AC_REQUIRE.
66500         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
66501         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
66503 2009-05-04  Simon Josefsson  <simon@josefsson.org>
66505         * modules/glob-tests: New module.
66506         * tests/test-glob.c: Add.
66508 2009-05-04  Simon Josefsson  <simon@josefsson.org>
66510         * modules/fnmatch-tests: New module.
66511         * tests/test-fnmatch.c: Add.
66513 2009-05-04  Eric Blake  <ebb9@byu.net>
66515         maint: make the new no-submodule-changes rule VPATH-safe
66516         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
66518 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
66519             Bruno Haible  <bruno@clisp.org>
66521         acl: Fix infinite loop on FreeBSD.
66522         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
66523         of return value from acl_get_entry.
66524         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
66525         Likewise.
66527 2009-05-03  Bruno Haible  <bruno@clisp.org>
66529         * lib/acl-internal.h (acl_entries): Clarify return value.
66530         * lib/acl_entries.c (acl_entries): Likewise.
66532 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
66534         Bug fix in acl module.
66535         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
66537 2009-05-03  Bruno Haible  <bruno@clisp.org>
66539         Create gperf-generated file in the source dir, not in the build dir.
66540         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
66541         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
66542         * modules/unicase/locale-language (unicase/locale-languages.h):
66543         Likewise.
66544         * modules/unicase/special-casing (unicase/special-casing-table.h):
66545         Likewise.
66546         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
66547         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
66548         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
66549         Reported by Ralf Wildenhues.
66551 2009-05-03  Bruno Haible  <bruno@clisp.org>
66553         * modules/fnmatch (Description, configure.ac): Taken from
66554         fnmatch-posix.
66555         * modules/fnmatch-posix: Turn into a symbolic reference to the
66556         'fnmatch' module, and deprecate.
66557         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
66559 2009-05-03  Bruno Haible  <bruno@clisp.org>
66561         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
66562         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
66563         Reported by Ralf Wildenhues.
66565 2009-05-04  Simon Josefsson  <simon@josefsson.org>
66567         * m4/fnmatch.m4: Fix fnmatch re-define.
66569 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
66571         priv-set: new module and tests; adapt write-any-file
66572         * lib/priv-set.c: New file.
66573         * lib/priv-set.h: New file.
66574         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
66575         * lib/write-any-file.c: Simplify by using priv-set module.
66576         * m4/priv-set.m4: New file.
66577         * modules/priv-set: New file.
66578         * modules/unlinkdir: Add dependency on priv-set module.
66579         * modules/write-any-file: Likewise.
66581         Tests for module 'priv-set'.
66582         * modules/priv-set-tests: New file.
66583         * tests/test-priv-set.c: New file.
66585 2009-05-03  Jim Meyering  <meyering@redhat.com>
66586             Bruno Haible  <bruno@clisp.org>
66588         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
66589         use the converted UTF-8 variant of the name instead.
66591 2009-05-03  Jim Meyering  <meyering@redhat.com>
66593         tests: tighten some getdate tests
66594         * tests/test-getdate.c (main): Tighten tests: require equality,
66595         not just greater than.  Set TZ envvar to UTC0.
66597 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
66599         getdate: correctly interpret "next monday" when run on a Monday
66600         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
66601         that e.g., "next tues" (when run on a tuesday) results in a date
66602         that is one week in the future, and not today's date.
66603         I.e., add a week when the wday is the same as the current one.
66604         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
66605         and earlier by Martin Bernreuther and Jan Minář.
66606         * tests/test-getdate.c (main): Check that "next DAY" is always in
66607         the future and that "last DAY" is always in the past.
66609 2009-05-02  Jim Meyering  <meyering@redhat.com>
66611         build: ensure that a release build fails when a submodule is unclean
66612         * top/maint.mk (no-submodule-changes): New rule.
66613         (alpha beta major): Depend on it.
66615 2009-05-02  Bruno Haible  <bruno@clisp.org>
66617         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
66618         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
66619         shell variable gl_fnmatch_required to detect which variant is
66620         requested.
66621         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
66622         gl_FUNC_FNMATCH_POSIX.
66623         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
66624         exclude fnmatch-posix.
66626 2009-05-02  Bruno Haible  <bruno@clisp.org>
66628         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
66629         * modules/mbsrtowcs (License): Change to LGPLv2+.
66630         * modules/strnlen1 (License): Likewise.
66631         Reported by Simon Josefsson.
66633 2009-05-02  Bruno Haible  <bruno@clisp.org>
66635         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
66636         "cross".
66637         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
66638         gnulib-tool was called with option --source-base=lib.
66640 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66642         Use automake *-local hooks without commands, for extensibility.
66643         * modules/localcharset (Makefile.am): Rename install-exec-local
66644         rule to install-exec-localcharset, and make it a prerequisite of
66645         install-exec-local.  Likewise, rename the uninstall-local rule to
66646         uninstall-localcharset, and make it a prerequisite of the former.
66648 2009-05-01  Bruno Haible  <bruno@clisp.org>
66650         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
66651         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
66652         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
66653         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
66654         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
66655         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
66656         m4/locale-zh.m4, m4/codeset.m4.
66658         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
66659         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
66660         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
66661         m4/locale-zh.m4.
66663         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
66664         REPLACE_WCRTOMB if mbstate_t must be replaced.
66665         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
66666         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
66668 2009-05-01  Bruno Haible  <bruno@clisp.org>
66670         Avoid compiler warnings when redefining macros defined by <libintl.h>.
66671         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
66672         dngettext, dcngettext, textdomain, bindtextdomain,
66673         bind_textdomain_codeset): Undefine before redefining.
66675 2009-04-30  Bruno Haible  <bruno@clisp.org>
66677         Fix bug introduced on 2009-04-25.
66678         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
66679         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
66680         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
66681         is defined.
66682         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
66683         is defined.
66684         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
66685         is defined.
66686         Reported by Elbert_Pol <elbert.pol@gmail.com>.
66688 2009-04-28  Bruno Haible  <bruno@clisp.org>
66690         Comment tweaks.
66691         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
66692         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
66693         * lib/unicase.h (u*_casexfrm): Likewise.
66694         Reported by Paolo Bonzini.
66696 2009-04-28  Bruno Haible  <bruno@clisp.org>
66698         Fix a compilation error.
66699         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
66700         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
66701         Reported by Jim Meyering.
66703 2009-04-27  Bruno Haible  <bruno@clisp.org>
66705         New module 'libunistring'.
66706         * modules/libunistring: New file.
66707         * m4/libunistring.m4: New file.
66708         * MODULES.html.sh (Unicode string functions): Add it.
66710 2009-04-27  Eric Blake  <ebb9@byu.net>
66712         maint.mk: allow package-specific header to provide <config.h>
66713         * top/maint.mk (sc_require_config_h): New variable.
66714         (sc_require_config_h, sc_require_config_h_first): Use it.
66716 2009-04-27  Simon Josefsson  <simon@josefsson.org>
66718         * top/maint.mk (sc_avoid_if_before_free): Except
66719         useless-if-before-free script.
66721 2009-04-27  Eric Blake  <ebb9@byu.net>
66723         maintainer-makefile: depend on all required helper scripts
66724         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
66725         useless-if-before-free.
66726         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
66727         version, rather than assuming gnulib checkout is available.
66728         Reported by Simen Josefsson.
66730 2009-04-26  Bruno Haible  <bruno@clisp.org>
66732         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
66733         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
66734         "../" or "..".
66736 2009-04-26  Bruno Haible  <bruno@clisp.org>
66738         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
66739         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
66740         AC_LIB_HAVE_LINKFLAGS.
66742 2009-04-26  Bruno Haible  <bruno@clisp.org>
66744         Simplify calling convention of u*_conv_from_encoding.
66745         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
66746         u32_conv_from_encoding): Expect a resultbuf argument and return the
66747         result directly as a pointer.
66748         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
66749         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
66750         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
66751         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
66752         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
66753         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
66754         Update.
66755         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
66756         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
66757         * lib/vasnprintf.c (VASNPRINTF): Update.
66758         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
66759         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
66760         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
66761         * NEWS: Mention the change.
66763 2009-04-26  Bruno Haible  <bruno@clisp.org>
66765         Simplify calling convention of u*_conv_to_encoding.
66766         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
66767         u32_conv_to_encoding): Expect a resultbuf argument and return the
66768         result directly as a pointer.
66769         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
66770         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
66771         freeing scaled_offsets if mem_iconveha failed.
66772         * lib/unicase/u-casexfrm.h (FUNC): Update.
66773         * lib/uninorm/u-normxfrm.h (FUNC): Update.
66774         * lib/vasnprintf.c (VASNPRINTF): Update.
66775         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
66776         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
66777         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
66778         * NEWS: Mention the change.
66780 2009-04-26  Bruno Haible  <bruno@clisp.org>
66782         Avoid test failures on AIX and OSF/1.
66783         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
66784         malloc(0).
66785         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
66786         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
66787         Likewise.
66788         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
66789         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
66790         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
66791         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
66792         * doc/posix-functions/malloc.texi: Document the portability problem
66793         related to malloc(0).
66795 2009-04-26  Bruno Haible  <bruno@clisp.org>
66797         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
66798         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
66799         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
66801 2009-04-25  Bruno Haible  <bruno@clisp.org>
66803         Avoid link error when creating a namespace clean library.
66804         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
66805         as macro with arguments if already defined as an alias.
66806         * lib/signbitf.c (gl_signbitf): Don't undefine.
66807         * lib/signbitd.c (gl_signbitd): Don't undefine.
66808         * lib/signbitl.c (gl_signbitl): Don't undefine.
66810 2009-04-25  Jim Meyering  <meyering@redhat.com>
66812         vc-list-files: fix another quoting bug
66813         * build-aux/vc-list-files: Avoid sed backslash expansion
66814         of pathological directory names.
66816 2009-04-25  Eric Blake  <ebb9@byu.net>
66818         vc-list-files: fix shell quoting error
66819         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
66820         timestamp.
66822 2009-04-25  Jim Meyering  <meyering@redhat.com>
66824         vc-list-files: restore lost functionality with subdir argument
66825         * build-aux/vc-list-files: When given a non-"." sub-directory
66826         argument, substitute the $dir/ prefix back onto each resulting name.
66827         Otherwise, coreutils' root_tests check would fail.
66829 2009-04-24  Eric Blake  <ebb9@byu.net>
66831         vc-list-files: ignore git symlinks
66832         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
66833         than ls-files, to ignore git symlinks.
66835         maint.mk: import improvements from m4
66836         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
66837         (move_if_change): Delete unused macro.
66838         (news-date-check, vc-diff-check): Support VPATH builds.
66839         (announcement): Likewise.  Split --bootstrap-tools list...
66840         (boostrap-tools): ...into separate list, which can be overridden
66841         in cfg.mk.
66842         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
66843         requiring dependency on useless-if-before-free module.
66844         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
66845         Support VPATH builds.
66847 2009-04-24  Jim Meyering  <meyering@redhat.com>
66849         maint.mk: remove coreutils-specific rules and variables
66850         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
66851         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
66852         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
66854         maint.mk: remove obsolete rule
66855         * top/maint.mk (rel-check): Remove rule.
66856         (WGET, WGETFLAGS): Remove now-unused variables.
66858 2009-04-24  Simon Josefsson  <simon@josefsson.org>
66860         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
66861         consistency.
66863         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
66864         '$(PATH_SEPARATOR)' instead of ':'.
66866 2009-04-24  Simon Josefsson  <simon@josefsson.org>
66868         * lib/getopt1.c (main): Use 'const' for static array.
66870 2009-04-24  Simon Josefsson  <simon@josefsson.org>
66872         * top/maint.mk: Sync with coreutils.
66873         * NEWS: Explain incompatibilities.
66875 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66876             Bruno Haible  <bruno@clisp.org>
66878         Fix cross-compilation results.
66879         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
66880         statement, as third argument of AC_TRY_RUN.
66881         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
66882         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
66883         Likewise.
66884         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
66885         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
66886         Likewise.
66887         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
66888         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
66889         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
66891 2009-04-20  Bruno Haible  <bruno@clisp.org>
66893         Avoid test failure on mingw.
66894         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
66896 2009-04-20  Bruno Haible  <bruno@clisp.org>
66898         Avoid compilation error on mingw.
66899         * modules/localename-tests (Depends-on): Add locale.
66901 2009-04-19  Bruno Haible  <bruno@clisp.org>
66903         Support for building a shared library on Windows platforms.
66904         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
66905         (main): Test the presence of UNINORM_NFC here.
66906         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
66907         (main): Test the presence of UNINORM_NFD here.
66908         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
66909         (main): Test the presence of UNINORM_NFKC here.
66910         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
66911         (main): Test the presence of UNINORM_NFKD here.
66913 2009-04-19  Bruno Haible  <bruno@clisp.org>
66915         Avoid a compiler warning.
66916         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
66917         Change type of variable 'sequence'.
66919 2009-04-19  Bruno Haible  <bruno@clisp.org>
66921         * modules/configmake (Makefile.am): When the contents of configmake.h
66922         does not change, arrange to preserve its modification time.
66924 2009-04-17  Simon Josefsson  <simon@josefsson.org>
66926         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
66927         gettext domain.
66929 2009-04-16  Jim Meyering  <meyering@redhat.com>
66931         useless-if-before-free: improve conversion code
66932         * build-aux/useless-if-before-free: Adjust code-in-comment to match
66933         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
66935 2009-04-14  Bruno Haible  <bruno@clisp.org>
66937         * modules/fcntl (Depends-on): Add extensions.
66938         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
66940 2009-04-12  Ben Pfaff  <blp@gnu.org>
66942         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
66943         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
66945 2009-03-20  Ben Pfaff  <blp@gnu.org>
66947         Make rename replace existing destinations on Windows.
66948         * m4/rename.m4: Add test for Mingw.
66949         * lib/rename.c: Add rename replacement that uses MoveFileEx with
66950         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
66951         * doc/posix-functions/rename.texi: Document.
66953 2009-04-10  Bruno Haible  <bruno@clisp.org>
66955         New include file "iconveh.h".
66956         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
66957         * lib/striconveh.h: Include it.
66958         (enum iconv_ilseq_handler): Remove definition.
66959         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
66960         striconveh.h.
66961         * lib/striconveha.c: Include striconveh.h.
66962         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
66963         * modules/striconveh (Files): Add lib/iconveh.h.
66964         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
66965         lib/striconveh.h.
66967 2009-04-10  Bruno Haible  <bruno@clisp.org>
66969         * lib/uniconv.h: Update comment.
66971 2009-04-10  Bruno Haible  <bruno@clisp.org>
66973         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
66974         always.
66975         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
66976         * lib/unistr/u16-mbtouc-aux.c: Likewise.
66977         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
66978         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
66979         "unistring-notinline.h", so that the function gets defined always.
66980         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
66981         * lib/unistr/u8-uctomb.c: Likewise.
66982         * lib/unistr/u16-mbtouc.c: Likewise.
66983         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
66984         * lib/unistr/u16-uctomb.c: Likewise.
66985         * lib/unistr/u32-mbtouc.c: Likewise.
66986         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
66987         * lib/unistr/u32-uctomb.c: Likewise.
66989 2009-04-10  Bruno Haible  <bruno@clisp.org>
66991         Mark 'utime' obsolete.
66992         * modules/utime (Status, Notice): New sections.
66993         Suggested by Jim Meyering.
66995         Fix cross-compile guess for utime test.
66996         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
66997         autoconf.
66998         * doc/posix-functions/utime.texi: Give more precisions.
66999         Reported by Jan <ipif@ymail.com>.
67001 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
67003         filevercmp: correct today's change
67004         * lib/filevercmp.c: Also handle coreutils' test inputs.
67005         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
67007         Fix regression in 'filevercmp' module. Thanks Sven Joachim
67008         for reporting it.
67009         * lib/filevercmp.c: Special handle for "", "." and "..".
67010         * tests/test-filevercmp.c: Enlarge the set suite.
67012 2009-04-07  Jim Meyering  <meyering@redhat.com>
67014         useless-if-before-free: show how to remove braced useless free, too
67015         * build-aux/useless-if-before-free: still only in a comment, though.
67017 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
67019         maint.mk: import changes to syntax-check macros from coreutils
67020         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
67021         Use them in the relevant macros.
67023 2009-04-06  Bruno Haible  <bruno@clisp.org>
67025         Fix unportable use of bit-fields.
67026         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
67027         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
67028         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
67030 2009-04-06  Bruno Haible  <bruno@clisp.org>
67032         Avoid test failures on AIX and OSF/1.
67033         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
67034         that malloc(0) = NULL.
67035         * tests/unicase/test-u8-tolower.c (check): Likewise.
67036         * tests/unicase/test-u8-totitle.c (check): Likewise.
67037         * tests/unicase/test-u8-toupper.c (check): Likewise.
67038         * tests/unicase/test-u16-casefold.c (check): Likewise.
67039         * tests/unicase/test-u16-tolower.c (check): Likewise.
67040         * tests/unicase/test-u16-totitle.c (check): Likewise.
67041         * tests/unicase/test-u16-toupper.c (check): Likewise.
67042         * tests/unicase/test-u32-casefold.c (check): Likewise.
67043         * tests/unicase/test-u32-tolower.c (check): Likewise.
67044         * tests/unicase/test-u32-totitle.c (check): Likewise.
67045         * tests/unicase/test-u32-toupper.c (check): Likewise.
67046         * tests/uninorm/test-u8-nfc.c (check): Likewise.
67047         * tests/uninorm/test-u8-nfd.c (check): Likewise.
67048         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
67049         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
67050         * tests/uninorm/test-u16-nfc.c (check): Likewise.
67051         * tests/uninorm/test-u16-nfd.c (check): Likewise.
67052         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
67053         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
67054         * tests/uninorm/test-u32-nfc.c (check): Likewise.
67055         * tests/uninorm/test-u32-nfd.c (check): Likewise.
67056         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
67057         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
67059 2009-04-05  Bruno Haible  <bruno@clisp.org>
67061         Work around an autoconf limitation.
67062         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
67063         comment line if it would be longer than 3 KB.
67065 2009-04-05  Bruno Haible  <bruno@clisp.org>
67067         Avoid test failure with libiconv-1.13.
67068         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
67069         of the expected test results.
67071 2009-04-05  Bruno Haible  <bruno@clisp.org>
67073         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
67074         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
67075         that it should be installed.
67077 2009-04-05  Bruno Haible  <bruno@clisp.org>
67079         * gnulib-tool: New option --copy-file.
67080         (func_usage): Document it.
67081         (func_dest_tmpfilename): Moved out of func_import.
67082         (func_add_file, func_update_file): New functions, extracted from
67083         func_import.
67084         (func_import): Update.
67086 2009-04-05  Karl Berry  <karl@gnu.org>
67088         * README: prominently mention gnulib-tool.
67089         Rearrange sections so getting the code is near the top.
67091 2009-04-05  Bruno Haible  <bruno@clisp.org>
67093         * lib/unicase.h: Mention u*_cmp2.
67094         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
67095         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
67096         * lib/unicase/ulc-casecmp.c: Likewise.
67097         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
67098         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
67099         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
67100         unistr/u8-cmp.
67101         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
67102         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
67103         unistr/u16-cmp.
67104         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
67105         unistr/u32-cmp.
67107         * lib/uninorm.h: Mention u*_cmp2.
67108         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
67109         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
67110         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
67111         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
67112         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
67113         unistr/u8-cmp.
67114         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
67115         unistr/u16-cmp.
67116         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
67117         unistr/u32-cmp.
67119         New module 'unistr/u32-cmp2'.
67120         * lib/unistr/u32-cmp2.c: New file.
67121         * modules/unistr/u32-cmp2: New file.
67123         New module 'unistr/u16-cmp2'.
67124         * lib/unistr/u16-cmp2.c: New file.
67125         * modules/unistr/u16-cmp2: New file.
67127         New module 'unistr/u8-cmp2'.
67128         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
67129         * lib/unistr/u8-cmp2.c: New file.
67130         * lib/unistr/u-cmp2.h: New file.
67131         * modules/unistr/u8-cmp2: New file.
67133 2009-04-05  Bruno Haible  <bruno@clisp.org>
67135         * lib/unictype.h (uc_property_is_valid): New macro.
67136         * tests/unictype/test-pr_byname.c (main): Use it.
67138         * lib/unistr.h: Doc fixes.
67139         * lib/uniconv.h: Doc fixes.
67140         * lib/unictype.h: Doc fixes.
67142 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
67144         Port coreutils 7.2 to Solaris 8.
67146         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
67147         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
67148         for Solaris 8.  This is a bit of a hack, as it means it's the
67149         caller's responsibility to add -lnsl if needed, but most likely it
67150         won't be needed since only getaddrinfo uses this and getaddrinfo
67151         isn't needed on Solaris 8.
67153         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
67154         problem to Solaris 8 encountered with coreutils 7.2, which
67155         resulted in a message "fnmatch.c:292: warning: passing argument 4
67156         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
67157         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
67159 2009-04-03  Simon Josefsson  <simon@josefsson.org>
67161         * m4/ld-version-script.m4: Add FIXME comment.
67163 2009-04-02  Simon Josefsson  <simon@josefsson.org>
67165         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
67166         SOVERSION variable.
67168 2009-04-02  Bruno Haible  <bruno@clisp.org>
67170         * Makefile (info, html, dvi, pdf): Combine the rules.
67171         Suggested by Jim Meyering.
67173 2009-04-01  Bruno Haible  <bruno@clisp.org>
67175         * Makefile (info, html, dvi, pdf): New targets.
67176         Reported by Reuben Thomas <rrt@sc3d.org>.
67178 2009-04-01  Bruno Haible  <bruno@clisp.org>
67180         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
67181         can be put into PATH.
67182         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
67184 2009-04-01  Bruno Haible  <bruno@clisp.org>
67186         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
67188 2009-04-01  Bruno Haible  <bruno@clisp.org>
67190         Rename module 'visibility'.
67191         * modules/lib-symbol-visibility: Renamed from modules/visibility.
67192         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
67193         * doc/gnulib.texi: Update.
67194         * MODULES.html.sh (Misc): Update.
67195         * NEWS: Mention the change.
67197 2009-04-01  Simon Josefsson  <simon@josefsson.org>
67199         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
67200         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
67201         Eric Blake <ebb9@byu.net> for review.
67202         * MODULES.html.sh: Add lib-msvc-compat.
67203         * doc/gnulib.texi: Link to new section.
67204         * m4/ld-output-def.m4: New file.
67205         * doc/ld-output-def.texi: New file.
67207 2009-04-01  Simon Josefsson  <simon@josefsson.org>
67209         Rename ld-version-script to lib-symbol-versions.  Suggested by
67210         Bruno Haible <bruno@clisp.org>.
67211         * modules/ld-version-script: Renamed to lib-symbol-versions.
67212         * doc/ld-version-script.texi: Fix module name.
67213         * MODULES.html.sh: Add lib-symbol-versions.
67215 2009-03-31  Simon Josefsson  <simon@josefsson.org>
67217         * modules/u64-tests: New file.
67218         * tests/test-u64.c: New file.
67220 2009-03-04  Simon Josefsson  <simon@josefsson.org>
67222         * MODULES.html.sh: Mention u64.
67223         * modules/u64: New module.
67224         * modules/crypto/sha512: Depend on u64 module instead of providing
67225         u64.h.
67227 2009-03-27  Eric Blake  <ebb9@byu.net>
67229         test-strerror: make debugging EAI_SYSTEM easier
67230         * modules/getaddrinfo-tests (Depends-on): Add strerror.
67231         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
67232         failure was EAI_SYSTEM.
67234 2009-03-25  Bruno Haible  <bruno@clisp.org>
67236         Fix a problem with --enable-relocatable on Solaris 7.
67237         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
67238         since 2008-02-24.
67240 2009-03-25  Eric Blake  <ebb9@byu.net>
67242         test-sockets: avoid gcc warning
67243         * tests/test-sockets.c (main): Silence compiler warning.
67245 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
67247         New modules nproc, pthread, contributed by Glen Lenker.
67249         * MODULES.html.sh: Add pthread, nproc.
67250         * lib/nproc.c: New file.
67251         * lib/nproc.h: New file.
67252         * lib/pthread.in.h: New file.
67253         * m4/pthread.m4: New file.
67254         * modules/nproc: New file.
67255         * modules/pthread: New file.
67257 2009-03-24  Simon Josefsson  <simon@josefsson.org>
67259         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
67260         New variable.
67262 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
67264         filevercmp: handle simple~ and numbered.~3~ backup suffixes
67265         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
67266         * tests/test-filevercmp.c: Add tests for backup suffixes.
67268 2009-03-24  Simon Josefsson  <simon@josefsson.org>
67270         * modules/stdlib (Depends-on): Add stdint, needed when defining
67271         struct random_data on, for example, HP-UX 10.20.  Reported by
67272         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
67274 2009-03-24  Simon Josefsson  <simon@josefsson.org>
67276         * lib/readline.c (readline): Call fflush on stdout after printing
67277         prompt.
67279 2009-03-20  Bruno Haible  <bruno@clisp.org>
67281         Remove dependency from 'close' module to -lws2_32 on native Windows.
67282         * lib/close-hook.h: New file.
67283         * lib/close-hook.c: New file.
67284         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
67285         w32sock.h.
67286         (_gl_close_fd_maybe_socket): Remove function.
67287         (rpl_close): Invoke execute_all_close_hooks instead of
67288         _gl_close_fd_maybe_socket.
67289         * lib/sockets.c: Include close-hook.h, w32sock.h.
67290         (close_fd_maybe_socket): New function, essentially from lib/close.c.
67291         (close_sockets_hook): New variable.
67292         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
67293         (gl_sockets_cleanup): Unregister it.
67294         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
67295         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
67296         * modules/close-hook: New file.
67297         * modules/close (Files): Remove lib/w32sock.h.
67298         (Depends-on): Add close-hook.
67299         (Link): Remove section.
67300         * modules/sockets (Files): Add lib/w32sock.h.
67301         (Depends-on): Add close-hook.
67302         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
67303         invocation.
67304         * NEWS: Mention that LIB_CLOSE is gone.
67306 2009-03-23  Eric Blake  <ebb9@byu.net>
67308         signal-tests: test previous patch
67309         * tests/test-signal.c: New file.
67310         * modules/signal-tests: Likewise.
67312         signal.h: always support 'volatile sig_atomic_t'
67313         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
67314         (gl_SIGNAL_H_DEFAULTS): Add a default.
67315         * modules/signal (Makefile.am): Substitute if needed.
67316         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
67317         users can blindly add volatile.
67318         * doc/posix-headers/signal.texi (signal.h): Document it.
67319         Reported by Matthew Woehlke.
67321 2009-03-23  Jim Meyering  <meyering@redhat.com>
67323         pathmax: PATH_MAX: use pathconf only when available
67324         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
67325         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
67326         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
67327         This avoids a link failure in a PSP cross-compilation environment
67328         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
67330         * lib/vasnprintf.c (divide): Fix typo in comment.
67332 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67334         * gnulib-tool (func_filter_filelist): Fix comment.
67336 2009-03-20  Bruno Haible  <bruno@clisp.org>
67338         Make sockets.h self-contained.
67339         * lib/sockets.c: Include sockets.h first.
67340         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
67342 2009-03-19  Eric Blake  <ebb9@byu.net>
67344         doc: mention more functions added in cygwin 1.7.0
67345         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
67346         addition.
67347         * doc/posix-functions/log2f.texi: Likewise.
67349 2009-03-19  Jim Meyering  <meyering@redhat.com>
67351         fsusage: avoid syntax error due to statement-before-declaration
67352         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
67353         after all declarations.  Reported by Matthew Woehlke in
67354         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
67356 2009-03-18  Eric Blake  <ebb9@byu.net>
67358         build-aux/compile: sync from automake
67359         * build-aux/compile: New file, from automake.
67360         * config/srclist.txt: Mention build-aux/compile.
67362 2009-03-17  Bruno Haible  <bruno@clisp.org>
67364         * lib/git-merge-changelog.c: Fix typo in comment.
67365         Reported by Reuben Thomas <rrt@sc3d.org>.
67367 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
67369         * m4/regex.m4: update and improve help for
67370         --without-included-regex.
67372 2009-03-17  Simon Josefsson  <simon@josefsson.org>
67374         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
67375         failure on missing include files.
67377 2009-03-17  Eric Blake  <ebb9@byu.net>
67379         doc: mention more functions added in cygwin 1.7.0
67380         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
67381         addition.
67382         * doc/posix-functions/fwscanf.texi: Likewise.
67383         * doc/posix-functions/swprintf.texi: Likewise.
67384         * doc/posix-functions/swscanf.texi: Likewise.
67385         * doc/posix-functions/vfwprintf.texi: Likewise.
67386         * doc/posix-functions/vfwscanf.texi: Likewise.
67387         * doc/posix-functions/vswprintf.texi: Likewise.
67388         * doc/posix-functions/vswscanf.texi: Likewise.
67389         * doc/posix-functions/vwprintf.texi: Likewise.
67390         * doc/posix-functions/vwscanf.texi: Likewise.
67391         * doc/posix-functions/wcscasecmp.texi: Likewise.
67392         * doc/posix-functions/wcsdup.texi: Likewise.
67393         * doc/posix-functions/wcsftime.texi: Likewise.
67394         * doc/posix-functions/wcsncasecmp.texi: Likewise.
67395         * doc/posix-functions/wprintf.texi: Likewise.
67396         * doc/posix-functions/wscanf.texi: Likewise.
67397         * doc/glibc-functions/gethostbyname2.texi: Likewise.
67399 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67401         maint.mk: really add $(AM_MAKEFLAGS)
67402         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
67403         was inadvertently omitted in the last commit.
67404         Spotted by Bruno Haible.
67406         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
67407         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
67408         $(AM_MAKEFLAGS)' rather than plain `make'.
67410         gnulib-tool: execute $MAKE not make
67411         * gnulib-tool: Default $MAKE to 'make'.
67412         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
67413         than make.  Initialize $MAKE in the do-autobuild script.
67415         gnulib-tool: use $MAKE not make in generated files
67416         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
67417         make, in generated files.  Initialize $MAKE in the do-autobuild
67418         script.
67420         * top/GNUmakefile (_have-git-version-gen): Fix typo.
67422         GNUmakefile: disable parallelism only for multiple, recursive targets
67423         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
67424         additions in the Makefile.
67425         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
67426         by Automake.
67427         (.NOTPARALLEL): Only disable parallel builds if multiple targets
67428         are listed on the command line and at least one of them is
67429         listed in $(ALL_RECURSIVE_TARGETS).
67431 2009-03-14  Bruno Haible  <bruno@clisp.org>
67433         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
67434         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
67435         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
67436         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
67437         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
67438         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
67439         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
67440         unistr/u8-uctomb.
67441         * modules/unistr/u8-strchr (Depends-on): Likewise.
67442         * modules/unistr/u8-strrchr (Depends-on): Likewise.
67443         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
67444         unistr/u16-uctomb.
67445         * modules/unistr/u16-strchr (Depends-on): Likewise.
67446         * modules/unistr/u16-strrchr (Depends-on): Likewise.
67448 2009-03-12  Bruno Haible  <bruno@clisp.org>
67450         Work around select() bug on Interix 3.5.
67451         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
67452         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
67453         * m4/select.m4: New file.
67454         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
67455         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
67456         * modules/select (Files): Add m4/select.m4.
67457         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
67458         * modules/nanosleep (Depends-on): Add select.
67459         * modules/poll (Depends-on): Likewise.
67460         * doc/posix-functions/select.texi: Mention the Interix bug.
67461         Reported by Markus Duft <mduft@gentoo.org>.
67463         * lib/select.c: Renamed from lib/winsock-select.c.
67464         * modules/select (Files): Add lib/select.c, remove
67465         lib/winsock-select.c.
67466         (configure.ac): Update.
67468 2009-03-12  Jim Meyering  <meyering@redhat.com>
67470         avoid gcc warnings about unused macro definitions
67471         * lib/readtokens.c (STREQ): Remove unused definition.
67472         * lib/xmalloc.c (SIZE_MAX): Likewise.
67473         * lib/openat-die.c (N_): Likewise.
67474         * lib/mountlist.c (SIZE_MAX): Remove definition.
67475         Instead, include <stdint.h>.
67476         * lib/readutmp.c: Likewise.
67477         * modules/readutmp (Depends-on): Add stdint.
67478         * modules/mountlist (Depends-on): Add stdint.
67479         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
67481 2009-03-10  Bruno Haible  <bruno@clisp.org>
67483         Tests for module 'mbmemcasecoll'.
67484         * modules/mbmemcasecoll-tests: New file.
67485         * tests/test-mbmemcasecoll1.sh: New file.
67486         * tests/test-mbmemcasecoll2.sh: New file.
67487         * tests/test-mbmemcasecoll3.sh: New file.
67488         * tests/test-mbmemcasecoll.c: New file.
67490         New module 'mbmemcasecoll'.
67491         * lib/mbmemcasecoll.h: New file.
67492         * lib/mbmemcasecoll.c: New file.
67493         * modules/mbmemcasecoll: New file.
67495         * tests/test-mbmemcasecmp.h: New file, extracted from
67496         tests/test-mbmemcasecmp.c.
67497         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
67498         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
67499         (main): Update.
67500         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
67502 2009-03-09  Bruno Haible  <bruno@clisp.org>
67504         Tests for module 'mbmemcasecmp'.
67505         * modules/mbmemcasecmp-tests: New file.
67506         * tests/test-mbmemcasecmp1.sh: New file.
67507         * tests/test-mbmemcasecmp2.sh: New file.
67508         * tests/test-mbmemcasecmp3.sh: New file.
67509         * tests/test-mbmemcasecmp.c: New file.
67511         New module 'mbmemcasecmp'.
67512         * lib/mbmemcasecmp.h: New file.
67513         * lib/mbmemcasecmp.c: New file.
67514         * modules/mbmemcasecmp: New file.
67516 2009-03-09  Bruno Haible  <bruno@clisp.org>
67518         Tests for module 'unicase/ulc-casecoll'.
67519         * modules/unicase/ulc-casecoll-tests: New file.
67520         * tests/unicase/test-ulc-casecoll1.sh: New file.
67521         * tests/unicase/test-ulc-casecoll2.sh: New file.
67522         * tests/unicase/test-ulc-casecoll.c: New file.
67524         New module 'unicase/ulc-casecoll'.
67525         * lib/unicase.h (ulc_casecoll): New declaration.
67526         * lib/unicase/ulc-casecoll.c: New file.
67527         * modules/unicase/ulc-casecoll: New file.
67529         New module 'unicase/ulc-casexfrm'.
67530         * lib/unicase.h (ulc_casexfrm): New declaration.
67531         * lib/unicase/ulc-casexfrm.c: New file.
67532         * modules/unicase/ulc-casexfrm: New file.
67534 2009-03-09  Bruno Haible  <bruno@clisp.org>
67536         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
67537         invocations.
67539         * m4/mbscasecmp.m4: Remove file.
67540         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
67541         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
67543         * m4/mbscasestr.m4: Remove file.
67544         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
67545         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
67547         * m4/mbschr.m4: Remove file.
67548         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
67549         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
67551         * m4/mbscspn.m4: Remove file.
67552         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
67553         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
67555         * m4/mbslen.m4: Remove file.
67556         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
67557         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
67559         * m4/mbsncasecmp.m4: Remove file.
67560         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
67561         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
67563         * m4/mbsnlen.m4: Remove file.
67564         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
67565         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
67567         * m4/mbspbrk.m4: Remove file.
67568         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
67569         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
67571         * m4/mbspcasecmp.m4: Remove file.
67572         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
67573         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
67575         * m4/mbsrchr.m4: Remove file.
67576         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
67577         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
67579         * m4/mbssep.m4: Remove file.
67580         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
67581         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
67583         * m4/mbsspn.m4: Remove file.
67584         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
67585         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
67587         * m4/mbsstr.m4: Remove file.
67588         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
67589         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
67591         * m4/mbstok_r.m4: Remove file.
67592         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
67593         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
67595         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
67597         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
67598         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
67600         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
67602 2009-03-08  Bruno Haible  <bruno@clisp.org>
67604         Tests for module 'unicase/ulc-casecmp'.
67605         * modules/unicase/ulc-casecmp-tests: New file.
67606         * tests/unicase/test-ulc-casecmp1.sh: New file.
67607         * tests/unicase/test-ulc-casecmp2.sh: New file.
67608         * tests/unicase/test-ulc-casecmp.c: New file.
67610         New module 'unicase/ulc-casecmp'.
67611         * lib/unicase.h (ulc_casecmp): New declaration.
67612         * lib/unicase/ulc-casecmp.c: New file.
67613         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
67614         'const SRC_UNIT *'.
67615         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
67616         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
67617         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
67618         * modules/unicase/ulc-casecmp: New file.
67620         Tests for module 'unicase/u32-is-cased'.
67621         * modules/unicase/u32-is-cased-tests: New file.
67622         * tests/unicase/test-u32-is-cased.c: New file.
67624         Tests for module 'unicase/u16-is-cased'.
67625         * modules/unicase/u16-is-cased-tests: New file.
67626         * tests/unicase/test-u16-is-cased.c: New file.
67628         Tests for module 'unicase/u8-is-cased'.
67629         * modules/unicase/u8-is-cased-tests: New file.
67630         * tests/unicase/test-u8-is-cased.c: New file.
67631         * tests/unicase/test-is-cased.h: New file.
67633         New module 'unicase/u32-is-cased'.
67634         * lib/unicase/u32-is-cased.c: New file.
67635         * modules/unicase/u32-is-cased: New file.
67637         New module 'unicase/u16-is-cased'.
67638         * lib/unicase/u16-is-cased.c: New file.
67639         * modules/unicase/u16-is-cased: New file.
67641         New module 'unicase/u8-is-cased'.
67642         * lib/unicase/u8-is-cased.c: New file.
67643         * lib/unicase/u-is-cased.h: New file.
67644         * modules/unicase/u8-is-cased: New file.
67646         Tests for module 'unicase/u32-is-casefolded'.
67647         * modules/unicase/u32-is-casefolded-tests: New file.
67648         * tests/unicase/test-u32-is-casefolded.c: New file.
67650         Tests for module 'unicase/u16-is-casefolded'.
67651         * modules/unicase/u16-is-casefolded-tests: New file.
67652         * tests/unicase/test-u16-is-casefolded.c: New file.
67654         Tests for module 'unicase/u8-is-casefolded'.
67655         * modules/unicase/u8-is-casefolded-tests: New file.
67656         * tests/unicase/test-u8-is-casefolded.c: New file.
67657         * tests/unicase/test-is-casefolded.h: New file.
67659         New module 'unicase/u32-is-casefolded'.
67660         * lib/unicase/u32-is-casefolded.c: New file.
67661         * modules/unicase/u32-is-casefolded: New file.
67663         New module 'unicase/u16-is-casefolded'.
67664         * lib/unicase/u16-is-casefolded.c: New file.
67665         * modules/unicase/u16-is-casefolded: New file.
67667         New module 'unicase/u8-is-casefolded'.
67668         * lib/unicase/u8-is-casefolded.c: New file.
67669         * modules/unicase/u8-is-casefolded: New file.
67671         Tests for module 'unicase/u32-is-titlecase'.
67672         * modules/unicase/u32-is-titlecase-tests: New file.
67673         * tests/unicase/test-u32-is-titlecase.c: New file.
67675         Tests for module 'unicase/u16-is-titlecase'.
67676         * modules/unicase/u16-is-titlecase-tests: New file.
67677         * tests/unicase/test-u16-is-titlecase.c: New file.
67679         Tests for module 'unicase/u8-is-titlecase'.
67680         * modules/unicase/u8-is-titlecase-tests: New file.
67681         * tests/unicase/test-u8-is-titlecase.c: New file.
67682         * tests/unicase/test-is-titlecase.h: New file.
67684         New module 'unicase/u32-is-titlecase'.
67685         * lib/unicase/u32-is-titlecase.c: New file.
67686         * modules/unicase/u32-is-titlecase: New file.
67688         New module 'unicase/u16-is-titlecase'.
67689         * lib/unicase/u16-is-titlecase.c: New file.
67690         * modules/unicase/u16-is-titlecase: New file.
67692         New module 'unicase/u8-is-titlecase'.
67693         * lib/unicase/u8-is-titlecase.c: New file.
67694         * modules/unicase/u8-is-titlecase: New file.
67696         Tests for module 'unicase/u32-is-lowercase'.
67697         * modules/unicase/u32-is-lowercase-tests: New file.
67698         * tests/unicase/test-u32-is-lowercase.c: New file.
67700         Tests for module 'unicase/u16-is-lowercase'.
67701         * modules/unicase/u16-is-lowercase-tests: New file.
67702         * tests/unicase/test-u16-is-lowercase.c: New file.
67704         Tests for module 'unicase/u8-is-lowercase'.
67705         * modules/unicase/u8-is-lowercase-tests: New file.
67706         * tests/unicase/test-u8-is-lowercase.c: New file.
67707         * tests/unicase/test-is-lowercase.h: New file.
67709         New module 'unicase/u32-is-lowercase'.
67710         * lib/unicase/u32-is-lowercase.c: New file.
67711         * modules/unicase/u32-is-lowercase: New file.
67713         New module 'unicase/u16-is-lowercase'.
67714         * lib/unicase/u16-is-lowercase.c: New file.
67715         * modules/unicase/u16-is-lowercase: New file.
67717         New module 'unicase/u8-is-lowercase'.
67718         * lib/unicase/u8-is-lowercase.c: New file.
67719         * modules/unicase/u8-is-lowercase: New file.
67721         Tests for module 'unicase/u32-is-uppercase'.
67722         * modules/unicase/u32-is-uppercase-tests: New file.
67723         * tests/unicase/test-u32-is-uppercase.c: New file.
67725         Tests for module 'unicase/u16-is-uppercase'.
67726         * modules/unicase/u16-is-uppercase-tests: New file.
67727         * tests/unicase/test-u16-is-uppercase.c: New file.
67729         Tests for module 'unicase/u8-is-uppercase'.
67730         * modules/unicase/u8-is-uppercase-tests: New file.
67731         * tests/unicase/test-u8-is-uppercase.c: New file.
67732         * tests/unicase/test-is-uppercase.h: New file.
67734         New module 'unicase/u32-is-uppercase'.
67735         * lib/unicase/u32-is-uppercase.c: New file.
67736         * modules/unicase/u32-is-uppercase: New file.
67738         New module 'unicase/u16-is-uppercase'.
67739         * lib/unicase/u16-is-uppercase.c: New file.
67740         * modules/unicase/u16-is-uppercase: New file.
67742         New module 'unicase/u8-is-uppercase'.
67743         * lib/unicase/u8-is-uppercase.c: New file.
67744         * modules/unicase/u8-is-uppercase: New file.
67746         New module 'unicase/u32-is-invariant'.
67747         * lib/unicase/u32-is-invariant.c: New file.
67748         * modules/unicase/u32-is-invariant: New file.
67750         New module 'unicase/u16-is-invariant'.
67751         * lib/unicase/u16-is-invariant.c: New file.
67752         * modules/unicase/u16-is-invariant: New file.
67754         New module 'unicase/u8-is-invariant'.
67755         * lib/unicase/u8-is-invariant.c: New file.
67756         * lib/unicase/invariant.h: New file.
67757         * lib/unicase/u-is-invariant.h: New file.
67758         * modules/unicase/u8-is-invariant: New file.
67760         Tests for module 'unicase/u32-casecoll'.
67761         * modules/unicase/u32-casecoll-tests: New file.
67762         * tests/unicase/test-u32-casecoll.c: New file.
67764         Tests for module 'unicase/u16-casecoll'.
67765         * modules/unicase/u16-casecoll-tests: New file.
67766         * tests/unicase/test-u16-casecoll.c: New file.
67768         Tests for module 'unicase/u8-casecoll'.
67769         * modules/unicase/u8-casecoll-tests: New file.
67770         * tests/unicase/test-u8-casecoll.c: New file.
67772         New module 'unicase/u32-casecoll'.
67773         * lib/unicase/u32-casecoll.c: New file.
67774         * modules/unicase/u32-casecoll: New file.
67776         New module 'unicase/u16-casecoll'.
67777         * lib/unicase/u16-casecoll.c: New file.
67778         * modules/unicase/u16-casecoll: New file.
67780         New module 'unicase/u8-casecoll'.
67781         * lib/unicase/u8-casecoll.c: New file.
67782         * lib/unicase/u-casecoll.h: New file.
67783         * modules/unicase/u8-casecoll: New file.
67785         New module 'unicase/u32-casexfrm'.
67786         * lib/unicase/u32-casexfrm.c: New file.
67787         * modules/unicase/u32-casexfrm: New file.
67789         New module 'unicase/u16-casexfrm'.
67790         * lib/unicase/u16-casexfrm.c: New file.
67791         * modules/unicase/u16-casexfrm: New file.
67793         New module 'unicase/u8-casexfrm'.
67794         * lib/unicase/u8-casexfrm.c: New file.
67795         * lib/unicase/u-casexfrm.h: New file.
67796         * modules/unicase/u8-casexfrm: New file.
67798         Tests for module 'unicase/u32-casecmp'.
67799         * modules/unicase/u32-casecmp-tests: New file.
67800         * tests/unicase/test-u32-casecmp.c: New file.
67802         Tests for module 'unicase/u16-casecmp'.
67803         * modules/unicase/u16-casecmp-tests: New file.
67804         * tests/unicase/test-u16-casecmp.c: New file.
67806         Tests for module 'unicase/u8-casecmp'.
67807         * modules/unicase/u8-casecmp-tests: New file.
67808         * tests/unicase/test-u8-casecmp.c: New file.
67809         * tests/unicase/test-casecmp.h: New file.
67811         New module 'unicase/u32-casecmp'.
67812         * lib/unicase/u32-casecmp.c: New file.
67813         * modules/unicase/u32-casecmp: New file.
67815         New module 'unicase/u16-casecmp'.
67816         * lib/unicase/u16-casecmp.c: New file.
67817         * modules/unicase/u16-casecmp: New file.
67819         New module 'unicase/u8-casecmp'.
67820         * lib/unicase/u8-casecmp.c: New file.
67821         * lib/unicase/u-casecmp.h: New file.
67822         * modules/unicase/u8-casecmp: New file.
67824         Tests for module 'unicase/u32-casefold'.
67825         * modules/unicase/u32-casefold-tests: New file.
67826         * tests/unicase/test-u32-casefold.c: New file.
67828         Tests for module 'unicase/u16-casefold'.
67829         * modules/unicase/u16-casefold-tests: New file.
67830         * tests/unicase/test-u16-casefold.c: New file.
67832         Tests for module 'unicase/u8-casefold'.
67833         * modules/unicase/u8-casefold-tests: New file.
67834         * tests/unicase/test-u8-casefold.c: New file.
67836         New module 'unicase/u32-casefold'.
67837         * lib/unicase/u32-casefold.c: New file.
67838         * modules/unicase/u32-casefold: New file.
67840         New module 'unicase/u16-casefold'.
67841         * lib/unicase/u16-casefold.c: New file.
67842         * modules/unicase/u16-casefold: New file.
67844         New module 'unicase/u8-casefold'.
67845         * lib/unicase/u8-casefold.c: New file.
67846         * lib/unicase/u-casefold.h: New file.
67847         * modules/unicase/u8-casefold: New file.
67849         New module 'unicase/tocasefold'.
67850         * lib/unicase/casefold.h: New file.
67851         * lib/unicase/tocasefold.c: New file.
67852         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
67853         * modules/unicase/tocasefold: New file.
67855         Tests for module 'unicase/u32-totitle'.
67856         * modules/unicase/u32-totitle-tests: New file.
67857         * tests/unicase/test-u32-totitle.c: New file.
67859         Tests for module 'unicase/u16-totitle'.
67860         * modules/unicase/u16-totitle-tests: New file.
67861         * tests/unicase/test-u16-totitle.c: New file.
67863         Tests for module 'unicase/u8-totitle'.
67864         * modules/unicase/u8-totitle-tests: New file.
67865         * tests/unicase/test-u8-totitle.c: New file.
67867         New module 'unicase/u32-totitle'.
67868         * lib/unicase/u32-totitle.c: New file.
67869         * modules/unicase/u32-totitle: New file.
67871         New module 'unicase/u16-totitle'.
67872         * lib/unicase/u16-totitle.c: New file.
67873         * modules/unicase/u16-totitle: New file.
67875         New module 'unicase/u8-totitle'.
67876         * lib/unicase/u8-totitle.c: New file.
67877         * lib/unicase/u-totitle.h: New file.
67878         * modules/unicase/u8-totitle: New file.
67880         Tests for module 'unicase/u32-tolower'.
67881         * modules/unicase/u32-tolower-tests: New file.
67882         * tests/unicase/test-u32-tolower.c: New file.
67884         Tests for module 'unicase/u16-tolower'.
67885         * modules/unicase/u16-tolower-tests: New file.
67886         * tests/unicase/test-u16-tolower.c: New file.
67888         Tests for module 'unicase/u8-tolower'.
67889         * modules/unicase/u8-tolower-tests: New file.
67890         * tests/unicase/test-u8-tolower.c: New file.
67892         New module 'unicase/u32-tolower'.
67893         * lib/unicase/u32-tolower.c: New file.
67894         * modules/unicase/u32-tolower: New file.
67896         New module 'unicase/u16-tolower'.
67897         * lib/unicase/u16-tolower.c: New file.
67898         * modules/unicase/u16-tolower: New file.
67900         New module 'unicase/u8-tolower'.
67901         * lib/unicase/u8-tolower.c: New file.
67902         * modules/unicase/u8-tolower: New file.
67904         Tests for module 'unicase/u32-toupper'.
67905         * modules/unicase/u32-toupper-tests: New file.
67906         * tests/unicase/test-u32-toupper.c: New file.
67908         Tests for module 'unicase/u16-toupper'.
67909         * modules/unicase/u16-toupper-tests: New file.
67910         * tests/unicase/test-u16-toupper.c: New file.
67912         Tests for module 'unicase/u8-toupper'.
67913         * modules/unicase/u8-toupper-tests: New file.
67914         * tests/unicase/test-u8-toupper.c: New file.
67916         New module 'unicase/u32-toupper'.
67917         * lib/unicase/u32-toupper.c: New file.
67918         * modules/unicase/u32-toupper: New file.
67920         New module 'unicase/u16-toupper'.
67921         * lib/unicase/u16-toupper.c: New file.
67922         * modules/unicase/u16-toupper: New file.
67924         New module 'unicase/u8-toupper'.
67925         * lib/unicase/u8-toupper.c: New file.
67926         * modules/unicase/u8-toupper: New file.
67928         New module 'unicase/u32-casemap'.
67929         * lib/unicase/u32-casemap.c: New file.
67930         * modules/unicase/u32-casemap: New file.
67932         New module 'unicase/u16-casemap'.
67933         * lib/unicase/u16-casemap.c: New file.
67934         * modules/unicase/u16-casemap: New file.
67936         New module 'unicase/u8-casemap'.
67937         * lib/unicase/unicasemap.h: New file.
67938         * lib/unicase/u8-casemap.c: New file.
67939         * lib/unicase/u-casemap.h: New file.
67940         * modules/unicase/u8-casemap: New file.
67942         New module 'unicase/special-casing'.
67943         * lib/unicase/special-casing.h: New file.
67944         * lib/unicase/special-casing.c: New file.
67945         * lib/unicase/special-casing-table.gperf: New file, generated by
67946         gen-uni-tables.c.
67947         * modules/unicase/special-casing: New file.
67949         Tests for module 'unicase/locale-language'.
67950         * modules/unicase/locale-language-tests: New file.
67951         * tests/unicase/test-locale-language.sh: New file.
67952         * tests/unicase/test-locale-language.c: New file.
67954         New module 'unicase/locale-language'.
67955         * lib/unicase/locale-language.c: New file.
67956         * lib/unicase/locale-languages.gperf: New file.
67957         * modules/unicase/locale-language: New file.
67959         Generate more tables for case conversion and case folding.
67960         * lib/gen-uni-tables.c (SCC_*): New enum items.
67961         (struct special_casing_rule): New type.
67962         (casing_rules, num_casing_rules, allocated_casing_rules): New
67963         variables.
67964         (add_casing_rule, fill_casing_rules): New functions.
67965         (struct casefold_rule): New type.
67966         (casefolding_rules, num_casefolding_rules,
67967         allocated_casefolding_rules): New variables.
67968         (fill_casefolding_rules): New function.
67969         (unicode_casefold): New variable.
67970         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
67971         sort_casing_rules, output_casing_rules): New functions.
67972         (main): Accept to more arguments: SpecialCasing.txt and
67973         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
67974         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
67975         Output mapping for casefolding.
67977         * lib/unicase.h: Include stdbool.h, uninorm.h.
67978         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
67979         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
67980         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
67981         arguments.
67982         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
67983         resultp arguments.
67984         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
67985         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
67986         resultp arguments.
67987         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
67988         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
67989         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
67990         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
67991         declarations.
67992         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
67994 2009-03-08  Bruno Haible  <bruno@clisp.org>
67996         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
67997         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
67998         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
67999         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
68001 2009-03-07  Bruno Haible  <bruno@clisp.org>
68003         Adjust u*_normcmp, u*_normcoll API.
68004         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
68005         u16_normcoll, u32_normcoll): Change failure conventions.
68006         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
68007         errno and return -1.
68008         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
68010 2009-03-07  Bruno Haible  <bruno@clisp.org>
68012         Tests for module 'uninorm/u32-normcoll'.
68013         * modules/uninorm/u32-normcoll-tests: New file.
68014         * tests/uninorm/test-u32-normcoll.c: New file.
68016         Tests for module 'uninorm/u16-normcoll'.
68017         * modules/uninorm/u16-normcoll-tests: New file.
68018         * tests/uninorm/test-u16-normcoll.c: New file.
68020         Tests for module 'uninorm/u8-normcoll'.
68021         * modules/uninorm/u8-normcoll-tests: New file.
68022         * tests/uninorm/test-u8-normcoll.c: New file.
68024 2009-03-07  Bruno Haible  <bruno@clisp.org>
68026         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
68027         tests/uninorm/test-u32-normcmp.c.
68028         * tests/uninorm/test-u32-normcmp.c: Include it.
68029         (test_nonascii): New function, extracted from main. Add some more
68030         tests.
68031         (main): Invoke test_ascii and test_nonascii.
68032         * modules/uninorm/u32-normcmp-tests (Files): Add
68033         tests/uninorm/test-u32-normcmp.h.
68034         (Depends-on): Remove uninorm/u32-normcmp.
68036         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
68037         tests/uninorm/test-u16-normcmp.c.
68038         * tests/uninorm/test-u16-normcmp.c: Include it.
68039         (test_nonascii): New function, extracted from main. Add some more
68040         tests.
68041         (main): Invoke test_ascii and test_nonascii.
68042         * modules/uninorm/u16-normcmp-tests (Files): Add
68043         tests/uninorm/test-u16-normcmp.h.
68044         (Depends-on): Remove uninorm/u16-normcmp.
68046         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
68047         tests/uninorm/test-u8-normcmp.c.
68048         * tests/uninorm/test-u8-normcmp.c: Include it.
68049         (test_nonascii): New function, extracted from main. Add some more
68050         tests.
68051         (main): Invoke test_ascii and test_nonascii.
68052         * modules/uninorm/u8-normcmp-tests (Files): Add
68053         tests/uninorm/test-u8-normcmp.h.
68054         (Depends-on): Remove uninorm/u8-normcmp.
68056 2009-03-07  Bruno Haible  <bruno@clisp.org>
68058         New module 'uninorm/u32-normcoll'.
68059         * lib/uninorm/u32-normcoll.c: New file.
68060         * modules/uninorm/u32-normcoll: New file.
68062         New module 'uninorm/u16-normcoll'.
68063         * lib/uninorm/u16-normcoll.c: New file.
68064         * modules/uninorm/u16-normcoll: New file.
68066         New module 'uninorm/u8-normcoll'.
68067         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
68068         declarations.
68069         * lib/uninorm/u8-normcoll.c: New file.
68070         * lib/uninorm/u-normcoll.h: New file.
68071         * modules/uninorm/u8-normcoll: New file.
68073         New module 'uninorm/u32-normxfrm'.
68074         * lib/uninorm/u32-normxfrm.c: New file.
68075         * modules/uninorm/u32-normxfrm: New file.
68077         New module 'uninorm/u16-normxfrm'.
68078         * lib/uninorm/u16-normxfrm.c: New file.
68079         * modules/uninorm/u16-normxfrm: New file.
68081         New module 'uninorm/u8-normxfrm'.
68082         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
68083         declarations.
68084         * lib/uninorm/u8-normxfrm.c: New file.
68085         * lib/uninorm/u-normxfrm.h: New file.
68086         * modules/uninorm/u8-normxfrm: New file.
68088 2009-03-07  Bruno Haible  <bruno@clisp.org>
68090         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
68091         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
68092         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
68094 2009-03-07  Bruno Haible  <bruno@clisp.org>
68096         New module 'memxfrm'.
68097         * lib/memxfrm.h: New file.
68098         * lib/memxfrm.c: New file.
68099         * modules/memxfrm: New file.
68101 2009-03-07  Bruno Haible  <bruno@clisp.org>
68103         New module 'memcmp2'.
68104         * lib/memcmp2.h: New file.
68105         * lib/memcmp2.c: New file.
68106         * modules/memcmp2: New file.
68108 2009-03-07  Bruno Haible  <bruno@clisp.org>
68110         Tests for module 'uninorm/decomposing-form'.
68111         * modules/uninorm/decomposing-form-tests: New file.
68112         * tests/uninorm/test-decomposing-form.c: New file.
68114         New module 'uninorm/decomposing-form'.
68115         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
68116         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
68117         Add 'decomposing_variant' field.
68118         * lib/uninorm/decomposing-form.c: New file.
68119         * lib/uninorm/nfc.c (uninorm_nfc): Update.
68120         * lib/uninorm/nfd.c (uninorm_nfd): Update.
68121         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
68122         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
68123         * modules/uninorm/decomposing-form: New file.
68124         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
68125         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
68127 2009-03-07  Bruno Haible  <bruno@clisp.org>
68129         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
68130         strings.
68132 2009-03-06  Bruno Haible  <bruno@clisp.org>
68134         Tests for module 'uninorm/u32-normcmp'.
68135         * tests/uninorm/test-u32-normcmp.c: New file.
68136         * modules/uninorm/u32-normcmp-tests: New file.
68138         Tests for module 'uninorm/u16-normcmp'.
68139         * tests/uninorm/test-u16-normcmp.c: New file.
68140         * modules/uninorm/u16-normcmp-tests: New file.
68142         Tests for module 'uninorm/u8-normcmp'.
68143         * tests/uninorm/test-u8-normcmp.c: New file.
68144         * modules/uninorm/u8-normcmp-tests: New file.
68146         New module 'uninorm/u32-normcmp'.
68147         * lib/uninorm/u32-normcmp.c: New file.
68148         * modules/uninorm/u32-normcmp: New file.
68150         New module 'uninorm/u16-normcmp'.
68151         * lib/uninorm/u16-normcmp.c: New file.
68152         * modules/uninorm/u16-normcmp: New file.
68154         New module 'uninorm/u8-normcmp'.
68155         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
68156         declarations.
68157         * lib/uninorm/u8-normcmp.c: New file.
68158         * lib/uninorm/u-normcmp.h: New file.
68159         * modules/uninorm/u8-normcmp: New file.
68161 2009-03-06  Bruno Haible  <bruno@clisp.org>
68163         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
68164         Reported by Eric Blake.
68166 2009-03-06  Eric Blake  <ebb9@byu.net>
68167             Bruno Haible  <bruno@clisp.org>
68169         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
68170         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
68171         condition.
68172         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
68173         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
68174         condition.
68175         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
68177 2009-03-06  Eric Blake  <ebb9@byu.net>
68179         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
68180         to avoid compiler warnings.
68181         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
68183 2009-03-05  Bruno Haible  <bruno@clisp.org>
68185         * tests/test-ftell.c (main): Disable test beyond end of file on
68186         FreeMiNT.
68187         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
68189 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
68191         * lib/filevercmp.c: Move hidden files up in ordering.
68192         * tests/test-filevercmp.c: Add tests for hidden files.
68194 2009-03-04  Bruno Haible  <bruno@clisp.org>
68196         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
68197         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
68198         AM_CFLAGS.
68199         Reported by Simon Josefsson.
68201 2009-03-03  Bruno Haible  <bruno@clisp.org>
68203         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
68204         Reported by Simon Josefsson.
68206         * doc/ld-version-script.texi: Update node reference.
68208 2009-03-03  Bruno Haible  <bruno@clisp.org>
68210         * modules/visibility (License): Change to 'unlimited'.
68211         Suggested by Simon Josefsson.
68213 2009-03-03  Jim Meyering  <meyering@redhat.com>
68215         unlinkdir: cannot_unlink_dir may modify process state
68216         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
68217         it's neither thread-safe nor appropriate for use in a library.
68219 2009-03-03  Eric Blake  <ebb9@byu.net>
68221         test-closein: silence test under Darwin
68222         * tests/test-closein.sh: Ignore stderr from cat, since we don't
68223         care if it dies from EPIPE or EBADF.
68225 2009-03-03  Bruno Haible  <bruno@clisp.org>
68227         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
68228         earlier.
68229         * doc/visibility.texi: Fix @node and @section.
68231 2009-03-03  Simon Josefsson  <simon@josefsson.org>
68233         * doc/gnulib.texi: Link to sections for ld version script and
68234         visibility.
68235         * doc/visibility.texi: Add @node and @section.
68236         * modules/ld-version-script: New module.
68237         * m4/ld-version-script.m4: New file.
68238         * doc/ld-version-script.texi: New file.
68240 2009-03-02  David Lutterkort  <lutter@redhat.com>
68242         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
68243         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
68245 2009-03-02  Bruno Haible  <bruno@clisp.org>
68247         * doc/visibility.texi: Mention libtool's -export-symbols option.
68249 2009-03-02  Jim Meyering  <meyering@redhat.com>
68251         announce-gen: new option: --no-print-checksums
68252         * build-aux/announce-gen (usage): Describe it.
68253         (print_checksums): Print a newline here, not in the [*] footnote.
68254         (main): Honor it.
68256 2009-03-01  Bruno Haible  <bruno@clisp.org>
68258         Use socklen_t in the native Windows replacements prototypes.
68259         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
68260         instead of 'int'.
68261         * lib/getsockopt.c (rpl_getsockopt): Likewise.
68262         * lib/setsockopt.c (rpl_setsockopt): Likewise.
68263         * modules/getsockopt (Depends-on): Add socklen.
68264         * modules/setsockopt (Depends-on): Add socklen.
68266 2009-03-01  Bruno Haible  <bruno@clisp.org>
68268         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
68269         least 4.2.
68271 2009-03-01  Eric Blake  <ebb9@byu.net>
68272             Bruno Haible  <bruno@clisp.org>
68274         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
68275         error messages.
68276         * lib/wait-process.c (wait_subprocess): Omit error message about
68277         deadly signal sent to the child of termsigp != NULL.
68279 2009-03-01  Eric Blake  <ebb9@byu.net>
68281         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
68283 2009-03-01  Bruno Haible  <bruno@clisp.org>
68285         Avoid a gcc warning.
68286         * tests/test-sched.c (b): Make global.
68287         Reported by Eric Blake.
68289 2009-01-19  Martin Lambers  <marlam@marlam.de>
68291         Provide POSIX semantics for socket timeout options on W32.
68292         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
68293         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
68294         * modules/setsockopt: Depend on sys_time module for struct timeval.
68295         * modules/getsockopt: Depend on sys_time module for struct timeval.
68297 2009-03-01  Simon Josefsson  <simon@josefsson.org>
68299         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
68300         __USE_GNU, for consistency with netdb.in.h.
68301         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
68303 2009-03-01  Bruno Haible  <bruno@clisp.org>
68305         More support for FreeMiNT.
68306         * lib/fseeko.c (rpl_fseeko): Complete last commit.
68307         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
68309 2009-03-01  Bruno Haible  <bruno@clisp.org>
68311         More support for FreeMiNT.
68312         * lib/fpurge.c (fpurge): Correct last commit.
68313         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
68315 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68317         Fix unportable awk script in vc-list-files.
68318         * build-aux/vc-list-files: In the replacement awk script, use
68319         substr with a second argument of 1, not zero.
68320         Report by Simon Josefsson.
68322 2009-02-28  Bruno Haible  <bruno@clisp.org>
68324         More support for FreeMiNT.
68325         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
68326         to FreeMiNT today.
68327         * lib/fwriting.c (fwriting): Likewise.
68328         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
68330 2009-02-28  Bruno Haible  <bruno@clisp.org>
68332         * tests/test-freadseek.c (main): Disable test beyond end of file on
68333         FreeMiNT.
68334         * tests/test-ftello.c (main): Likewise.
68335         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
68337 2009-02-28  Bruno Haible  <bruno@clisp.org>
68339         Add tentative support for FreeMiNT.
68340         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
68341         * lib/fpurge.c (fpurge): Likewise.
68342         * lib/freadable.c (freadable): Likewise.
68343         * lib/freading.c (freading): Likewise.
68344         * lib/freadptr.c (freadptr): Likewise.
68345         * lib/freadseek.c (freadptrinc): Likewise.
68346         * lib/fseeko.c (rpl_fseeko): Likewise.
68347         * lib/fseterr.c (fseterr): Likewise.
68348         * lib/fwritable.c (fwritable): Likewise.
68349         * lib/fwriting.c (fwriting): Likewise.
68350         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
68351         Hourihane.
68352         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
68354 2009-02-28  Bruno Haible  <bruno@clisp.org>
68356         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
68357         SIGCHLD.
68358         Reported by Jim Meyering.
68360 2009-02-28  Bruno Haible  <bruno@clisp.org>
68362         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
68363         Mention the results of these tests on various platforms.
68364         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
68365         order.
68366         * doc/posix-functions/printf.texi: Likewise.
68367         * doc/posix-functions/snprintf.texi: Likewise.
68368         * doc/posix-functions/sprintf.texi: Likewise.
68369         * doc/posix-functions/vfprintf.texi: Likewise.
68370         * doc/posix-functions/vprintf.texi: Likewise.
68371         * doc/posix-functions/vsnprintf.texi: Likewise.
68372         * doc/posix-functions/vsprintf.texi: Likewise.
68373         * doc/glibc-functions/obstack_printf.texi: Likewise.
68374         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
68376 2009-02-28  Bruno Haible  <bruno@clisp.org>
68378         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
68379         Reported by Loïc Minier <lool@dooz.org>.
68381 2009-02-27  Bruno Haible  <bruno@clisp.org>
68383         * gnulib-tool (func_import): Make the sed expression used to create the
68384         sed script for updating the .gitignore file POSIX compliant.
68385         Reported by Eric Blake.
68387 2009-02-27  Bruno Haible  <bruno@clisp.org>
68389         * gnulib-tool (sed): Don't alias as "sed --posix".
68390         Reported by Eric Blake.
68392 2009-02-27  Bruno Haible  <bruno@clisp.org>
68394         Avoid test link errors.
68395         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
68396         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
68397         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
68398         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
68399         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
68401 2009-02-27  Bruno Haible  <bruno@clisp.org>
68403         Avoid spurious "(cached)" in configure output.
68404         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
68405         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
68406         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
68407         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
68408         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
68409         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
68410         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
68411         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
68412         Reported by Eric Blake.
68414 2009-02-27  Eric Blake  <ebb9@byu.net>
68416         printf: fix regression in previous patch
68417         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
68419 2009-02-27  Bruno Haible  <bruno@clisp.org>
68421         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
68422         value.
68423         * lib/stdint.in.h: Likewise.
68424         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
68426 2009-02-27  Eric Blake  <ebb9@byu.net>
68428         doc: mention more functions added in cygwin 1.7.0
68429         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
68430         addition.
68431         * doc/posix-functions/open_wmemstream.texi: Likewise.
68432         * doc/posix-functions/wcsnlen.texi: Likewise.
68433         * doc/posix-functions/wcsnrtombs.texi: Likewise.
68434         * doc/posix-functions/wcstod.texi: Likewise.
68435         * doc/posix-functions/wcstof.texi: Likewise.
68436         * doc/posix-functions/wcstoimax.texi: Likewise.
68437         * doc/posix-functions/wcstok.texi: Likewise.
68438         * doc/posix-functions/wcstoumax.texi: Likewise.
68440         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
68441         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
68442         * doc/posix-functions/fprintf.texi: Update.
68443         * doc/posix-functions/printf.texi: Update.
68444         * doc/posix-functions/snprintf.texi: Update.
68445         * doc/posix-functions/sprintf.texi: Update.
68446         * doc/posix-functions/vfprintf.texi: Update.
68447         * doc/posix-functions/vprintf.texi: Update.
68448         * doc/posix-functions/vsnprintf.texi: Update.
68449         * doc/posix-functions/vsprintf.texi: Update.
68450         * doc/glibc-functions/obstack_printf.texi: Update.
68451         * doc/glibc-functions/obstack_vprintf.texi: Update.
68453 2009-02-26  Eric Blake  <ebb9@byu.net>
68455         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
68456         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
68457         compilation bug by using runtime conversion.
68458         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
68459         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
68460         * modules/ceill-tests (Files): Use nan.h.
68461         * modules/floorl-tests (Files): Likewise.
68462         * modules/frexpl-tests (Files): Likewise.
68463         * modules/isnanl-tests (Files): Likewise.
68464         * modules/ldexpl-tests (Files): Likewise.
68465         * modules/roundl-tests (Files): Likewise.
68466         * modules/truncl-tests (Files): Likewise.
68467         * tests/test-ceill.c (main): Use a working NaN.
68468         * tests/test-floorl.c (main): Likewise.
68469         * tests/test-frexpl.c (main): Likewise.
68470         * tests/test-isnan.c (test_long_double): Likewise.
68471         * tests/test-isnanl.h (main): Likewise.
68472         * tests/test-ldexpl.h (main): Likewise.
68473         * tests/test-roundl.h (main): Likewise.
68474         * tests/test-truncl.h (main): Likewise.
68475         See http://lists.gnu.org/r/bug-gnulib/2009-02/msg00190.html.
68477 2009-02-26  Eric Blake  <ebb9@byu.net>
68478             Bruno Haible  <bruno@clisp.org>
68480         Work around a *printf bug with %ls on Solaris.
68481         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
68482         precision is specified, sprintf stops converting the wide string
68483         argument when the number of bytes that have been produced by this
68484         conversion equals or exceeds the precision.
68485         * doc/posix-functions/fprintf.texi: Update.
68486         * doc/posix-functions/printf.texi: Update.
68487         * doc/posix-functions/snprintf.texi: Update.
68488         * doc/posix-functions/sprintf.texi: Update.
68489         * doc/posix-functions/vfprintf.texi: Update.
68490         * doc/posix-functions/vprintf.texi: Update.
68491         * doc/posix-functions/vsnprintf.texi: Update.
68492         * doc/posix-functions/vsprintf.texi: Update.
68493         * doc/glibc-functions/obstack_printf.texi: Update.
68494         * doc/glibc-functions/obstack_vprintf.texi: Update.
68496 2009-02-26  Eric Blake  <ebb9@byu.net>
68498         stdlib: favor compiler check of random.h
68499         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
68500         to avoid an ObjC random.h installed by Swarm.
68502 2009-02-26  Bruno Haible  <bruno@clisp.org>
68504         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
68505         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
68506         Reported by Gary V. Vaughan <gary@gnu.org>.
68508 2009-02-26  Bruno Haible  <bruno@clisp.org>
68510         Fix *printf behaviour regarding the %ls directive.
68511         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
68512         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
68513         NEED_PRINTF_DIRECTIVE_LS.
68514         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
68515         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
68516         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
68517         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
68518         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
68519         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
68520         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
68521         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
68522         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
68523         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
68524         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
68525         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
68526         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
68527         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
68528         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
68529         * doc/posix-functions/fprintf.texi: Update.
68530         * doc/posix-functions/printf.texi: Update.
68531         * doc/posix-functions/snprintf.texi: Update.
68532         * doc/posix-functions/sprintf.texi: Update.
68533         * doc/posix-functions/vfprintf.texi: Update.
68534         * doc/posix-functions/vprintf.texi: Update.
68535         * doc/posix-functions/vsnprintf.texi: Update.
68536         * doc/posix-functions/vsprintf.texi: Update.
68537         * doc/glibc-functions/obstack_printf.texi: Update.
68538         * doc/glibc-functions/obstack_vprintf.texi: Update.
68539         Reported by Eric Blake.
68541 2009-02-25  Bruno Haible  <bruno@clisp.org>
68543         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
68544         with known value.
68545         Reported by Gary V. Vaughan <gary@gnu.org>.
68547 2009-02-25  Bruno Haible  <bruno@clisp.org>
68549         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
68550         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
68551         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
68552         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
68553         Reported by Gary V. Vaughan <gary@gnu.org>.
68555 2009-02-25  Bruno Haible  <bruno@clisp.org>
68557         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
68558         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
68559         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
68560         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
68561         Reported by Gary V. Vaughan <gary@gnu.org>.
68563 2009-02-25  Eric Blake  <ebb9@byu.net>
68565         tests: skip fseek/ftell tests if ungetc is broken
68566         * m4/ungetc.m4: New file.
68567         * modules/fseek-tests: Split test, so ungetc dependency is
68568         separate from rest of test.
68569         * modules/fseeko-tests: Likewise.
68570         * modules/ftell-tests: Likewise.
68571         * modules/ftello-tests: Likewise.
68572         * tests/test-fseek.c (main): Isolate ungetc dependency.
68573         * tests/test-fseeko.c (main): Likewise.
68574         * tests/test-ftell.c (main): Likewise.
68575         * tests/test-ftello.c (main): Likewise.
68576         * tests/test-fseek2.sh: New file.
68577         * tests/test-fseeko2.sh: Likewise.
68578         * tests/test-ftell2.sh: Likewise.
68579         * tests/test-ftello2.sh: Likewise.
68581 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
68583         test-getaddrinfo: fix usage of skip return code 77
68584         * tests/test-gettaddrinfo.c: Return skip code 77 only
68585         for first occurrence of skip (4x77 is not 77)
68587 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
68589         strtod: avoid C99 decl-after-statement
68590         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
68592 2009-02-24  Eric Blake  <ebb9@byu.net>
68594         strtod: detect HP-UX 11.31 bug
68595         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
68596         Reported by Gary V. Vaughan.
68598 2009-02-23  Bruno Haible  <bruno@clisp.org>
68600         Fix invalid read past end of memory block.
68601         * lib/vasnprintf.c (DCHAR_SET): Define.
68602         (local_wcslen): Define only when needed.
68603         (local_strnlen, local_wcsnlen): New functions.
68604         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
68605         directives that involve a conversion ourselves.
68606         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
68607         wcsnlen, mbrtowc, wcrtomb.
68608         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
68609         * tests/test-vasprintf-posix.c (test_function): Likewise.
68610         * tests/test-snprintf-posix.h (test_function): Likewise.
68611         * tests/test-sprintf-posix.h (test_function): Likewise.
68612         Reported by Ben Pfaff <blp@cs.stanford.edu>.
68614 2009-02-22  Bruno Haible  <bruno@clisp.org>
68616         Implement new clarified decomposition of Hangul syllables.
68617         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
68618         of type LTV, return only a pairwise decomposition.
68619         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
68620         Likewise.
68621         * tests/uninorm/test-decomposition.c (main): Updated expected result.
68622         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
68623         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
68625 2009-02-22  Bruno Haible  <bruno@clisp.org>
68627         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
68628         zero-length results and shrink excess allocated memory.
68629         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
68630         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
68631         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
68632         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
68633         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
68634         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
68635         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
68636         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
68637         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
68638         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
68639         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
68640         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
68642 2009-02-21  Bruno Haible  <bruno@clisp.org>
68644         * doc/gnulib.texi: Include safe-alloc.texi earlier.
68645         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
68646         spaces after a period. Put a space between a macro name and its
68647         argument list. Trivial rewordings.
68648         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
68649         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
68650         (main): Return 0 explicitly.
68652 2009-02-21  Bruno Haible  <bruno@clisp.org>
68654         Tests for module 'uninorm/filter'.
68655         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
68656         * modules/uninorm/filter-tests: New file.
68658         New module 'uninorm/filter'.
68659         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
68660         uninorm_filter_flush, uninorm_filter_free): New declarations.
68661         * lib/uninorm/uninorm-filter.c: New file.
68662         * modules/uninorm/filter: New file.
68664 2009-02-21  Bruno Haible  <bruno@clisp.org>
68666         Tests for module 'uninorm/nfkc'.
68667         * tests/uninorm/test-nfkc.c: New file.
68668         * tests/uninorm/test-u8-nfkc.c: New file.
68669         * tests/uninorm/test-u16-nfkc.c: New file.
68670         * tests/uninorm/test-u32-nfkc.c: New file.
68671         * tests/uninorm/test-u32-nfkc-big.sh: New file.
68672         * tests/uninorm/test-u32-nfkc-big.c: New file.
68673         * modules/uninorm/nfkc-tests: New file.
68675         New module 'uninorm/nfkc'.
68676         * lib/uninorm/nfkc.c: New file.
68677         * modules/uninorm/nfkc: New file.
68679         Tests for module 'uninorm/nfkd'.
68680         * tests/uninorm/test-nfkd.c: New file.
68681         * tests/uninorm/test-u8-nfkd.c: New file.
68682         * tests/uninorm/test-u16-nfkd.c: New file.
68683         * tests/uninorm/test-u32-nfkd.c: New file.
68684         * tests/uninorm/test-u32-nfkd-big.sh: New file.
68685         * tests/uninorm/test-u32-nfkd-big.c: New file.
68686         * modules/uninorm/nfkd-tests: New file.
68688         New module 'uninorm/nfkd'.
68689         * lib/uninorm/nfkd.c: New file.
68690         * modules/uninorm/nfkd: New file.
68692         Tests for module 'uninorm/nfc'.
68693         * tests/uninorm/test-nfc.c: New file.
68694         * tests/uninorm/test-u8-nfc.c: New file.
68695         * tests/uninorm/test-u16-nfc.c: New file.
68696         * tests/uninorm/test-u32-nfc.c: New file.
68697         * tests/uninorm/test-u32-nfc-big.sh: New file.
68698         * tests/uninorm/test-u32-nfc-big.c: New file.
68699         * modules/uninorm/nfc-tests: New file.
68701         New module 'uninorm/nfc'.
68702         * lib/uninorm/nfc.c: New file.
68703         * modules/uninorm/nfc: New file.
68705         Tests for module 'uninorm/nfd'.
68706         * tests/uninorm/test-nfd.c: New file.
68707         * tests/uninorm/test-u8-nfd.c: New file.
68708         * tests/uninorm/test-u16-nfd.c: New file.
68709         * tests/uninorm/test-u32-nfd.c: New file.
68710         * tests/uninorm/test-u32-nfd-big.sh: New file.
68711         * tests/uninorm/test-u32-nfd-big.c: New file.
68712         * tests/uninorm/test-u32-normalize-big.h: New file.
68713         * tests/uninorm/test-u32-normalize-big.c: New file.
68714         * tests/uninorm/NormalizationTest.txt: New file, created from
68715         Unicode 5.1.0 NormalizationTest.txt.
68716         * modules/uninorm/nfd-tests: New file.
68718         New module 'uninorm/nfd'.
68719         * lib/uninorm/nfd.c: New file.
68720         * modules/uninorm/nfd: New file.
68722         New module 'uninorm/u32-normalize'.
68723         * lib/uninorm/u32-normalize.c: New file.
68724         * modules/uninorm/u32-normalize: New file.
68726         New module 'uninorm/u16-normalize'.
68727         * lib/uninorm/u16-normalize.c: New file.
68728         * modules/uninorm/u16-normalize: New file.
68730         New module 'uninorm/u8-normalize'.
68731         * lib/uninorm/u8-normalize.c: New file.
68732         * lib/uninorm/normalize-internal.h: New file.
68733         * lib/uninorm/u-normalize-internal.h: New file.
68734         * modules/uninorm/u8-normalize: New file.
68736         New module 'uninorm/decompose-internal'.
68737         * lib/uninorm/decompose-internal.c: New file.
68738         * modules/uninorm/decompose-internal: New file.
68740         Tests for module 'uninorm/composition'.
68741         * tests/uninorm/test-composition.c: New file.
68742         * modules/uninorm/composition-tests: New file.
68744         New module 'uninorm/composition'.
68745         * lib/uninorm/composition.c: New file.
68746         * lib/uninorm/composition-table.gperf: New file, generated by
68747         gen-uni-tables.
68748         * modules/uninorm/composition: New file.
68750         Tests for module 'uninorm/compat-decomposition'.
68751         * tests/uninorm/test-compat-decomposition.c: New file.
68752         * modules/uninorm/compat-decomposition-tests: New file.
68754         New module 'uninorm/compat-decomposition'.
68755         * lib/uninorm/decompose-internal.h: New file.
68756         * lib/uninorm/compat-decomposition.c: New file.
68757         * modules/uninorm/compat-decomposition: New file.
68759         Tests for module 'uninorm/canonical-decomposition'.
68760         * tests/uninorm/test-canonical-decomposition.c: New file.
68761         * modules/uninorm/canonical-decomposition-tests: New file.
68763         New module 'uninorm/canonical-decomposition'.
68764         * lib/uninorm/canonical-decomposition.c: New file.
68765         * modules/uninorm/canonical-decomposition: New file.
68767         Tests for module 'uninorm/decomposition'.
68768         * tests/uninorm/test-decomposition.c: New file.
68769         * modules/uninorm/decomposition-tests: New file.
68771         New module 'uninorm/decomposition'.
68772         * lib/uninorm/decomposition.c: New file.
68773         * modules/uninorm/decomposition: New file.
68775         New module 'uninorm/decomposition-table'.
68776         * lib/uninorm/decomposition-table.h: New file.
68777         * lib/uninorm/decomposition-table.c: New file.
68778         * lib/uninorm/decomposition-table1.h: New file, generated by
68779         gen-uni-tables.
68780         * lib/uninorm/decomposition-table2.h: New file, generated by
68781         gen-uni-tables.
68782         * modules/uninorm/decomposition-table: New file.
68784         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
68785         (UC_DECOMP_*): New enumeration items.
68786         (get_decomposition): New function.
68787         (struct decomp_table): New type.
68788         (output_decomposition, output_decomposition_tables): New functions.
68789         (unicode_composition_exclusions): New variable.
68790         (fill_composition_exclusions, debug_output_composition_tables): New
68791         functions.
68792         (main): Accept one more argument. Invoke fill_composition_exclusions.
68793         Output decomposition and composition tables.
68795         New module 'uninorm/base'.
68796         * lib/uninorm.h: New file.
68797         * lib/unictype.h: Update comment.
68798         * modules/uninorm/base: New file.
68800 2009-02-21  David Lutterkort  <lutter@redhat.com>
68802         Tests for module 'safe-alloc'.
68803         * tests/test-safe-alloc.c: New file.
68804         * modules/safe-alloc-tests: New file.
68806         New module 'safe-alloc'.
68807         * lib/safe-alloc.h: New file.
68808         * lib/safe-alloc.c: New file.
68809         * m4/safe-alloc.m4: New file.
68810         * modules/safe-alloc: New file.
68811         * doc/safe-alloc.texi: New file.
68812         * doc/gnulib.texi: Include it.
68813         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
68814         safe-alloc.
68816 2009-02-18  Bruno Haible  <bruno@clisp.org>
68818         Fix link error on non-glibc systems.
68819         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
68820         variable.
68821         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
68823 2009-02-18  Jim Meyering  <meyering@redhat.com>
68825         fts: avoid used-uninitialized error due to recent change
68826         * lib/fts.c (fts_read): Guard uses of the new member,
68827         parent->fts_n_dirs_remaining, since it's not relevant for
68828         the parent of a directory specified on the command-line.
68830 2009-02-17  James Youngman  <jay@gnu.org>
68831             Bruno Haible  <bruno@clisp.org>
68833         * m4/include_next.m4: Reformulate comment.
68835 2009-02-16  Jim Meyering  <meyering@redhat.com>
68837         fts: add #if guards so that the fts_lgpl module still builds
68838         * lib/fts.c: Guard just-added hash-table-using parts with
68839         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
68840         Reported by Simon Josefsson.
68842 2009-02-15  Bruno Haible  <bruno@clisp.org>
68844         * modules/array-mergesort-tests: New file.
68845         * tests/test-array-mergesort.c: New file.
68847         New module 'array-mergesort'.
68848         * modules/array-mergesort: New file.
68849         * lib/array-mergesort.h: New file.
68851 2009-02-15  Bruno Haible  <bruno@clisp.org>
68853         Fix 2009-02-07 commit.
68854         * lib/gen-uni-tables.c (output_predicate, output_category,
68855         output_combclass, output_bidi_category, output_decimal_digit,
68856         output_digit, output_numeric, output_mirror, output_scripts,
68857         output_ident_category, output_simple_mapping): Fix format directives.
68858         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
68860 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
68862         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
68863         fixes are available from IBM.
68865 2009-02-13  Jim Meyering  <meyering@redhat.com>
68867         fts: arrange not to stat non-directories in more cases
68868         This makes GNU find (when it doesn't need to stat each file)
68869         *much* more efficient at traversing reiserfs file systems.
68870         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
68871         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
68872         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
68873         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
68874         (leaf_optimization_applies): New function.
68875         (LCO_hash, LCO_compare): New helper functions.
68876         (link_count_optimize_ok): New function.
68877         (fts_stat): Initialize new member (if dir).
68878         (fts_read): Decrement parent's fts_n_dirs_remaining count if
68879         we've just stat'ed a directory.  Skip the stat call when possible.
68880         ---
68881         Note this AFS-related exchange:
68882         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
68883         and note find's pioctl call in find/fstype.c.
68884         But that is necessary only if you want to enable the
68885         optimization for AFS, and for now, I don't.
68887         fts: move a function definition "up" (no semantic change)
68888         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
68889         "up" to precede upcoming use of a related function.
68891 2009-02-11  Jim Meyering  <meyering@redhat.com>
68893         fts: correct internal computation of nlinks (optimization-related)
68894         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
68895         whether the current entry is a directory, so don't test it.
68897 2009-02-10  Bruno Haible  <bruno@clisp.org>
68899         Tests for module 'uniwbrk/ulc-wordbreaks'.
68900         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
68901         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
68902         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
68904         Tests for module 'uniwbrk/u32-wordbreaks'.
68905         * modules/uniwbrk/u32-wordbreaks-tests: New file.
68906         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
68908         Tests for module 'uniwbrk/u16-wordbreaks'.
68909         * modules/uniwbrk/u16-wordbreaks-tests: New file.
68910         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
68912         Tests for module 'uniwbrk/u8-wordbreaks'.
68913         * modules/uniwbrk/u8-wordbreaks-tests: New file.
68914         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
68916 2009-02-10  Bruno Haible  <bruno@clisp.org>
68918         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
68919         property.
68920         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
68921         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
68922         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
68924 2009-02-10  Simon Josefsson  <simon@josefsson.org>
68926         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
68927         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
68929 2009-02-10  Bruno Haible  <bruno@clisp.org>
68931         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
68932         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
68933         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
68934         * lib/unilbrk/u8-possible-linebreaks.c: Update.
68935         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
68936         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
68938 2009-02-09  Simon Josefsson  <simon@josefsson.org>
68940         * lib/sockets.h (gl_fd_to_handle): New function.
68942         * tests/test-sockets.c: Call gl_fd_to_handle.
68944 2009-02-09  Bruno Haible  <bruno@clisp.org>
68946         * doc/havelib.texi: Document the conventions on bi-arch systems.
68948 2009-02-08  Bruno Haible  <bruno@clisp.org>
68950         Document the AC_LIB_LINKFLAGS macro.
68951         * doc/havelib.texi: New file, mostly written on 2005-05-24.
68952         * doc/gnulib.texi: Include it.
68954 2009-02-08  Bruno Haible  <bruno@clisp.org>
68956         Fix wrong order of sections, compared to TOC.
68957         * doc/gnulib.texi: Include relocatable-maint.texi after the
68958         "Regular expressions" node, not before.
68960 2009-02-08  Bruno Haible  <bruno@clisp.org>
68962         Tests for module 'unicase/totitle'.
68963         * modules/unicase/totitle-tests: New file.
68965         Tests for module 'unicase/tolower'.
68966         * modules/unicase/tolower-tests: New file.
68968         Tests for module 'unicase/toupper'.
68969         * modules/unicase/toupper-tests: New file.
68970         * tests/unicase/test-mapping-part1.h: New file.
68971         * tests/unicase/test-mapping-part2.h: New file.
68973         New module 'unicase/totitle'.
68974         * modules/unicase/totitle: New file.
68975         * lib/unicase/totitle.c: New file.
68977         New module 'unicase/tolower'.
68978         * modules/unicase/tolower: New file.
68979         * lib/unicase/tolower.c: New file.
68981         New module 'unicase/toupper'.
68982         * modules/unicase/toupper: New file.
68983         * lib/unicase/toupper.c: New file.
68984         * lib/unicase/simple-mapping.h: New file.
68986         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
68987         (mapping_table): New structure.
68988         (output_simple_mapping): New function.
68989         (main): Invoke output_simple_mapping_test and output_simple_mapping.
68990         * modules/gen-uni-tables (Description): Update.
68991         * lib/unicase/toupper.h: New file, automatically generated by
68992         gen-uni-tables.
68993         * lib/unicase/tolower.h: New file, automatically generated by
68994         gen-uni-tables.
68995         * lib/unicase/totitle.h: New file, automatically generated by
68996         gen-uni-tables.
68997         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
68998         gen-uni-tables.
68999         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
69000         gen-uni-tables.
69001         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
69002         gen-uni-tables.
69004         New module 'unicase/base'.
69005         * modules/unicase/base: New file.
69006         * lib/unicase.h: New file.
69008 2009-02-08  Bruno Haible  <bruno@clisp.org>
69010         New module 'uniwbrk/ulc-wordbreaks'.
69011         * modules/uniwbrk/ulc-wordbreaks: New file.
69012         * lib/uniwbrk/ulc-wordbreaks.c: New file.
69014         New module 'uniwbrk/u32-wordbreaks'.
69015         * modules/uniwbrk/u32-wordbreaks: New file.
69016         * lib/uniwbrk/u32-wordbreaks.c: New file.
69018         New module 'uniwbrk/u16-wordbreaks'.
69019         * modules/uniwbrk/u16-wordbreaks: New file.
69020         * lib/uniwbrk/u16-wordbreaks.c: New file.
69022         New module 'uniwbrk/u8-wordbreaks'.
69023         * modules/uniwbrk/u8-wordbreaks: New file.
69024         * lib/uniwbrk/u8-wordbreaks.c: New file.
69025         * lib/uniwbrk/u-wordbreaks.h: New file.
69027         New module 'uniwbrk/table'.
69028         * modules/uniwbrk/table: New file.
69029         * lib/uniwbrk/wbrktable.h: New file.
69030         * lib/uniwbrk/wbrktable.c: New file.
69032         New module 'uniwbrk/wordbreak-property'.
69033         * modules/uniwbrk/wordbreak-property: New file.
69034         * lib/uniwbrk/wordbreak-property.c: New file.
69036         * lib/gen-uni-tables.c (WBP_*): New enum items.
69037         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
69038         (unicode_org_wbp): New variable.
69039         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
69040         New functions.
69041         (wbp_table): New structure.
69042         (output_wbp, output_wbrk_tables): New functions.
69043         (main): Accept additional argument. Invoke fill_org_wbp,
69044         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
69045         output_wbrk_tables.
69046         * modules/gen-uni-tables (Description): Update.
69047         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
69048         gen-uni-tables.
69050         New module 'uniwbrk/base'.
69051         * modules/uniwbrk/base: New file.
69052         * lib/uniwbrk.h: New file.
69054 2009-02-08  Bruno Haible  <bruno@clisp.org>
69056         Update to Unicode 5.1.0.
69057         * lib/gen-uni-tables.c (is_property_alphabetic): Include
69058         U+2185..U+2188.
69059         (is_property_default_ignorable_code_point): Don't include characters
69060         of category Cc or Cs and not-a-characters.
69061         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
69062         U+0D79, U+109E, U+109F, U+A60C.
69063         * lib/unictype/bidi_of.h: Regenerated.
69064         * lib/unictype/blocks.h: Regenerated.
69065         * lib/unictype/categ_C.h: Regenerated.
69066         * lib/unictype/categ_Cf.h: Regenerated.
69067         * lib/unictype/categ_Cn.h: Regenerated.
69068         * lib/unictype/categ_L.h: Regenerated.
69069         * lib/unictype/categ_Ll.h: Regenerated.
69070         * lib/unictype/categ_Lm.h: Regenerated.
69071         * lib/unictype/categ_Lo.h: Regenerated.
69072         * lib/unictype/categ_Lu.h: Regenerated.
69073         * lib/unictype/categ_M.h: Regenerated.
69074         * lib/unictype/categ_Mc.h: Regenerated.
69075         * lib/unictype/categ_Me.h: Regenerated.
69076         * lib/unictype/categ_Mn.h: Regenerated.
69077         * lib/unictype/categ_N.h: Regenerated.
69078         * lib/unictype/categ_Nd.h: Regenerated.
69079         * lib/unictype/categ_Nl.h: Regenerated.
69080         * lib/unictype/categ_No.h: Regenerated.
69081         * lib/unictype/categ_P.h: Regenerated.
69082         * lib/unictype/categ_Pd.h: Regenerated.
69083         * lib/unictype/categ_Pe.h: Regenerated.
69084         * lib/unictype/categ_Pf.h: Regenerated.
69085         * lib/unictype/categ_Pi.h: Regenerated.
69086         * lib/unictype/categ_Po.h: Regenerated.
69087         * lib/unictype/categ_Ps.h: Regenerated.
69088         * lib/unictype/categ_S.h: Regenerated.
69089         * lib/unictype/categ_Sk.h: Regenerated.
69090         * lib/unictype/categ_Sm.h: Regenerated.
69091         * lib/unictype/categ_So.h: Regenerated.
69092         * lib/unictype/categ_of.h: Regenerated.
69093         * lib/unictype/combining.h: Regenerated.
69094         * lib/unictype/ctype_alnum.h: Regenerated.
69095         * lib/unictype/ctype_alpha.h: Regenerated.
69096         * lib/unictype/ctype_graph.h: Regenerated.
69097         * lib/unictype/ctype_lower.h: Regenerated.
69098         * lib/unictype/ctype_print.h: Regenerated.
69099         * lib/unictype/ctype_punct.h: Regenerated.
69100         * lib/unictype/ctype_upper.h: Regenerated.
69101         * lib/unictype/decdigit.h: Regenerated.
69102         * lib/unictype/digit.h: Regenerated.
69103         * lib/unictype/mirror.h: Regenerated.
69104         * lib/unictype/numeric.h: Regenerated.
69105         * lib/unictype/pr_alphabetic.h: Regenerated.
69106         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
69107         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
69108         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
69109         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
69110         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
69111         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
69112         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
69113         * lib/unictype/pr_combining.h: Regenerated.
69114         * lib/unictype/pr_dash.h: Regenerated.
69115         * lib/unictype/pr_decimal_digit.h: Regenerated.
69116         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
69117         * lib/unictype/pr_deprecated.h: Regenerated.
69118         * lib/unictype/pr_diacritic.h: Regenerated.
69119         * lib/unictype/pr_extender.h: Regenerated.
69120         * lib/unictype/pr_format_control.h: Regenerated.
69121         * lib/unictype/pr_grapheme_base.h: Regenerated.
69122         * lib/unictype/pr_grapheme_extend.h: Regenerated.
69123         * lib/unictype/pr_grapheme_link.h: Regenerated.
69124         * lib/unictype/pr_id_continue.h: Regenerated.
69125         * lib/unictype/pr_id_start.h: Regenerated.
69126         * lib/unictype/pr_ideographic.h: Regenerated.
69127         * lib/unictype/pr_ignorable_control.h: Regenerated.
69128         * lib/unictype/pr_lowercase.h: Regenerated.
69129         * lib/unictype/pr_math.h: Regenerated.
69130         * lib/unictype/pr_numeric.h: Regenerated.
69131         * lib/unictype/pr_other_alphabetic.h: Regenerated.
69132         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
69133         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
69134         * lib/unictype/pr_other_id_continue.h: Regenerated.
69135         * lib/unictype/pr_other_lowercase.h: Regenerated.
69136         * lib/unictype/pr_other_math.h: Regenerated.
69137         * lib/unictype/pr_punctuation.h: Regenerated.
69138         * lib/unictype/pr_sentence_terminal.h: Regenerated.
69139         * lib/unictype/pr_soft_dotted.h: Regenerated.
69140         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
69141         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
69142         * lib/unictype/pr_unified_ideograph.h: Regenerated.
69143         * lib/unictype/pr_uppercase.h: Regenerated.
69144         * lib/unictype/pr_xid_continue.h: Regenerated.
69145         * lib/unictype/pr_xid_start.h: Regenerated.
69146         * lib/unictype/pr_zero_width.h: Regenerated.
69147         * lib/unictype/scripts.h: Regenerated.
69148         * lib/unictype/scripts_byname.gperf: Regenerated.
69149         * lib/unictype/sy_java_ident.h: Regenerated.
69150         * lib/unilbrk/lbrkprop1.h: Regenerated.
69151         * lib/unilbrk/lbrkprop2.h: Regenerated.
69152         * tests/unictype/test-categ_C.c: Regenerated.
69153         * tests/unictype/test-categ_Cf.c: Regenerated.
69154         * tests/unictype/test-categ_Cn.c: Regenerated.
69155         * tests/unictype/test-categ_L.c: Regenerated.
69156         * tests/unictype/test-categ_Ll.c: Regenerated.
69157         * tests/unictype/test-categ_Lm.c: Regenerated.
69158         * tests/unictype/test-categ_Lo.c: Regenerated.
69159         * tests/unictype/test-categ_Lu.c: Regenerated.
69160         * tests/unictype/test-categ_M.c: Regenerated.
69161         * tests/unictype/test-categ_Mc.c: Regenerated.
69162         * tests/unictype/test-categ_Me.c: Regenerated.
69163         * tests/unictype/test-categ_Mn.c: Regenerated.
69164         * tests/unictype/test-categ_N.c: Regenerated.
69165         * tests/unictype/test-categ_Nd.c: Regenerated.
69166         * tests/unictype/test-categ_Nl.c: Regenerated.
69167         * tests/unictype/test-categ_No.c: Regenerated.
69168         * tests/unictype/test-categ_P.c: Regenerated.
69169         * tests/unictype/test-categ_Pd.c: Regenerated.
69170         * tests/unictype/test-categ_Pe.c: Regenerated.
69171         * tests/unictype/test-categ_Pf.c: Regenerated.
69172         * tests/unictype/test-categ_Pi.c: Regenerated.
69173         * tests/unictype/test-categ_Po.c: Regenerated.
69174         * tests/unictype/test-categ_Ps.c: Regenerated.
69175         * tests/unictype/test-categ_S.c: Regenerated.
69176         * tests/unictype/test-categ_Sk.c: Regenerated.
69177         * tests/unictype/test-categ_Sm.c: Regenerated.
69178         * tests/unictype/test-categ_So.c: Regenerated.
69179         * tests/unictype/test-ctype_alnum.c: Regenerated.
69180         * tests/unictype/test-ctype_alpha.c: Regenerated.
69181         * tests/unictype/test-ctype_graph.c: Regenerated.
69182         * tests/unictype/test-ctype_lower.c: Regenerated.
69183         * tests/unictype/test-ctype_print.c: Regenerated.
69184         * tests/unictype/test-ctype_punct.c: Regenerated.
69185         * tests/unictype/test-ctype_upper.c: Regenerated.
69186         * tests/unictype/test-decdigit.h: Regenerated.
69187         * tests/unictype/test-digit.h: Regenerated.
69188         * tests/unictype/test-numeric.h: Regenerated.
69189         * tests/unictype/test-pr_alphabetic.c: Regenerated.
69190         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
69191         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
69192         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
69193         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
69194         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
69195         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
69196         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
69197         * tests/unictype/test-pr_combining.c: Regenerated.
69198         * tests/unictype/test-pr_dash.c: Regenerated.
69199         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
69200         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
69201         * tests/unictype/test-pr_deprecated.c: Regenerated.
69202         * tests/unictype/test-pr_diacritic.c: Regenerated.
69203         * tests/unictype/test-pr_extender.c: Regenerated.
69204         * tests/unictype/test-pr_format_control.c: Regenerated.
69205         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
69206         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
69207         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
69208         * tests/unictype/test-pr_id_continue.c: Regenerated.
69209         * tests/unictype/test-pr_id_start.c: Regenerated.
69210         * tests/unictype/test-pr_ideographic.c: Regenerated.
69211         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
69212         * tests/unictype/test-pr_lowercase.c: Regenerated.
69213         * tests/unictype/test-pr_math.c: Regenerated.
69214         * tests/unictype/test-pr_numeric.c: Regenerated.
69215         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
69216         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
69217         Regenerated.
69218         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
69219         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
69220         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
69221         * tests/unictype/test-pr_other_math.c: Regenerated.
69222         * tests/unictype/test-pr_punctuation.c: Regenerated.
69223         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
69224         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
69225         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
69226         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
69227         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
69228         * tests/unictype/test-pr_uppercase.c: Regenerated.
69229         * tests/unictype/test-pr_xid_continue.c: Regenerated.
69230         * tests/unictype/test-pr_xid_start.c: Regenerated.
69231         * tests/unictype/test-pr_zero_width.c: Regenerated.
69233         Update to Unicode 5.1.0.
69234         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
69235         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
69236         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
69237         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
69238         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
69239         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
69240         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
69241         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
69242         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
69243         (nonspacing_table_ind): Update.
69244         * tests/uniwidth/test-uc_width2.sh: Update expected result.
69246         Update to Unicode 5.1.0.
69247         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
69248         code transform.
69249         * lib/uniname/uniname.c (unicode_character_name,
69250         unicode_name_character): Add the range 0x1Fxxx to the code transform.
69251         * lib/uniname/uninames.h: Regenerated.
69252         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
69254 2009-02-07  Bruno Haible  <bruno@clisp.org>
69256         Merge gen-ctype and gen-lbrk into a single program.
69257         * lib/gen-uni-tables.c: New file, incorporating
69258         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
69259         Add directory prefixes to the names of the generated files.
69260         * lib/unictype/gen-ctype.c: Remove file.
69261         * lib/unilbrk/gen-lbrk.c: Remove file.
69262         * modules/gen-uni-tables: New file.
69263         * modules/unictype/gen-ctype: Remove file.
69264         * modules/unilbrk/gen-lbrk: Remove file.
69266 2009-02-07  Bruno Haible  <bruno@clisp.org>
69268         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
69270         New module 'unistr/u32-strcoll'.
69271         * modules/unistr/u32-strcoll: New file.
69272         * lib/unistr/u32-strcoll.c: New file.
69274         New module 'unistr/u16-strcoll'.
69275         * modules/unistr/u16-strcoll: New file.
69276         * lib/unistr/u16-strcoll.c: New file.
69278         New module 'unistr/u8-strcoll'.
69279         * modules/unistr/u8-strcoll: New file.
69280         * lib/unistr/u8-strcoll.c: New file.
69281         * lib/unistr/u-strcoll.h: New file.
69283 2009-02-07  Bruno Haible  <bruno@clisp.org>
69285         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
69286         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
69287         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
69288         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
69289         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
69290         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
69292 2009-02-07  Bruno Haible  <bruno@clisp.org>
69294         Make 64-bit clean.
69295         * lib/unictype/gen-ctype.c (output_predicate, output_category,
69296         output_combclass, output_bidi_category, output_decimal_digit,
69297         output_digit, output_numeric, output_mirror, output_scripts,
69298         output_ident_category): Use proper width specifier in format strings.
69300 2009-02-07  Bruno Haible  <bruno@clisp.org>
69302         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
69303         failure behaviour.
69305 2009-02-07  Jim Meyering  <meyering@redhat.com>
69307         regex: avoid compilation failure with upcoming gcc-4.4
69308         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
69309         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
69310         "... error: integer overflow in preprocessor expression".
69312 2009-02-05  Ben Pfaff  <blp@gnu.org>
69314         Fix link errors on Windows when close module is used.
69315         * modules/close: Add $(LIB_CLOSE) to Link section.
69316         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
69317         $(LIB_CLOSE) on Windows.
69319 2009-02-05  Jim Meyering  <meyering@redhat.com>
69321         still avoid unused-parameter warnings, but do it cleanly
69322         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
69323         (get_fs_usage): Cast to void instead.
69324         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
69325         (dev_from_mount_options, read_file_system_list): Cast to void.
69326         Prompted by Bruno Haible.
69328 2009-02-04  Jim Meyering  <meyering@redhat.com>
69330         fsusage.c: correct copyright year
69331         * lib/fsusage.c: Reflect year in which the change is pushed into
69333         avoid misc. warnings
69334         * lib/fsusage.c (UNUSED_PARAM): Define.
69335         (get_fs_usage): Mark parameter "disk" as unused.
69336         * lib/getugroups.c (getgrent): Use "void" in prototype.
69337         * lib/mountlist.c: Mark unused parameters.
69338         (read_file_system_list): Declare a local with "const".
69339         * lib/nanosleep.c (getnow): Declare static.
69340         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
69342         dirfd: set errno upon failure
69343         * lib/dirfd.c: Include <errno.h>.
69344         Set errno to ENOTSUP when returning -1.
69345         * modules/dirfd (Depends-on): Add errno.
69346         Suggested by John Kodis <kodis@comcast.net>.
69348 2009-02-01  Bruno Haible  <bruno@clisp.org>
69350         Don't assume sizeof (long) >= sizeof (void *).
69351         * lib/memcmp.c: Include stdint.h.
69352         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
69353         srcp2 to 'const byte *'.
69354         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
69355         types to uintptr_t.
69356         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
69357         * modules/memcmp (Depends-on): Add stdint.
69358         Reported by Ozkan Sezer <sezeroz@gmail.com>.
69360 2009-01-30  Eric Blake  <ebb9@byu.net>
69362         fix more require-before-expand issues
69363         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
69364         expand, AC_PROG_AWK.
69365         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
69367 2009-01-28  Eric Blake  <ebb9@byu.net>
69369         version-etc: use consistent URL formatting
69370         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
69371         Improve formatting.  Use fputs for string without %.
69373 2009-01-28  Jim Meyering  <meyering@redhat.com>
69375         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
69376         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
69377         "underquoted definition of NAME" from autoconf-2.59.
69379 2009-01-28  Bruno Haible  <bruno@clisp.org>
69381         * doc/gnulib.texi: Add "Obsolete modules" to index.
69383 2009-01-28  Jim Meyering  <meyering@redhat.com>
69385         useless-if-before-free: recognize more variants
69386         * build-aux/useless-if-before-free: Also recognize e.g.,
69387         if (NULL != p) free (p);
69389 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
69391         test-getaddrinfo: skip (don't fail) this test when there's no network
69392         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
69393         on the presumption that it means you lack network access.
69395 2009-01-26  Jim Meyering  <meyering@redhat.com>
69397         fflush: avoid warnings on modern systems
69398         * lib/fflush.c (rpl_fflush): Move declarations of locals,
69399         pos and result, into scopes where they're used.
69401 2009-01-26  Eric Blake  <ebb9@byu.net>
69403         Silence warning reintroduced by recent extensions patch.
69404         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
69405         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
69406         autoconf.
69408         Backport improved autoconf semantics of AC_DEFUN_ONCE.
69409         * m4/00gnulib.m4: New file.
69410         * gnulib-tool (func_get_filelist): Always use it.
69411         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
69412         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
69414 2009-01-25  Bruno Haible  <bruno@clisp.org>
69416         Make test-quotearg work on MacOS X and AIX.
69417         * tests/test-quotearg.sh: New file.
69418         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
69419         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
69420         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
69421         include <libintl.h>.
69422         (fake_locale): Remove variable.
69423         (gettext, dgettext, dcgettext): Remove functions.
69424         (main): Instead of setting a fake locale, set a real locale. Call
69425         textdomain and bindtextdomain.
69426         * modules/quotearg-tests (Files): Add the new files.
69427         (Depends-on): Add gettext, setenv, unsetenv.
69428         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
69429         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
69430         Augment TESTS_ENVIRONMENT.
69432 2009-01-25  Bruno Haible  <bruno@clisp.org>
69434         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
69435         fr_FR.ISO8859-1 locale on MacOS X.
69436         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
69437         ja_JP.eucJP locale on MacOS X.
69438         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
69439         zh_CN.GB18030 locale on MacOS X.
69441 2009-01-25  Bruno Haible  <bruno@clisp.org>
69443         Avoid link errors on MacOS X 10.3.
69444         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
69445         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
69447 2009-01-25  Bruno Haible  <bruno@clisp.org>
69449         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
69450         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
69451         * modules/pipe (Files): Remove m4/posix_spawn.m4.
69452         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
69453         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
69454         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
69455         posix_spawnattr_init, posix_spawnattr_setsigmask,
69456         posix_spawnattr_setflags, posix_spawnattr_destroy.
69458         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
69459         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
69460         * modules/execute (Files): Remove m4/posix_spawn.m4.
69461         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
69462         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
69463         posix_spawnattr_init, posix_spawnattr_setsigmask,
69464         posix_spawnattr_setflags, posix_spawnattr_destroy.
69466 2009-01-25  Bruno Haible  <bruno@clisp.org>
69468         * lib/glthread/threadlib.c: Include <stdlib.h>.
69470 2009-01-25  Bruno Haible  <bruno@clisp.org>
69472         * lib/glthread/threadlib.c (dummy): New declaration.
69474 2009-01-25  Bruno Haible  <bruno@clisp.org>
69476         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
69477         multibyte characters also for the GB18030 encoding. Don't crash when
69478         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
69480 2009-01-25  Bruno Haible  <bruno@clisp.org>
69482         Avoid redefining 'struct random_data' on OSF/1 5.1.
69483         * lib/stdlib.in.h: Include <random.h> if it exists.
69484         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
69485         HAVE_RANDOM_H. Include <random.h> when testing whether
69486         'struct random_data' exists.
69487         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
69489 2009-01-25  Bruno Haible  <bruno@clisp.org>
69491         Don't install charset.alias on MacOS X >= 10.3.
69492         * lib/localcharset.c (DARWIN7): New macro.
69493         (get_charset_aliases): Hardcode the result for Darwin7.
69494         * modules/localcharset (install-exec-local): Don't install
69495         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
69497 2009-01-25  Bruno Haible  <bruno@clisp.org>
69499         Don't install charset.alias on mingw and Cygwin.
69500         * modules/localcharset (install-exec-local): Don't install
69501         charset.alias on mingw and Cygwin, if the file does not yet exist.
69502         The result for these platforms is hardcoded in localcharset.c.
69504 2009-01-25  Bruno Haible  <bruno@clisp.org>
69506         Make it possible again to use AC_GNU_SOURCE together with gnulib.
69507         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
69508         before requiring AC_USE_SYSTEM_EXTENSIONS.
69510 2009-01-25  Jim Meyering  <meyering@redhat.com>
69512         c-strtod: avoid warnings
69513         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
69514         "assignment discards qualifiers from pointer target type" warnings.
69516 2009-01-24  Bruno Haible  <bruno@clisp.org>
69518         Add support for non-UTF-8 locales on MacOS X.
69519         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
69520         canonical encodings. For Darwin 7 and newer, don't map traditional
69521         encodings to UTF-8.
69522         Reported by Vincent Lefevre <vincent@vinc17.org>
69523         at <http://savannah.gnu.org/bugs/?25235>.
69525 2009-01-24  Bruno Haible  <bruno@clisp.org>
69527         * doc/gnulib.texi (Obsolete modules): New section.
69528         Reported by Mike Frysinger <vapier@gentoo.org>.
69530 2009-01-24  Bruno Haible  <bruno@clisp.org>
69532         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
69533         (%.dvi): New rule.
69535 2009-01-24  Bruno Haible  <bruno@clisp.org>
69537         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
69538         Reported by Eric Blake.
69540 2009-01-24  Bruno Haible  <bruno@clisp.org>
69542         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
69543         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
69544         Reported by Gary V. Vaughan <gary@gnu.org>.
69546 2009-01-24  Bruno Haible  <bruno@clisp.org>
69548         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
69550 2009-01-23  Bruno Haible  <bruno@clisp.org>
69552         Make c-strtod, c-strtold usable in libraries.
69553         * lib/c-strtod.c: Include string.h instead of xalloc.h.
69554         (C_STRTOD): Call strdup instead of xstrdup.
69555         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
69556         * modules/c-strtold (Depends-on): Likewise.
69557         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
69558         * NEWS: Mention the change.
69559         Reported by Michael Gold <mgold@ncf.ca>.
69561 2009-01-23  Jim Meyering  <meyering@redhat.com>
69563         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
69564         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
69565         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
69567 2009-01-23  Simon Josefsson  <simon@josefsson.org>
69569         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
69570         GNU CoreUtils.
69571         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
69572         * modules/version-etc (Description): Update.
69574 2009-01-22  Bruno Haible  <bruno@clisp.org>
69576         Cache the C locale object.
69577         * lib/c-strtod.c (c_locale_cache): New variable.
69578         (c_locale): New function.
69579         (C_STRTOD): Use it, and don't call freelocale.
69580         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
69581         Suggested by Paolo Bonzini.
69583 2009-01-21  Bruno Haible  <bruno@clisp.org>
69585         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
69586         conditions other than overflow.
69588 2009-01-21  Bruno Haible  <bruno@clisp.org>
69590         * lib/c-strtod.c: Include errno.h.
69591         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
69592         value from STRTOD_L and STRTOD.
69594 2009-01-21  Bruno Haible  <bruno@clisp.org>
69595         and Jim Meyering  <meyering@redhat.com>
69597         nanosleep: skip configure test (fail it) for apple universal builds
69598         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
69599         universal builds, assume that nanosleep does not work.
69600         * modules/nanosleep (Depends-on): Add multiarch.
69602         mktime: skip configure test (fail it) for apple universal builds
69603         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
69604         universal builds, assume that mktime does not work.
69605         * modules/mktime (Depends-on): Add multiarch.
69607 2009-01-21  Eric Blake  <ebb9@byu.net>
69609         multiarch: avoid expand-before-require warning
69610         * modules/multiarch (configure.ac): Require, rather than expand,
69611         gl_MULTIARCH.
69612         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
69613         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
69614         enforce that all clients require it.  Partial reversion of
69615         2008-12-29 patch.
69617         error: avoid expand-before-require warning
69618         * modules/errno (configure.ac): Require, rather than expand,
69619         gl_HEADER_ERRNO_H.
69620         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
69621         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
69622         enforce that all clients require it.
69624         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
69625         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
69626         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
69627         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
69629 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
69631         Revert:
69632         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
69634         regex: do not depend on obsolete modules.
69635         * modules/regex: Remove memcmp and memmove.
69637 2009-01-20  Bruno Haible  <bruno@clisp.org>
69639         Make the 'link' module link on Windows NT 4.
69640         * lib/link.c (_WIN32_WINNT): Don't define.
69641         (CreateHardLinkFuncType): New type.
69642         (CreateHardLinkFunc, initialized): New variables.
69643         (initialize): New function.
69644         (link): Invoke CreateHardLink indirectly through the function pointer.
69646 2009-01-20  Bruno Haible  <bruno@clisp.org>
69648         Fix compilation failure on mingw.
69649         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
69651 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
69653         * doc/c-strtod.texi: Mention a couple of restrictions.
69655 2009-01-20  Jim Meyering  <meyering@redhat.com>
69657         gettimeofday: move more declarations out of functions
69658         * lib/gettimeofday.c: Move extern declarations of tzset and
69659         gmtime out of containing functions.  Prompted by Bruno Haible.
69661 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
69663         regex: do not depend on obsolete modules.
69664         * modules/regex: Remove memcmp and memmove.
69666 2009-01-19  Bruno Haible  <bruno@clisp.org>
69668         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
69669         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
69670         gl_BIGENDIAN, not AC_C_BIGENDIAN.
69671         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
69672         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
69674 2009-01-19  Bruno Haible  <bruno@clisp.org>
69676         * tests/test-link.c: Include <errno.h>.
69677         (main): Exit with code 77 when a hard link cannot be created due to
69678         the file system.
69679         * tests/test-link.sh: Skip test when a hard link cannot be created due
69680         to the file system.
69681         Suggested by Eric Blake.
69683 2009-01-19  Martin Lambers  <marlam@marlam.de>
69685         * modules/link-tests: New file.
69686         * tests/test-link.sh: New file.
69687         * tests/test-link.c: New file.
69689 2009-01-19  Eric Blake  <ebb9@byu.net>
69691         doc: mention another function added in cygwin 1.7.0
69692         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
69693         Another new function in cygwin 1.7.
69695 2009-01-19  Bruno Haible  <bruno@clisp.org>
69697         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
69698         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
69699         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
69700         gl_BIGENDIAN, not AC_C_BIGENDIAN.
69701         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
69702         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
69703         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
69704         * m4/md4.m4 (gl_MD4): Likewise.
69705         * m4/md5.m4 (gl_MD5): Likewise.
69706         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
69707         * m4/sha1.m4 (gl_SHA1): Likewise.
69708         * m4/sha256.m4 (gl_SHA256): Likewise.
69709         * m4/sha512.m4 (gl_SHA512): Likewise.
69711 2009-01-19  Bruno Haible  <bruno@clisp.org>
69713         * modules/uniname/uniname-tests (Depends-on): Add progname.
69714         * tests/uniname/test-uninames.c: Include progname.h.
69715         (main): Call set_program_name.
69717         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
69718         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
69719         (main): Call set_program_name.
69721         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
69722         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
69723         (main): Call set_program_name.
69725         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
69726         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
69727         (main): Call set_program_name.
69729         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
69730         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
69731         (main): Call set_program_name.
69733         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
69734         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
69735         (main): Call set_program_name.
69737         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
69738         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
69739         (main): Call set_program_name.
69741         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
69742         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
69743         (main): Call set_program_name.
69745         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
69746         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
69747         (main): Call set_program_name.
69749 2009-01-19  Eric Blake  <ebb9@byu.net>
69751         test-unistd: test previous patch
69752         * tests/test-unistd.c: Test *_FILENO macros.
69754         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
69755         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
69756         Guarantee a definition.
69757         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
69758         * modules/unistd-safer (Depends-on): Add dependency on unistd.
69759         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
69760         * lib/dup-safer.c (STDERR_FILENO): Likewise.
69761         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
69762         Likewise.
69763         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
69764         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
69765         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
69766         Likewise.
69767         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
69768         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
69769         (STDERR_FILENO): Likewise.
69770         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
69771         (STDERR_FILENO): Likewise.
69772         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
69773         (STDERR_FILENO): Likewise.
69774         Reported by Elbert Pol.
69776 2009-01-19  Eric Blake  <ebb9@byu.net>
69778         doc: mention more functions added in cygwin 1.7.0
69779         * doc/posix-functions/abort.texi (abort): Update wording related
69780         to cygwin.
69781         * doc/posix-functions/daylight.texi (daylight): Likewise.
69782         * doc/posix-functions/optarg.texi (optarg): Likewise.
69783         * doc/posix-functions/optarg.texi (opterr): Likewise.
69784         * doc/posix-functions/optarg.texi (optind): Likewise.
69785         * doc/posix-functions/optarg.texi (optopt): Likewise.
69786         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
69787         worked in 1.5.x, and was withdrawn in 1.7.
69788         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
69789         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
69790         cygwin versions.
69791         * doc/posix-functions/perror.texi (perror): Likewise.
69792         * doc/posix-functions/printf.texi (printf): Likewise.
69793         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
69794         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
69795         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
69796         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
69797         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
69798         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
69799         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
69800         Likewise.
69801         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
69802         Likewise.
69803         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
69804         this function.
69805         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
69806         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
69807         Likewise.
69808         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
69809         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
69810         * doc/posix-functions/confstr.texi (confstr): Likewise.
69811         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
69812         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
69813         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
69814         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
69815         * doc/posix-functions/fputws.texi (fputws): Likewise.
69816         * doc/posix-functions/fwide.texi (fwide): Likewise.
69817         * doc/posix-functions/getwc.texi (getwc): Likewise.
69818         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
69819         * doc/posix-functions/putwc.texi (putwc): Likewise.
69820         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
69821         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
69822         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
69823         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
69824         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
69825         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
69826         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
69827         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
69828         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
69829         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
69830         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
69832 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
69834         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
69835         * lib/ioctl.c: Include <sys/ioctl.h>.
69837 2009-01-19  Simon Josefsson  <simon@josefsson.org>
69839         * modules/getdate-tests (Depends-on): Add progname.
69840         * tests/test-getdate.c: Use progname module, to avoid link errors
69841         on non-glibc systems.
69843 2009-01-18  Simon Josefsson  <simon@josefsson.org>
69845         * modules/filenamecat-tests (Depends-on): Add progname.
69846         * modules/fstrcmp-tests (Depends-on): Likewise.
69848         * tests/test-filenamecat.c: Use progname module, to avoid link
69849         errors on non-glibc systems.
69850         * tests/test-fstrcmp.c: Likewise.
69852 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
69854         gettimeofday: avoid warning: nested extern declaration of 'localtime'
69855         * lib/gettimeofday.c: Move extern declaration out of function.
69857 2009-01-18  Bruno Haible  <bruno@clisp.org>
69859         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
69860         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
69861         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
69863 2009-01-18  Bruno Haible  <bruno@clisp.org>
69865         * lib/strftime.c (MEMPCPY): Remove unused macro.
69866         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
69868 2009-01-18  Martin Lambers  <marlam@marlam.de>
69870         New module 'link'.
69871         * lib/unistd.in.h (link): New declaration.
69872         * lib/link.c: New file.
69873         * m4/link.m4: New file.
69874         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
69875         HAVE_LINK.
69876         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
69877         * modules/link: New file.
69878         * doc/posix-functions/link.texi: Mention the new module.
69880 2009-01-18  Bruno Haible  <bruno@clisp.org>
69882         * tests/test-avltree_list.c (main): Call set_program_name.
69883         * tests/test-avltree_oset.c (main): Likewise.
69884         * tests/test-obstack-printf.c: Include progname.h.
69885         (main): Call set_program_name.
69886         * tests/test-quotearg.c: Include progname.h.
69887         (main): Call set_program_name.
69888         * tests/test-xmemdup0.c: Include progname.h.
69889         (main): Call set_program_name.
69891 2009-01-18  Bruno Haible  <bruno@clisp.org>
69893         New module 'alphasort'.
69894         * lib/dirent.in.h (alphasort): New declaration.
69895         * lib/alphasort.c: New file, from glibc with modifications.
69896         * m4/alphasort.m4: New file.
69897         * modules/alphasort: New file.
69898         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
69899         HAVE_ALPHASORT.
69900         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
69901         HAVE_ALPHASORT.
69902         * doc/posix-functions/alphasort.texi: Mention the new module and the
69903         portability problems.
69905 2009-01-18  Bruno Haible  <bruno@clisp.org>
69907         New module 'scandir'.
69908         * lib/dirent.in.h (scandir): New declaration.
69909         * lib/scandir.c: New file, from glibc with modifications.
69910         * m4/scandir.m4: New file.
69911         * modules/scandir: New file.
69912         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
69913         HAVE_SCANDIR.
69914         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
69915         HAVE_SCANDIR.
69916         * doc/posix-functions/scandir.texi: Mention the new module and the
69917         portability problems.
69919 2009-01-17  Bruno Haible  <bruno@clisp.org>
69921         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
69922         Update documentation.
69923         (func_remove_suffix): Escape all dots in the suffix. Update
69924         documentation.
69925         (func_filter_filelist): Update documentation.
69926         Reported by Ralf Wildenhues.
69928 2009-01-17  Bruno Haible  <bruno@clisp.org>
69930         * modules/dprintf-posix-tests: New file.
69931         * tests/test-dprintf-posix.sh: New file.
69932         * tests/test-dprintf-posix.c: New file.
69934         New modules 'dprintf', 'dprintf-posix'.
69935         * lib/stdio.in.h (dprintf): New declaration.
69936         * lib/dprintf.c: New file.
69937         * m4/dprintf.m4: New file.
69938         * m4/dprintf-posix.m4: New file.
69939         * modules/dprintf: New file.
69940         * modules/dprintf-posix: New file.
69941         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
69942         HAVE_DPRINTF, REPLACE_DPRINTF.
69943         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
69944         HAVE_DPRINTF, REPLACE_DPRINTF.
69945         * doc/posix-functions/dprintf.texi: Mention the new modules.
69947 2009-01-17  Bruno Haible  <bruno@clisp.org>
69949         * modules/vdprintf-posix-tests: New file.
69950         * tests/test-vdprintf-posix.sh: New file.
69951         * tests/test-vdprintf-posix.c: New file.
69953         New modules 'vdprintf', 'vdprintf-posix'.
69954         * lib/stdio.in.h (vdprintf): New declaration.
69955         * lib/vdprintf.c: New file.
69956         * m4/vdprintf.m4: New file.
69957         * m4/vdprintf-posix.m4: New file.
69958         * modules/vdprintf: New file.
69959         * modules/vdprintf-posix: New file.
69960         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
69961         HAVE_VDPRINTF, REPLACE_VDPRINTF.
69962         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
69963         HAVE_VDPRINTF, REPLACE_VDPRINTF.
69964         * doc/posix-functions/vdprintf.texi: Mention the new modules.
69966 2009-01-17  Bruno Haible  <bruno@clisp.org>
69968         Fix replacement of fopen on mingw.
69969         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
69970         mingw.
69972 2009-01-17  Bruno Haible  <bruno@clisp.org>
69974         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
69975         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
69977 2009-01-17  Bruno Haible  <bruno@clisp.org>
69979         Avoid test-fflush2.sh failure on mingw.
69980         * tests/test-fflush2.c: Include binary-io.h.
69981         (main): Put standard input into binary mode.
69982         * modules/fflush-tests (Depends-on): Add binary-io.
69984 2009-01-17  Bruno Haible  <bruno@clisp.org>
69986         * lib/wchar.in.h: In another particular situation, include only the
69987         system's <wchar.h> file.
69988         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
69989         Reported by Albert Chin-A-Young <china@thewrittenword.com>
69990         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
69992 2009-01-17  Bruno Haible  <bruno@clisp.org>
69994         Support for stripping executables in --enable-relocatable.
69995         * build-aux/install-reloc: Expect one more argument, or an environment
69996         variable RELOC_STRIP_PROG. If set, strip the destination program and
69997         its wrapper.
69998         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
69999         RELOC_STRIP_PROG.
70000         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
70001         to set RELOCATABLE_STRIP.
70002         * NEWS: Mention the new Makefile requirement.
70004 2009-01-17  Bruno Haible  <bruno@clisp.org>
70006         * build-aux/install-reloc: Remove debugging information left over by
70007         C compiler on MacOS X.
70009 2009-01-17  Bruno Haible  <bruno@clisp.org>
70011         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
70012         * lib/progreloc.c (find_executable): Fix type of pointer passed to
70013         _NSGetExecutablePath.
70015 2009-01-16  Jim Meyering  <meyering@redhat.com>
70017         strerror: avoid warnings about discarding "const"
70018         * lib/strerror.c (rpl_strerror): Instead of returning a const
70019         string from each and every "case", use a variable, and add a single
70020         cast after the switch.
70022 2009-01-16  Albert Chin-A-Young  <china@thewrittenword.com>
70024         * lib/arpa_inet.in.h: Add extern "C" block for C++.
70026 2009-01-16  Bruno Haible  <bruno@clisp.org>
70028         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
70029         array initializer syntax that also works in C++ mode.
70030         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
70032 2009-01-16  Jim Meyering  <meyering@redhat.com>
70034         poll: suppress a warning
70035         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
70036         to ignore "...unsigned expression < 0 is always false" warnings.
70038 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
70040         poll: remove declarations of unused variables
70041         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
70042         sockbuf and optlen.
70044 2009-01-15  Bruno Haible  <bruno@clisp.org>
70046         Make fflush-after-ungetc POSIX compliant on BSD systems.
70047         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
70048         (clear_ungetc_buffer): Implement also for other systems.
70049         (rpl_fflush): On glibc systems, invoke
70050         clear_ungetc_buffer_preserving_position. Otherwise, invoke
70051         clear_ungetc_buffer after fetching the stream's position, not before.
70053 2009-01-15  Bruno Haible  <bruno@clisp.org>
70055         Make fflush-after-ungetc POSIX compliant on glibc systems.
70056         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
70057         after ungetc.
70058         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
70059         (rpl_fflush): On glibc systems, simply call the system's fflush
70060         function after clearing the ungetc buffer.
70061         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
70062         Instead, lseek only to the end of file, then use the system's fseeko
70063         for the rest. On glibc systems, reset the EOF indicator bit.
70065 2009-01-15  Jim Meyering  <meyering@redhat.com>
70067         openmp.m4: revert quote-adding change, for portability to older autoconf
70068         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
70069         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
70070         Simon Josefsson noticed the problem when using autoconf-2.61.
70072 2009-01-15  Bruno Haible  <bruno@clisp.org>
70074         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
70075         * tests/test-fflush2.c (ASSERT): Always fail.
70076         (main): Add two tests for fflush() after ungetc(), taking into account
70077         the Austin Group's clarification.
70078         Suggested by Eric Blake.
70080 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
70082         mktime.m4: remove K&R-style function prototypes
70083         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
70084         for the Sun C++ compiler.
70086 2009-01-14  Bruno Haible  <bruno@clisp.org>
70088         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
70089         while including <wchar.h>.
70090         * lib/wchar.in.h: In two particular situations on HP-UX, include only
70091         the system's <wchar.h> file.
70092         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
70094 2009-01-14  Bruno Haible  <bruno@clisp.org>
70096         * m4/csharp.m4: Don't mention gettext on the serial number line.
70097         * m4/csharpexec.m4: Likewise.
70098         * m4/eaccess.m4: Likewise.
70099         * m4/javaexec.m4: Likewise.
70100         * m4/sig_atomic_t.m4: Likewise.
70101         * m4/tmpdir.m4: Likewise.
70102         * m4/intldir.m4: Bump gettext version.
70103         * m4/lib-ld.m4: Likewise.
70105 2009-01-14  Bruno Haible  <bruno@clisp.org>
70107         * lib/progname.c (set_program_name): Add more comments.
70108         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
70110 2009-01-14  Simon Josefsson  <simon@josefsson.org>
70112         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
70113         were sys/stat.h does not define it.
70115 2009-01-14  Jim Meyering  <meyering@redhat.com>
70117         many *.m4 files: improve m4 quoting
70118         99% of this change was performed by running the following commands:
70119         git ls-files | grep '\.m4$' | xargs perl -pi \
70120           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
70121           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
70122           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
70123           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
70124         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
70125         The remainder were to add Copyright dates, increment serial numbers,
70126         undo some changes in comments, exclude m4/intl.m4, and add quotes
70127         around the "1" in ",1" where the unusual spacing prohibited the
70128         above regexps from doing the job.  For more details, see
70129         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
70130         * m4/acl.m4: Modified.
70131         * m4/afs.m4: Likewise.
70132         * m4/alloca.m4: Likewise.
70133         * m4/argp.m4: Likewise.
70134         * m4/argz.m4: Likewise.
70135         * m4/atexit.m4: Likewise.
70136         * m4/bison-i18n.m4: Likewise.
70137         * m4/bison.m4: Likewise.
70138         * m4/byteswap.m4: Likewise.
70139         * m4/c-stack.m4: Likewise.
70140         * m4/c-strtod.m4: Likewise.
70141         * m4/calloc.m4: Likewise.
70142         * m4/canonicalize-lgpl.m4: Likewise.
70143         * m4/chown.m4: Likewise.
70144         * m4/clock_time.m4: Likewise.
70145         * m4/codeset.m4: Likewise.
70146         * m4/copy-file.m4: Likewise.
70147         * m4/csharp.m4: Likewise.
70148         * m4/csharpcomp.m4: Likewise.
70149         * m4/csharpexec.m4: Likewise.
70150         * m4/d-ino.m4: Likewise.
70151         * m4/d-type.m4: Likewise.
70152         * m4/dirfd.m4: Likewise.
70153         * m4/double-slash-root.m4: Likewise.
70154         * m4/eaccess.m4: Likewise.
70155         * m4/eealloc.m4: Likewise.
70156         * m4/environ.m4: Likewise.
70157         * m4/errno_h.m4: Likewise.
70158         * m4/euidaccess.m4: Likewise.
70159         * m4/execute.m4: Likewise.
70160         * m4/fatal-signal.m4: Likewise.
70161         * m4/fchdir.m4: Likewise.
70162         * m4/fcntl_h.m4: Likewise.
70163         * m4/fileblocks.m4: Likewise.
70164         * m4/filenamecat.m4: Likewise.
70165         * m4/findprog.m4: Likewise.
70166         * m4/flexmember.m4: Likewise.
70167         * m4/fnmatch.m4: Likewise.
70168         * m4/fopen.m4: Likewise.
70169         * m4/fpending.m4: Likewise.
70170         * m4/fprintf-posix.m4: Likewise.
70171         * m4/free.m4: Likewise.
70172         * m4/frexp.m4: Likewise.
70173         * m4/frexpl.m4: Likewise.
70174         * m4/fsusage.m4: Likewise.
70175         * m4/ftruncate.m4: Likewise.
70176         * m4/gc-camellia.m4: Likewise.
70177         * m4/gc-random.m4: Likewise.
70178         * m4/gc.m4: Likewise.
70179         * m4/getaddrinfo.m4: Likewise.
70180         * m4/getcwd-abort-bug.m4: Likewise.
70181         * m4/getcwd-path-max.m4: Likewise.
70182         * m4/getdate.m4: Likewise.
70183         * m4/getdomainname.m4: Likewise.
70184         * m4/getgroups.m4: Likewise.
70185         * m4/gethostname.m4: Likewise.
70186         * m4/gethrxtime.m4: Likewise.
70187         * m4/getline.m4: Likewise.
70188         * m4/getloadavg.m4: Likewise.
70189         * m4/getndelim2.m4: Likewise.
70190         * m4/getpass.m4: Likewise.
70191         * m4/gettext.m4: Likewise.
70192         * m4/gettime.m4: Likewise.
70193         * m4/gettimeofday.m4: Likewise.
70194         * m4/gnulib-common.m4: Likewise.
70195         * m4/group-member.m4: Likewise.
70196         * m4/host-os.m4: Likewise.
70197         * m4/iconv.m4: Likewise.
70198         * m4/iconv_open.m4: Likewise.
70199         * m4/inet_ntop.m4: Likewise.
70200         * m4/inet_pton.m4: Likewise.
70201         * m4/inline.m4: Likewise.
70202         * m4/intldir.m4: Likewise.
70203         * m4/intlmacosx.m4: Likewise.
70204         * m4/intmax.m4: Likewise.
70205         * m4/intmax_t.m4: Likewise.
70206         * m4/inttypes.m4: Likewise.
70207         * m4/inttypes_h.m4: Likewise.
70208         * m4/inttypes-pri.m4: Likewise.
70209         * m4/isapipe.m4: Likewise.
70210         * m4/isnand.m4: Likewise.
70211         * m4/isnanf.m4: Likewise.
70212         * m4/isnanl.m4: Likewise.
70213         * m4/javacomp.m4: Likewise.
70214         * m4/javaexec.m4: Likewise.
70215         * m4/jm-winsz1.m4: Likewise.
70216         * m4/jm-winsz2.m4: Likewise.
70217         * m4/lchown.m4: Likewise.
70218         * m4/lcmessage.m4: Likewise.
70219         * m4/ldexpl.m4: Likewise.
70220         * m4/lib-ld.m4: Likewise.
70221         * m4/lib-link.m4: Likewise.
70222         * m4/libsigsegv.m4: Likewise.
70223         * m4/link-follow.m4: Likewise.
70224         * m4/localcharset.m4: Likewise.
70225         * m4/locale-fr.m4: Likewise.
70226         * m4/locale-ja.m4: Likewise.
70227         * m4/locale-tr.m4: Likewise.
70228         * m4/locale-zh.m4: Likewise.
70229         * m4/lock.m4: Likewise.
70230         * m4/longlong.m4: Likewise.
70231         * m4/ls-mntd-fs.m4: Likewise.
70232         * m4/lstat.m4: Likewise.
70233         * m4/malloc.m4: Likewise.
70234         * m4/mathl.m4: Likewise.
70235         * m4/mbrtowc.m4: Likewise.
70236         * m4/mbstate_t.m4: Likewise.
70237         * m4/mbswidth.m4: Likewise.
70238         * m4/memchr.m4: Likewise.
70239         * m4/memcmp.m4: Likewise.
70240         * m4/memcpy.m4: Likewise.
70241         * m4/memmem.m4: Likewise.
70242         * m4/memmove.m4: Likewise.
70243         * m4/mempcpy.m4: Likewise.
70244         * m4/memrchr.m4: Likewise.
70245         * m4/memset.m4: Likewise.
70246         * m4/minmax.m4: Likewise.
70247         * m4/mkdir-slash.m4: Likewise.
70248         * m4/mkdtemp.m4: Likewise.
70249         * m4/mktime.m4: Likewise.
70250         * m4/mmap-anon.m4: Likewise.
70251         * m4/mountlist.m4: Likewise.
70252         * m4/nanosleep.m4: Likewise.
70253         * m4/nls.m4: Likewise.
70254         * m4/nocrash.m4: Likewise.
70255         * m4/open.m4: Likewise.
70256         * m4/openat.m4: Likewise.
70257         * m4/openmp.m4: Likewise.
70258         * m4/pathmax.m4: Likewise.
70259         * m4/perl.m4: Likewise.
70260         * m4/physmem.m4: Likewise.
70261         * m4/pipe.m4: Likewise.
70262         * m4/po.m4: Likewise.
70263         * m4/poll.m4: Likewise.
70264         * m4/posixtm.m4: Likewise.
70265         * m4/posixver.m4: Likewise.
70266         * m4/printf-frexp.m4: Likewise.
70267         * m4/printf-frexpl.m4: Likewise.
70268         * m4/printf-posix.m4: Likewise.
70269         * m4/printf-posix-rpl.m4: Likewise.
70270         * m4/printf.m4: Likewise.
70271         * m4/progtest.m4: Likewise.
70272         * m4/putenv.m4: Likewise.
70273         * m4/readline.m4: Likewise.
70274         * m4/readlink.m4: Likewise.
70275         * m4/readutmp.m4: Likewise.
70276         * m4/realloc.m4: Likewise.
70277         * m4/regex.m4: Likewise.
70278         * m4/relocatable.m4: Likewise.
70279         * m4/relocatable-lib.m4: Likewise.
70280         * m4/rename-dest-slash.m4: Likewise.
70281         * m4/rename.m4: Likewise.
70282         * m4/rmdir-errno.m4: Likewise.
70283         * m4/rmdir.m4: Likewise.
70284         * m4/roundf.m4: Likewise.
70285         * m4/roundl.m4: Likewise.
70286         * m4/rpmatch.m4: Likewise.
70287         * m4/save-cwd.m4: Likewise.
70288         * m4/selinux-selinux-h.m4: Likewise.
70289         * m4/setenv.m4: Likewise.
70290         * m4/settime.m4: Likewise.
70291         * m4/sig2str.m4: Likewise.
70292         * m4/sig_atomic_t.m4: Likewise.
70293         * m4/signalblocking.m4: Likewise.
70294         * m4/signbit.m4: Likewise.
70295         * m4/sigpipe.m4: Likewise.
70296         * m4/sockets.m4: Likewise.
70297         * m4/sockpfaf.m4: Likewise.
70298         * m4/st_dm_mode.m4: Likewise.
70299         * m4/stat-time.m4: Likewise.
70300         * m4/stdbool.m4: Likewise.
70301         * m4/stdint.m4: Likewise.
70302         * m4/stdint_h.m4: Likewise.
70303         * m4/stpcpy.m4: Likewise.
70304         * m4/stpncpy.m4: Likewise.
70305         * m4/strcase.m4: Likewise.
70306         * m4/strchrnul.m4: Likewise.
70307         * m4/strcspn.m4: Likewise.
70308         * m4/strdup.m4: Likewise.
70309         * m4/strftime.m4: Likewise.
70310         * m4/strndup.m4: Likewise.
70311         * m4/strnlen.m4: Likewise.
70312         * m4/strpbrk.m4: Likewise.
70313         * m4/strptime.m4: Likewise.
70314         * m4/strsep.m4: Likewise.
70315         * m4/strtod.m4: Likewise.
70316         * m4/strtoimax.m4: Likewise.
70317         * m4/strtok_r.m4: Likewise.
70318         * m4/strtol.m4: Likewise.
70319         * m4/strtoll.m4: Likewise.
70320         * m4/strtoul.m4: Likewise.
70321         * m4/strtoull.m4: Likewise.
70322         * m4/strtoumax.m4: Likewise.
70323         * m4/strverscmp.m4: Likewise.
70324         * m4/threadlib.m4: Likewise.
70325         * m4/timegm.m4: Likewise.
70326         * m4/tm_gmtoff.m4: Likewise.
70327         * m4/tmpdir.m4: Likewise.
70328         * m4/tmpfile.m4: Likewise.
70329         * m4/tzset.m4: Likewise.
70330         * m4/uintmax_t.m4: Likewise.
70331         * m4/unlinkdir.m4: Likewise.
70332         * m4/unlocked-io.m4: Likewise.
70333         * m4/uptime.m4: Likewise.
70334         * m4/userspec.m4: Likewise.
70335         * m4/utimbuf.m4: Likewise.
70336         * m4/utime.m4: Likewise.
70337         * m4/utimes-null.m4: Likewise.
70338         * m4/utimes.m4: Likewise.
70339         * m4/vararrays.m4: Likewise.
70340         * m4/vasnprintf.m4: Likewise.
70341         * m4/vfprintf-posix.m4: Likewise.
70342         * m4/vprintf-posix.m4: Likewise.
70343         * m4/wait-process.m4: Likewise.
70344         * m4/wchar_t.m4: Likewise.
70345         * m4/wint_t.m4: Likewise.
70346         * m4/write-any-file.m4: Likewise.
70347         * m4/yield.m4: Likewise.
70349 2009-01-13  Bruno Haible  <bruno@clisp.org>
70351         Avoid test-copy-file.sh failures when ACL support insufficient.
70352         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
70353         TESTS_ENVIRONMENT.
70354         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
70355         Reported by Jim Meyering.
70357 2009-01-13  Bruno Haible  <bruno@clisp.org>
70359         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
70360         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
70361         * modules/unistdio/u8-printf-parse (Files): Likewise.
70362         * modules/unistdio/u32-printf-parse (Files): Likewise.
70363         * modules/unistdio/ulc-printf-parse (Files): Likewise.
70365 2009-01-13  Simon Josefsson  <simon@josefsson.org>
70367         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
70368         and m4/inttypes_h.m4 too.
70370 2009-01-12  Eric Blake  <ebb9@byu.net>
70372         tests: IRIX 6.2 cc can't compile -0.0 into .data
70373         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
70374         rather than at compile-time.
70375         * tests/test-floorl.c (minus_zero): Likewise.
70376         * tests/test-frexpl.c (minus_zero): Likewise.
70377         * tests/test-isnan.c (minus_zerol): Likewise.
70378         * tests/test-isnanl.h (minus_zero): Likewise.
70379         * tests/test-ldexpl.c (minus_zero): Likewise.
70380         * tests/test-roundl.c (minus_zero): Likewise.
70381         * tests/test-signbit.c (minus_zerol): Likewise.
70382         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
70383         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
70384         * tests/test-truncl.c (minus_zero): Likewise.
70385         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
70386         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
70387         Reported by Tom G. Christensen and Nelson H. F. Beebe.
70389 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
70391         regex: fix glibc bug 9697
70392         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
70393         handling.
70395 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
70397         regex: fix glibc bug 697
70398         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
70399         being NULL also if there are no backreferences.
70401 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
70403         regex: merge glibc changes
70404         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
70405         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
70406         re_string_skip_chars, re_string_reconstruct): Likewise.
70407         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
70409 2009-01-07  Jim Meyering  <meyering@redhat.com>
70411         poll: filter through cppi
70412         * lib/poll.c: Indent cpp directives to reflect nesting.
70414 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
70416         poll: don't return uninitialized
70417         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
70419 2009-01-06  Jeremy Olexa  <darkside@gentoo.org>  (tiny change)
70421         avoid compile failure on AIX 6.1
70422         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
70423         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
70425 2009-01-04  Jim Meyering  <meyering@redhat.com>
70427         remove duplicate inclusion of <stdio.h>
70428         * tests/test-fprintf-posix.c: Likewise.
70429         * tests/test-printf-posix.c: Likewise.
70430         * tests/test-snprintf-posix.c: Likewise.
70431         * tests/test-sprintf-posix.c: Likewise.
70432         * tests/test-vasprintf-posix.c: Likewise.
70433         * tests/test-vfprintf-posix.c: Likewise.
70434         * tests/test-vprintf-posix.c: Likewise.
70435         * tests/test-vsnprintf-posix.c: Likewise.
70436         * tests/test-vsprintf-posix.c: Likewise.
70438 2009-01-03  Jim Meyering  <meyering@redhat.com>
70440         gnulib-tool: fix sed-based filtering
70441         * gnulib-tool (func_filter_filelist): Remove extra backslash
70442         in sed_fff_filter definition.
70444 2009-01-02  Jim Meyering  <meyering@redhat.com>
70446         strftime: avoid compilation failure on Solaris 2.6
70447         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
70448         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
70449         Don't #define mbrlen or mbsinit, since now they're guaranteed to
70450         be available.  Reported by Tom G. Christensen.  Details in
70451         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
70453 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70454             Bruno Haible  <bruno@clisp.org>
70456         Speed up gnulib-tool by doing more string processing through shell
70457         built-ins.
70458         * gnulib-tool (fast_func_append): New variable.
70459         (func_remove_prefix, func_remove_suffix): New functions.
70460         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
70461         (func_filter_filelist): New function.
70462         (func_get_dependencies): Use func_remove_suffix instead of sed.
70463         (func_get_automake_snippet): Use func_filter_filelist instead of a
70464         subshell and sed invocation.
70466 2009-01-01  Bruno Haible  <bruno@clisp.org>
70468         Fix a security bug.
70469         * gnulib-tool (func_import, import, update): Don't allow the characters
70470         '"', '$', '`', '\' in macro arguments that become part of commands that
70471         are evaluated.
70473 2009-01-01  Bruno Haible  <bruno@clisp.org>
70475         * gnulib-tool (func_reset_sigpipe): Add more comments.
70477 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70479         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
70480         func_emit_tests_Makefile_am, func_import): Abort loops early if we
70481         already know the answer.
70483 2009-01-01  Jim Meyering  <meyering@redhat.com>
70485         * lib/version-etc.c (version_etc_va): Update copyright year.
70487 2008-12-30  Bruno Haible  <bruno@clisp.org>
70489         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
70490         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
70491         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
70493 2008-12-29  Eric Blake  <ebb9@byu.net>
70495         multiarch: avoid autoconf AC_REQUIRE bug
70496         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
70497         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
70498         2.63 and older.
70499         Reported by Bruno Haible, and analyzed in
70500         http://lists.gnu.org/r/bug-autoconf/2008-12/msg00039.html
70502 2008-12-29  Bruno Haible  <bruno@clisp.org>
70504         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
70505         files in subdirectories correctly.
70506         Reported by Ralf Wildenhues.
70508 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70510         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
70511         rather than 'join FILE -', for Solaris join.
70513 2008-12-29  Bruno Haible  <bruno@clisp.org>
70515         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
70516         quoting.
70517         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
70518         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
70519         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
70520         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
70521         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
70522         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
70523         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
70524         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
70525         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
70526         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
70527         * m4/nls.m4 (AM_NLS): Likewise.
70528         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
70529         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
70530         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
70531         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
70532         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
70533         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
70534         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
70535         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
70536         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
70537         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
70538         * m4/xsize.m4 (gl_XSIZE): Likewise.
70539         Suggested by Jim Meyering.
70541 2008-11-17  Bruce Korb  <bkorb@gnu.org>
70543         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
70544         * lib/parse-duration.c: use a switch instead of cascading if's.
70546 2008-12-29  Eric Blake  <ebb9@byu.net>
70548         wchar.h: supply WEOF on Irix 5.3
70549         * lib/wchar.in.h (wint_t): Also supply WEOF.
70550         * lib/wctype.in.h (wint_t): Likewise.
70551         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
70552         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
70553         Reported by Tom G. Christensen.
70555 2008-12-26  Bruno Haible  <bruno@clisp.org>
70557         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
70558         i486, i586, i686.
70560 2008-12-26  Bruno Haible  <bruno@clisp.org>
70562         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
70564 2008-12-26  Bruno Haible  <bruno@clisp.org>
70566         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
70567         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
70568         not __STDC_CONSTANT_MACROS.
70569         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
70571 2008-12-25  Bruno Haible  <bruno@clisp.org>
70573         Add support for universal builds to vasnprintf.
70574         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
70575         universal builds, guess no.
70576         * modules/vasnprintf-posix (Depends-on): Add multiarch.
70577         * modules/vasprintf-posix (Depends-on): Likewise.
70578         * modules/fprintf-posix (Depends-on): Likewise.
70579         * modules/vfprintf-posix (Depends-on): Likewise.
70580         * modules/snprintf-posix (Depends-on): Likewise.
70581         * modules/vsnprintf-posix (Depends-on): Likewise.
70582         * modules/sprintf-posix (Depends-on): Likewise.
70583         * modules/vsprintf-posix (Depends-on): Likewise.
70584         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
70585         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
70586         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
70587         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
70588         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
70589         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
70590         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
70592         Add support for universal builds to <inttypes.h>.
70593         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
70594         _SCNu64_PREFIX): In Apple
70595         universal builds, define directly, using _LP64.
70596         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
70597         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
70598         * modules/inttypes (Depends-on): Add multiarch.
70599         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
70601         Add support for universal builds to <stdint.h>.
70602         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
70603         universal builds, define directly, using _LP64.
70604         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
70605         Apple universal builds, don't test for the size and suffix of ptrdiff_t
70606         and size_t.
70607         * modules/stdint (Depends-on): Add multiarch.
70608         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
70610         New module 'multiarch'.
70611         * modules/multiarch: New file.
70612         * m4/multiarch.m4: New file.
70614 2008-12-25  Bruno Haible  <bruno@clisp.org>
70616         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
70618 2008-12-25  Bruno Haible  <bruno@clisp.org>
70620         * modules/btowc (License): Relicense under LGPLv2+.
70621         * modules/mbsinit (License): Likewise.
70622         * modules/mbrtowc (License): Likewise.
70623         * modules/wcrtomb (License): Likewise.
70624         * modules/streq (License): Likewise.
70625         Reported by David Lutterkort <lutter@redhat.com>.
70627 2008-12-23  Bruno Haible  <bruno@clisp.org>
70629         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
70631 2008-12-23  Bruno Haible  <bruno@clisp.org>
70633         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
70634         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
70635         GETADDRINFO_LIB, not in LIBS.
70636         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
70637         * modules/canon-host (Link): Likewise.
70638         * NEWS: Mention the change.
70639         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
70640         GETADDRINFO_LIB.
70642 2008-12-22  Bruno Haible  <bruno@clisp.org>
70644         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
70645         * doc/posix-functions/iswalpha_l.texi: Likewise.
70646         * doc/posix-functions/iswblank_l.texi: Likewise.
70647         * doc/posix-functions/iswcntrl_l.texi: Likewise.
70648         * doc/posix-functions/iswctype_l.texi: Likewise.
70649         * doc/posix-functions/iswdigit_l.texi: Likewise.
70650         * doc/posix-functions/iswgraph_l.texi: Likewise.
70651         * doc/posix-functions/iswlower_l.texi: Likewise.
70652         * doc/posix-functions/iswprint_l.texi: Likewise.
70653         * doc/posix-functions/iswpunct_l.texi: Likewise.
70654         * doc/posix-functions/iswspace_l.texi: Likewise.
70655         * doc/posix-functions/iswupper_l.texi: Likewise.
70656         * doc/posix-functions/iswxdigit_l.texi: Likewise.
70657         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
70658         * doc/posix-functions/open_wmemstream.texi: Likewise.
70659         * doc/posix-functions/swscanf.texi: Likewise.
70660         * doc/posix-functions/towctrans_l.texi: Likewise.
70661         * doc/posix-functions/towlower.texi: Likewise.
70662         * doc/posix-functions/towlower_l.texi: Likewise.
70663         * doc/posix-functions/towupper.texi: Likewise.
70664         * doc/posix-functions/towupper_l.texi: Likewise.
70665         * doc/posix-functions/vfwprintf.texi: Likewise.
70666         * doc/posix-functions/vfwscanf.texi: Likewise.
70667         * doc/posix-functions/vswscanf.texi: Likewise.
70668         * doc/posix-functions/vwprintf.texi: Likewise.
70669         * doc/posix-functions/vwscanf.texi: Likewise.
70670         * doc/posix-functions/wcpcpy.texi: Likewise.
70671         * doc/posix-functions/wcpncpy.texi: Likewise.
70672         * doc/posix-functions/wcscasecmp.texi: Likewise.
70673         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
70674         * doc/posix-functions/wcscoll_l.texi: Likewise.
70675         * doc/posix-functions/wcsdup.texi: Likewise.
70676         * doc/posix-functions/wcsncasecmp.texi: Likewise.
70677         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
70678         * doc/posix-functions/wcsnlen.texi: Likewise.
70679         * doc/posix-functions/wcsnrtombs.texi: Likewise.
70680         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
70681         * doc/posix-functions/wctrans_l.texi: Likewise.
70682         * doc/posix-functions/wctype_l.texi: Likewise.
70683         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
70684         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
70685         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
70686         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
70687         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
70688         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
70689         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
70690         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
70691         * doc/glibc-functions/wcschrnul.texi: Likewise.
70692         * doc/glibc-functions/wcsftime_l.texi: Likewise.
70693         * doc/glibc-functions/wcstod_l.texi: Likewise.
70694         * doc/glibc-functions/wcstof_l.texi: Likewise.
70695         * doc/glibc-functions/wcstol_l.texi: Likewise.
70696         * doc/glibc-functions/wcstold_l.texi: Likewise.
70697         * doc/glibc-functions/wcstoll_l.texi: Likewise.
70698         * doc/glibc-functions/wcstoq.texi: Likewise.
70699         * doc/glibc-functions/wcstoul_l.texi: Likewise.
70700         * doc/glibc-functions/wcstoull_l.texi: Likewise.
70701         * doc/glibc-functions/wcstouq.texi: Likewise.
70702         * doc/glibc-functions/wmempcpy.texi: Likewise.
70704 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
70705             Eric Blake  <ebb9@byu.net>
70706             Paolo Bonzini  <bonzini@gnu.org>
70707             Bruno Haible  <bruno@clisp.org>
70709         Make c-stack work on Haiku.
70710         * lib/c-stack.c (SA_ONSTACK): Define fallback.
70711         (c_stack_action): Use SA_ONSTACK flag.
70713 2008-12-22  Bruno Haible  <bruno@clisp.org>
70715         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
70717 2008-12-22  Bruno Haible  <bruno@clisp.org>
70719         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
70720         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
70721         being overridden.
70722         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
70723         New macros.
70724         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
70725         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
70726         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
70727         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
70729 2008-12-22  Bruno Haible  <bruno@clisp.org>
70731         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
70732         from test code.
70734 2008-12-22  Eric Blake  <ebb9@byu.net>
70736         Avoid gcc warnings on cygwin.
70737         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
70738         Avoid unused variable.
70739         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
70740         Likewise.
70742 2008-12-22  Bruno Haible  <bruno@clisp.org>
70744         Remove HAVE_MBRTOWC conditionals.
70745         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
70746         (mbscasecmp): Assume mbrtowc function.
70747         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
70748         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
70749         * lib/mbschr.c: Include mbuiter.h unconditionally.
70750         (mbschr): Assume mbrtowc function.
70751         * lib/mbscspn.c: Include mbuiter.h unconditionally.
70752         (mbscspn): Assume mbrtowc function.
70753         * lib/mbslen.c: Include mbuiter.h unconditionally.
70754         (mbslen): Assume mbrtowc function.
70755         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
70756         (mbsncasecmp): Assume mbrtowc function.
70757         * lib/mbsnlen.c: Include mbiter.h unconditionally.
70758         (mbsnlen): Assume mbrtowc function.
70759         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
70760         (mbspbrk): Assume mbrtowc function.
70761         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
70762         (mbspcasecmp): Assume mbrtowc function.
70763         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
70764         (mbsrchr): Assume mbrtowc function.
70765         * lib/mbssep.c: Include mbuiter.h unconditionally.
70766         (mbssep): Assume mbrtowc function.
70767         * lib/mbsspn.c: Include mbuiter.h unconditionally.
70768         (mbsspn): Assume mbrtowc function.
70769         * lib/mbsstr.c: Include mbuiter.h unconditionally.
70770         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
70771         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
70772         (mbstok_r): Assume mbrtowc function.
70773         * lib/propername.c: Include mbuiter.h unconditionally.
70774         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
70775         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
70776         (trim2): Assume mbrtowc function.
70777         * lib/mbswidth.c (mbsinit): Remove fallback definition.
70778         (mbsnwidth): Assume mbrtowc function.
70779         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
70780         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
70781         fallback definitions.
70782         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
70784 2008-12-22  Bruno Haible  <bruno@clisp.org>
70786         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
70788 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
70790         * modules/regex: Request emulations for the mb*/wc* functions we need.
70791         * m4/regex.m4: Don't look for those functions here.
70792         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
70794 2008-12-22  Bruno Haible  <bruno@clisp.org>
70796         * modules/fnmatch (Depends-on): Remove duplicated dependency.
70798 2008-12-21  Bruno Haible  <bruno@clisp.org>
70800         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
70801         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
70802         (Include): Remove conditionalization.
70803         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
70804         (Include): Remove conditionalization.
70805         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
70806         (Include): Remove conditionalization.
70807         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
70808         * m4/mbfile.m4 (gl_MBFILE): Likewise.
70809         * NEWS: Mention the change.
70810         Reported by Alan Hourihane <alanh@fairlite.co.uk>
70811         via Sergey Poznyakoff <gray@gnu.org.ua>.
70813 2008-12-21  Bruno Haible  <bruno@clisp.org>
70815         * MODULES.html.sh (Extended multibyte and wide character utilities
70816         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
70817         wcrtomb, wcsrtombs.
70818         (Support for systems lacking POSIX:2008): Add accept, bind, close,
70819         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
70820         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
70821         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
70823 2008-12-21  Bruno Haible  <bruno@clisp.org>
70825         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
70827 2008-12-21  Bruno Haible  <bruno@clisp.org>
70829         * modules/wcsnrtombs-tests: New file.
70830         * tests/test-wcsnrtombs1.sh: New file.
70831         * tests/test-wcsnrtombs2.sh: New file.
70832         * tests/test-wcsnrtombs3.sh: New file.
70833         * tests/test-wcsnrtombs4.sh: New file.
70834         * tests/test-wcsnrtombs.c: New file.
70836         New module 'wcsnrtombs'.
70837         * lib/wchar.in.h (wcsnrtombs): New declaration.
70838         * lib/wcsnrtombs.c: New file.
70839         * lib/wcsrtombs-state.c: New file.
70840         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
70841         (internal_state): Remove variable.
70842         * m4/wcsnrtombs.m4: New file.
70843         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
70844         compilation units.
70845         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
70846         HAVE_WCSNRTOMBS.
70847         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
70848         HAVE_WCSNRTOMBS.
70849         * modules/wcsnrtombs: New file.
70850         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
70851         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
70853 2008-12-21  Bruno Haible  <bruno@clisp.org>
70855         * modules/wcsrtombs-tests: New file.
70856         * tests/test-wcsrtombs1.sh: New file.
70857         * tests/test-wcsrtombs2.sh: New file.
70858         * tests/test-wcsrtombs3.sh: New file.
70859         * tests/test-wcsrtombs4.sh: New file.
70860         * tests/test-wcsrtombs.c: New file.
70862         New module 'wcsrtombs'.
70863         * lib/wchar.in.h (wcsrtombs): New declaration.
70864         * lib/wcsrtombs.c: New file.
70865         * m4/wcsrtombs.m4: New file.
70866         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
70867         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
70868         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
70869         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
70870         * modules/wcsrtombs: New file.
70871         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
70872         bugs.
70874 2008-12-21  Bruno Haible  <bruno@clisp.org>
70876         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
70877         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
70878         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
70879         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
70880         if not correct.
70881         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
70882         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
70883         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
70884         m4/locale-zh.m4, m4/codeset.m4.
70885         * doc/posix-functions/wcrtomb.texi: Document the bug.
70887 2008-12-21  Bruno Haible  <bruno@clisp.org>
70889         Work around a btowc() bug on IRIX 6.5.
70890         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
70891         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
70892         REPLACE_WTOBC if not.
70893         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
70894         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
70895         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
70897 2008-12-21  Bruno Haible  <bruno@clisp.org>
70899         * modules/wcrtomb-tests: New file.
70900         * tests/test-wcrtomb.sh: New file.
70901         * tests/test-wcrtomb.c: New file.
70903         New module 'wcrtomb'.
70904         * lib/wchar.in.h (wcrtomb): New declaration.
70905         * lib/wcrtomb.c: New file.
70906         * m4/wcrtomb.m4: New file.
70907         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
70908         HAVE_WCRTOMB.
70909         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
70910         HAVE_WCRTOMB.
70911         * modules/wcrtomb: New file.
70912         * doc/posix-functions/wcrtomb.texi: Mention the new module.
70914 2008-12-21  Bruno Haible  <bruno@clisp.org>
70916         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
70917         * modules/mbsrtowcs (Files): Likewise.
70918         * modules/wctob (Files): Likewise.
70919         * modules/c-strcase-tests (Files): Likewise.
70920         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
70921         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
70922         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
70923         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
70924         * modules/vasnprintf-posix-tests (Files): Likewise.
70926 2008-12-21  William Pursell  <bill.pursell@gmail.com>
70928         gitlog-to-changelog: pass all command-line arguments to git-log
70929         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
70930         it is sometimes convenient to filter the commits in various ways.
70931         gitlog-to-changelog only allows --since to specify a start date,
70932         but git-log itself supports many other filtering mechanisms.
70933         At the moment, I want to filter by branch name.  Rather than
70934         adding a --branch option to gitlog-to-changelog, it seems more
70935         flexible to simply pass all options directly to git-log and let
70936         git do the work.  Notice that this effectively makes --since a
70937         redundant option for gitlog-to-changelog, but removing it would
70938         require current usage to change since calls would then require
70939         an additional '--'.
70941 2008-12-21  Bruno Haible  <bruno@clisp.org>
70943         * modules/mbsnrtowcs-tests: New file.
70944         * tests/test-mbsnrtowcs1.sh: New file.
70945         * tests/test-mbsnrtowcs2.sh: New file.
70946         * tests/test-mbsnrtowcs3.sh: New file.
70947         * tests/test-mbsnrtowcs4.sh: New file.
70948         * tests/test-mbsnrtowcs.c: New file.
70950         New module 'mbsnrtowcs'.
70951         * lib/wchar.in.h (mbsnrtowcs): New declaration.
70952         * lib/mbsnrtowcs.c: New file.
70953         * lib/mbsrtowcs-state.c: New file.
70954         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
70955         (internal_state): Remove variable.
70956         * m4/mbsnrtowcs.m4: New file.
70957         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
70958         compilation units.
70959         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
70960         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
70961         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
70962         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
70963         * modules/mbsnrtowcs: New file.
70964         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
70965         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
70966         portability problem.
70968 2008-12-21  Bruno Haible  <bruno@clisp.org>
70970         Work around mbsrtowcs bug.
70971         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
70972         (gl_FUNC_MBSRTOWCS): Invoke it.
70973         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
70974         m4/locale-zh.m4.
70975         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
70977 2008-12-21  Bruno Haible  <bruno@clisp.org>
70979         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
70981 2008-12-21  Bruno Haible  <bruno@clisp.org>
70983         Update doc for AIX.
70984         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
70985         16-bit wchar_t type.
70986         * doc/posix-functions/btowc.texi: Likewise.
70987         * doc/posix-functions/fgetwc.texi: Likewise.
70988         * doc/posix-functions/fgetws.texi: Likewise.
70989         * doc/posix-functions/fputwc.texi: Likewise.
70990         * doc/posix-functions/fputws.texi: Likewise.
70991         * doc/posix-functions/fwide.texi: Likewise.
70992         * doc/posix-functions/fwprintf.texi: Likewise.
70993         * doc/posix-functions/fwscanf.texi: Likewise.
70994         * doc/posix-functions/getwchar.texi: Likewise.
70995         * doc/posix-functions/getwc.texi: Likewise.
70996         * doc/posix-functions/iswalnum.texi: Likewise.
70997         * doc/posix-functions/iswalpha.texi: Likewise.
70998         * doc/posix-functions/iswblank.texi: Likewise.
70999         * doc/posix-functions/iswcntrl.texi: Likewise.
71000         * doc/posix-functions/iswctype.texi: Likewise.
71001         * doc/posix-functions/iswdigit.texi: Likewise.
71002         * doc/posix-functions/iswgraph.texi: Likewise.
71003         * doc/posix-functions/iswlower.texi: Likewise.
71004         * doc/posix-functions/iswprint.texi: Likewise.
71005         * doc/posix-functions/iswpunct.texi: Likewise.
71006         * doc/posix-functions/iswspace.texi: Likewise.
71007         * doc/posix-functions/iswupper.texi: Likewise.
71008         * doc/posix-functions/iswxdigit.texi: Likewise.
71009         * doc/posix-functions/mbrtowc.texi: Likewise.
71010         * doc/posix-functions/mbsrtowcs.texi: Likewise.
71011         * doc/posix-functions/mbstowcs.texi: Likewise.
71012         * doc/posix-functions/mbtowc.texi: Likewise.
71013         * doc/posix-functions/putwchar.texi: Likewise.
71014         * doc/posix-functions/putwc.texi: Likewise.
71015         * doc/posix-functions/swprintf.texi: Likewise.
71016         * doc/posix-functions/tolower.texi: Likewise.
71017         * doc/posix-functions/toupper.texi: Likewise.
71018         * doc/posix-functions/towctrans.texi: Likewise.
71019         * doc/posix-functions/ungetwc.texi: Likewise.
71020         * doc/posix-functions/vswprintf.texi: Likewise.
71021         * doc/posix-functions/wcrtomb.texi: Likewise.
71022         * doc/posix-functions/wcscat.texi: Likewise.
71023         * doc/posix-functions/wcschr.texi: Likewise.
71024         * doc/posix-functions/wcscmp.texi: Likewise.
71025         * doc/posix-functions/wcscoll.texi: Likewise.
71026         * doc/posix-functions/wcscpy.texi: Likewise.
71027         * doc/posix-functions/wcscspn.texi: Likewise.
71028         * doc/posix-functions/wcsftime.texi: Likewise.
71029         * doc/posix-functions/wcslen.texi: Likewise.
71030         * doc/posix-functions/wcsncat.texi: Likewise.
71031         * doc/posix-functions/wcsncmp.texi: Likewise.
71032         * doc/posix-functions/wcsncpy.texi: Likewise.
71033         * doc/posix-functions/wcspbrk.texi: Likewise.
71034         * doc/posix-functions/wcsrchr.texi: Likewise.
71035         * doc/posix-functions/wcsrtombs.texi: Likewise.
71036         * doc/posix-functions/wcsspn.texi: Likewise.
71037         * doc/posix-functions/wcsstr.texi: Likewise.
71038         * doc/posix-functions/wcstod.texi: Likewise.
71039         * doc/posix-functions/wcstof.texi: Likewise.
71040         * doc/posix-functions/wcstoimax.texi: Likewise.
71041         * doc/posix-functions/wcstok.texi: Likewise.
71042         * doc/posix-functions/wcstold.texi: Likewise.
71043         * doc/posix-functions/wcstoll.texi: Likewise.
71044         * doc/posix-functions/wcstol.texi: Likewise.
71045         * doc/posix-functions/wcstombs.texi: Likewise.
71046         * doc/posix-functions/wcstoull.texi: Likewise.
71047         * doc/posix-functions/wcstoul.texi: Likewise.
71048         * doc/posix-functions/wcstoumax.texi: Likewise.
71049         * doc/posix-functions/wcswidth.texi: Likewise.
71050         * doc/posix-functions/wcsxfrm.texi: Likewise.
71051         * doc/posix-functions/wctob.texi: Likewise.
71052         * doc/posix-functions/wctomb.texi: Likewise.
71053         * doc/posix-functions/wctrans.texi: Likewise.
71054         * doc/posix-functions/wctype.texi: Likewise.
71055         * doc/posix-functions/wcwidth.texi: Likewise.
71056         * doc/posix-functions/wmemchr.texi: Likewise.
71057         * doc/posix-functions/wmemcmp.texi: Likewise.
71058         * doc/posix-functions/wmemcpy.texi: Likewise.
71059         * doc/posix-functions/wmemmove.texi: Likewise.
71060         * doc/posix-functions/wmemset.texi: Likewise.
71061         * doc/posix-functions/wprintf.texi: Likewise.
71062         * doc/posix-functions/wscanf.texi: Likewise.
71064 2008-12-21  Bruno Haible  <bruno@clisp.org>
71066         Update doc for HP-UX 11.11.
71067         * doc/posix-functions/btowc.texi: Clarify that the function is missing
71068         in HP-UX version 11.00, not in all versions of HP-UX 11.
71069         * doc/posix-functions/fwide.texi: Likewise.
71070         * doc/posix-functions/fwprintf.texi: Likewise.
71071         * doc/posix-functions/fwscanf.texi: Likewise.
71072         * doc/posix-functions/inet_ntop.texi: Likewise.
71073         * doc/posix-functions/inet_pton.texi: Likewise.
71074         * doc/posix-functions/mbrlen.texi: Likewise.
71075         * doc/posix-functions/mbrtowc.texi: Likewise.
71076         * doc/posix-functions/mbsinit.texi: Likewise.
71077         * doc/posix-functions/mbsrtowcs.texi: Likewise.
71078         * doc/posix-functions/swprintf.texi: Likewise.
71079         * doc/posix-functions/swscanf.texi: Likewise.
71080         * doc/posix-functions/towctrans.texi: Likewise.
71081         * doc/posix-functions/vfwprintf.texi: Likewise.
71082         * doc/posix-functions/vswprintf.texi: Likewise.
71083         * doc/posix-functions/vwprintf.texi: Likewise.
71084         * doc/posix-functions/wcrtomb.texi: Likewise.
71085         * doc/posix-functions/wcsrtombs.texi: Likewise.
71086         * doc/posix-functions/wcsstr.texi: Likewise.
71087         * doc/posix-functions/wctob.texi: Likewise.
71088         * doc/posix-functions/wctrans.texi: Likewise.
71089         * doc/posix-functions/wmemchr.texi: Likewise.
71090         * doc/posix-functions/wmemcmp.texi: Likewise.
71091         * doc/posix-functions/wmemcpy.texi: Likewise.
71092         * doc/posix-functions/wmemmove.texi: Likewise.
71093         * doc/posix-functions/wmemset.texi: Likewise.
71094         * doc/posix-functions/wprintf.texi: Likewise.
71095         * doc/posix-functions/wscanf.texi: Likewise.
71097 2008-12-21  Bruno Haible  <bruno@clisp.org>
71099         Work around a portability problem.
71100         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
71101         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
71103 2008-12-20  Bruno Haible  <bruno@clisp.org>
71105         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
71106         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
71107         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
71108         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
71109         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
71111         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
71112         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
71113         set.
71114         (GNULIB_defined_mbstate_t): New macro.
71115         (mbsinit): Redefine if REPLACE_MBSINIT is set.
71116         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
71117         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
71118         reuses the system's mbrtowc function but works around the bugs.
71119         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
71120         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
71121         macros.
71122         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
71123         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
71124         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
71125         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
71126         REPLACE_MBSINIT if mbsinit needs to be overridden.
71127         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
71128         REPLACE_MBSINIT, REPLACE_MBRTOWC.
71129         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
71130         REPLACE_MBSINIT, REPLACE_MBRTOWC.
71131         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
71132         m4/locale-zh.m4.
71133         (Depends): Add mbsinit.
71134         * modules/mbsinit (Depends): Add mbrtowc.
71135         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
71137 2008-12-20  Bruno Haible  <bruno@clisp.org>
71139         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
71140         so that there are no conversion errors on AIX.
71141         * tests/test-mbsrtowcs.c (main): LIkewise.
71143 2008-12-20  Bruno Haible  <bruno@clisp.org>
71145         Work around wctob bug on Solaris <= 9.
71146         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
71147         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
71148         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
71149         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
71150         * modules/wctob (Files): Add m4/locale-fr.m4.
71151         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
71153 2008-12-20  Bruno Haible  <bruno@clisp.org>
71155         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
71156         /dev/null.
71157         * tests/test-select-in.sh: Likewise.
71158         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
71160 2008-12-20  Bruno Haible  <bruno@clisp.org>
71162         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
71163         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
71164         Cygwin 1.5.x.
71166 2008-12-20  Bruno Haible  <bruno@clisp.org>
71168         Ensure mbstate_t is defined on HP-UX 11.11.
71169         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
71170         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
71171         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
71172         AC_USE_SYSTEM_EXTENSIONS.
71173         * modules/fnmatch (Depends-on): Add extensions.
71174         * modules/mbrlen (Depends-on): Likewise.
71175         * modules/mbrtowc (Depends-on): Likewise.
71176         * modules/mbsinit (Depends-on): Likewise.
71177         * modules/mbsrtowcs (Depends-on): Likewise.
71178         * modules/mbswidth (Depends-on): Likewise.
71179         * modules/quotearg (Depends-on): Likewise.
71180         * modules/strftime (Depends-on): Likewise.
71182 2008-12-20  Bruno Haible  <bruno@clisp.org>
71184         Ensure wctob is declared on IRIX 6.5.
71185         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
71186         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
71187         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
71188         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
71189         of HAVE_WCTOB.
71190         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
71191         HAVE_WCTOB.
71192         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
71194 2008-12-19  Bruno Haible  <bruno@clisp.org>
71196         * modules/mbsrtowcs-tests: New file.
71197         * tests/test-mbsrtowcs1.sh: New file.
71198         * tests/test-mbsrtowcs2.sh: New file.
71199         * tests/test-mbsrtowcs3.sh: New file.
71200         * tests/test-mbsrtowcs4.sh: New file.
71201         * tests/test-mbsrtowcs.c: New file.
71203         New module 'mbsrtowcs'.
71204         * lib/wchar.in.h (mbsrtowcs): New declaration.
71205         * lib/mbsrtowcs.c: New file.
71206         * m4/mbsrtowcs.m4: New file.
71207         * modules/mbsrtowcs: New file.
71208         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
71209         HAVE_MBSRTOWCS.
71210         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
71211         HAVE_MBSRTOWCS.
71212         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
71214 2008-12-19  Bruno Haible  <bruno@clisp.org>
71216         New module 'mbrlen'.
71217         * lib/wchar.in.h (mbrlen): New declaration.
71218         * lib/mbrlen.c: New file.
71219         * m4/mbrlen.m4: New file.
71220         * modules/mbrlen: New file.
71221         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
71222         HAVE_MBRLEN.
71223         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
71224         HAVE_MBRLEN.
71225         * doc/posix-functions/mbrlen.texi: Document the new module.
71227 2008-12-19  Bruno Haible  <bruno@clisp.org>
71229         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
71230         * modules/mbrtowc (Depends-on): Add verify.
71231         Suggested by Paul Eggert.
71233 2008-12-18  Bruno Haible  <bruno@clisp.org>
71235         * modules/mbsinit-tests: New file.
71236         * tests/test-mbsinit.sh: New file.
71237         * tests/test-mbsinit.c: New file.
71239 2008-12-18  Bruno Haible  <bruno@clisp.org>
71241         * modules/mbrtowc-tests: New file.
71242         * tests/test-mbrtowc1.sh: New file.
71243         * tests/test-mbrtowc2.sh: New file.
71244         * tests/test-mbrtowc3.sh: New file.
71245         * tests/test-mbrtowc4.sh: New file.
71246         * tests/test-mbrtowc.c: New file.
71248         New module 'mbrtowc'.
71249         * lib/wchar.in.h (mbstate_t): Override when the system does not have
71250         mbsinit and mbrtowc.
71251         (mbrtowc): New declaration.
71252         * lib/mbrtowc.c: New file.
71253         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
71254         * modules/mbrtowc: New file.
71255         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
71256         HAVE_MBRTOWC.
71257         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
71258         HAVE_MBRTOWC.
71259         * doc/posix-functions/mbrtowc.texi: Document the new module.
71261 2008-12-18  Bruno Haible  <bruno@clisp.org>
71263         New module 'wctob'.
71264         * lib/wchar.in.h (wctob): New declaration.
71265         * lib/wctob.c: New file.
71266         * m4/wctob.m4: New file.
71267         * modules/wctob: New file.
71268         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
71269         HAVE_WCTOB.
71270         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
71271         * doc/posix-functions/wctob.texi: Document the new module.
71273 2008-12-18  Bruno Haible  <bruno@clisp.org>
71275         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
71276         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
71278 2008-12-18  Simon Josefsson  <simon@josefsson.org>
71280         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
71281         G. Christensen" <tgc@jupiterrise.com>.
71283         * lib/flock.c: Need to include errno.h.  Reported by "Tom
71284         G. Christensen" <tgc@jupiterrise.com>.
71286         * lib/flock.c: Need to include string.h.  Reported by "Tom
71287         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
71288         <ebb9@byu.net>.
71290 2008-12-18  Bruno Haible  <bruno@clisp.org>
71292         * m4/locale-ja.m4: New file, from GNU gettext.
71294 2008-12-17  Bruno Haible  <bruno@clisp.org>
71296         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
71297         Suggested by Eric Blake.
71299 2008-12-17  Bruno Haible  <bruno@clisp.org>
71301         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
71303 2008-12-17  Bruno Haible  <bruno@clisp.org>
71305         * lib/mbsinit.c: Include verify.h. Verify an assumption.
71306         * modules/mbsinit (Depends-on): Add verify.
71307         Suggested by Paul Eggert.
71309 2008-12-17  Bruno Haible  <bruno@clisp.org>
71311         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
71312         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
71313         gl_FUNC_MBRTOWC.
71314         * m4/mbiter.m4 (gl_MBITER): LIkewise.
71315         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
71316         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
71317         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
71318         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
71319         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
71320         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
71321         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
71322         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
71323         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
71324         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
71325         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
71326         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
71327         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
71328         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
71329         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
71330         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
71331         * modules/trim (configure.ac): Likewise.
71333 2008-12-17  Bruno Haible  <bruno@clisp.org>
71335         * modules/btowc-tests: New file.
71336         * tests/test-btowc1.sh: New file.
71337         * tests/test-btowc2.sh: New file.
71338         * tests/test-btowc.c: New file.
71340         New module 'btowc'.
71341         * lib/wchar.in.h (btowc): New declaration.
71342         * lib/btowc.c: New file.
71343         * m4/btowc.m4: New file.
71344         * modules/btowc: New file.
71345         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
71346         HAVE_BTOWC.
71347         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
71348         * doc/posix-functions/btowc.texi: Document the new module.
71350 2008-12-17  Bruno Haible  <bruno@clisp.org>
71352         New module 'mbsinit'.
71353         * lib/wchar.in.h (mbsinit): New declaration.
71354         * lib/mbsinit.c: New file.
71355         * m4/mbsinit.m4: New file.
71356         * modules/mbsinit: New file.
71357         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
71358         HAVE_MBSINIT.
71359         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
71360         HAVE_MBSINIT.
71361         * doc/posix-functions/mbsinit.texi: Document the new module.
71363 2008-12-16  Bruno Haible  <bruno@clisp.org>
71365         * lib/unistd.in.h: Add comment.
71366         * tests/test-environ.c: Don't include <stdlib.h>.
71368 2008-12-16  Bruno Haible  <bruno@clisp.org>
71370         * lib/parse-duration.h (parse_duration): Document return value
71371         convention.
71372         * lib/parse-duration.c: Include specification header first. Add
71373         comments.
71374         (_): Remove macro.
71375         (parse_year_month_day, parse_hour_minute_second): Move side effects
71376         outside of strchr call.
71377         (parse_non_iso8601): Move side effects outside of isspace call.
71378         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
71379         call.
71381 2008-12-16  Bruno Haible  <bruno@clisp.org>
71383         * tests/test-parse-duration.sh: Produce no output when the test
71384         succeeds.
71386 2008-12-16  Bruno Haible  <bruno@clisp.org>
71388         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
71389         expressions.
71391 2008-12-15  Bruno Haible  <bruno@clisp.org>
71393         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
71394         * doc/glibc-functions/flistxattr.texi: Likewise.
71395         * doc/glibc-functions/fopencookie.texi: Likewise.
71396         * doc/glibc-functions/fremovexattr.texi: Likewise.
71397         * doc/glibc-functions/fsetxattr.texi: Likewise.
71398         * doc/glibc-functions/getxattr.texi: Likewise.
71399         * doc/glibc-functions/lgetxattr.texi: Likewise.
71400         * doc/glibc-functions/listxattr.texi: Likewise.
71401         * doc/glibc-functions/llistxattr.texi: Likewise.
71402         * doc/glibc-functions/lremovexattr.texi: Likewise.
71403         * doc/glibc-functions/lsetxattr.texi: Likewise.
71404         * doc/glibc-functions/removexattr.texi: Likewise.
71405         * doc/glibc-functions/setxattr.texi: Likewise.
71406         * doc/posix-functions/open_memstream.texi: Likewise.
71408 2008-12-15  Eric Blake  <ebb9@byu.net>
71410         Update doc for cygwin 1.7.
71411         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
71412         functions.
71413         * doc/posix-functions/fchmodat.texi: Likewise.
71414         * doc/posix-functions/fchownat.texi: Likewise.
71415         * doc/posix-functions/fdopendir.texi: Likewise.
71416         * doc/posix-functions/fmemopen.texi: Likewise.
71417         * doc/posix-functions/freeaddrinfo.texi: Likewise.
71418         * doc/posix-functions/fstatat.texi: Likewise.
71419         * doc/posix-functions/futimens.texi: Likewise.
71420         * doc/posix-functions/gai_strerror.texi: Likewise.
71421         * doc/posix-functions/getaddrinfo.texi: Likewise.
71422         * doc/posix-functions/getnameinfo.texi: Likewise.
71423         * doc/posix-functions/if_freenameindex.texi: Likewise.
71424         * doc/posix-functions/if_indextoname.texi: Likewise.
71425         * doc/posix-functions/if_nameindex.texi: Likewise.
71426         * doc/posix-functions/if_nametoindex.texi: Likewise.
71427         * doc/posix-functions/insque.texi: Likewise.
71428         * doc/posix-functions/linkat.texi: Likewise.
71429         * doc/posix-functions/llrint.texi: Likewise.
71430         * doc/posix-functions/llrintf.texi: Likewise.
71431         * doc/posix-functions/llrintl.texi: Likewise.
71432         * doc/posix-functions/lockf.texi: Likewise.
71433         * doc/posix-functions/lrintl.texi: Likewise.
71434         * doc/posix-functions/mkdirat.texi: Likewise.
71435         * doc/posix-functions/mkfifoat.texi: Likewise.
71436         * doc/posix-functions/mknodat.texi: Likewise.
71437         * doc/posix-functions/mq_close.texi: Likewise.
71438         * doc/posix-functions/mq_getattr.texi: Likewise.
71439         * doc/posix-functions/mq_notify.texi: Likewise.
71440         * doc/posix-functions/mq_open.texi: Likewise.
71441         * doc/posix-functions/mq_receive.texi: Likewise.
71442         * doc/posix-functions/mq_send.texi: Likewise.
71443         * doc/posix-functions/mq_setattr.texi: Likewise.
71444         * doc/posix-functions/mq_timedreceive.texi: Likewise.
71445         * doc/posix-functions/mq_timedsend.texi: Likewise.
71446         * doc/posix-functions/mq_unlink.texi: Likewise.
71447         * doc/posix-functions/open_memstream.texi: Likewise.
71448         * doc/posix-functions/openat.texi: Likewise.
71449         * doc/posix-functions/posix_fadvise.texi: Likewise.
71450         * doc/posix-functions/posix_fallocate.texi: Likewise.
71451         * doc/posix-functions/posix_madvise.texi: Likewise.
71452         * doc/posix-functions/posix_memalign.texi: Likewise.
71453         * doc/posix-functions/posix_openpt.texi: Likewise.
71454         * doc/posix-functions/readlinkat.texi: Likewise.
71455         * doc/posix-functions/remque.texi: Likewise.
71456         * doc/posix-functions/renameat.texi: Likewise.
71457         * doc/posix-functions/rintl.texi: Likewise.
71458         * doc/posix-functions/sem_unlink.texi: Likewise.
71459         * doc/posix-functions/shm_open.texi: Likewise.
71460         * doc/posix-functions/shm_unlink.texi: Likewise.
71461         * doc/posix-functions/signgam.texi: Likewise.
71462         * doc/posix-functions/sigset.texi: Likewise.
71463         * doc/posix-functions/stpcpy.texi: Likewise.
71464         * doc/posix-functions/stpncpy.texi: Likewise.
71465         * doc/posix-functions/strerror.texi: Likewise.
71466         * doc/posix-functions/strtod.texi: Likewise.
71467         * doc/posix-functions/symlinkat.texi: Likewise.
71468         * doc/posix-functions/unlinkat.texi: Likewise.
71469         * doc/posix-functions/utimensat.texi: Likewise.
71470         * doc/glibc-functions/bindresvport.texi: Likewise.
71471         * doc/glibc-functions/dn_expand.texi: Likewise.
71472         * doc/glibc-functions/exp10.texi: Likewise.
71473         * doc/glibc-functions/exp10f.texi: Likewise.
71474         * doc/glibc-functions/fgetxattr.texi: Likewise.
71475         * doc/glibc-functions/flistxattr.texi: Likewise.
71476         * doc/glibc-functions/fopencookie.texi: Likewise.
71477         * doc/glibc-functions/freeifaddrs.texi: Likewise.
71478         * doc/glibc-functions/fremovexattr.texi: Likewise.
71479         * doc/glibc-functions/fsetxattr.texi: Likewise.
71480         * doc/glibc-functions/getifaddrs.texi: Likewise.
71481         * doc/glibc-functions/getxattr.texi: Likewise.
71482         * doc/glibc-functions/lgetxattr.texi: Likewise.
71483         * doc/glibc-functions/listxattr.texi: Likewise.
71484         * doc/glibc-functions/llistxattr.texi: Likewise.
71485         * doc/glibc-functions/lremovexattr.texi: Likewise.
71486         * doc/glibc-functions/lsetxattr.texi: Likewise.
71487         * doc/glibc-functions/pow10.texi: Likewise.
71488         * doc/glibc-functions/pow10f.texi: Likewise.
71489         * doc/glibc-functions/rcmd_af.texi: Likewise.
71490         * doc/glibc-functions/removexattr.texi: Likewise.
71491         * doc/glibc-functions/res_init.texi: Likewise.
71492         * doc/glibc-functions/res_mkquery.texi: Likewise.
71493         * doc/glibc-functions/res_query.texi: Likewise.
71494         * doc/glibc-functions/res_querydomain.texi: Likewise.
71495         * doc/glibc-functions/res_send.texi: Likewise.
71496         * doc/glibc-functions/rresvport_af.texi: Likewise.
71497         * doc/glibc-functions/setxattr.texi: Likewise.
71498         * doc/glibc-functions/strcasestr.texi: Likewise.
71500 2008-12-15  Bruno Haible  <bruno@clisp.org>
71502         Fix compilation error on OSF/1 4.0.
71503         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
71504         <sys/time.h>, simply delegate to the system header.
71505         Reported by Daniel Richard G. <oss@teragram.com>.
71507 2008-12-15  Bruno Haible  <bruno@clisp.org>
71509         * doc/posix-functions/openat.texi: Mention the 'openat' module.
71510         * doc/posix-functions/fchmodat.texi: Likewise.
71511         * doc/posix-functions/fchownat.texi: Likewise.
71512         * doc/posix-functions/fdopendir.texi: Likewise.
71513         * doc/posix-functions/fstatat.texi: Likewise.
71514         * doc/posix-functions/mkdirat.texi: Likewise.
71515         * doc/posix-functions/unlinkat.texi: Likewise.
71517 2008-12-14  Bruno Haible  <bruno@clisp.org>
71519         Update doc for POSIX:2008.
71520         * doc/posix-functions/faccessat.texi: New file.
71521         * doc/posix-functions/fchmodat.texi: New file.
71522         * doc/posix-functions/fchownat.texi: New file.
71523         * doc/posix-functions/fdopendir.texi: New file.
71524         * doc/posix-functions/fstatat.texi: New file.
71525         * doc/posix-functions/futimens.texi: New file.
71526         * doc/posix-functions/linkat.texi: New file.
71527         * doc/posix-functions/mkdirat.texi: New file.
71528         * doc/posix-functions/mkfifoat.texi: New file.
71529         * doc/posix-functions/mknodat.texi: New file.
71530         * doc/posix-functions/open_wmemstream.texi: New file.
71531         * doc/posix-functions/openat.texi: New file.
71532         * doc/posix-functions/psiginfo.texi: New file.
71533         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
71534         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
71535         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
71536         * doc/posix-functions/readlinkat.texi: New file.
71537         * doc/posix-functions/renameat.texi: New file.
71538         * doc/posix-functions/strerror_l.texi: New file.
71539         * doc/posix-functions/symlinkat.texi: New file.
71540         * doc/posix-functions/unlinkat.texi: New file.
71541         * doc/posix-functions/utimensat.texi: New file.
71542         * doc/gnulib.texi (Function Substitutes): Add these subsections.
71544 2008-12-14  Bruno Haible  <bruno@clisp.org>
71546         Update doc for POSIX:2008.
71547         * doc/posix-functions/alphasort.texi: Renamed from
71548         doc/glibc-functions/alphasort.texi.
71549         * doc/posix-functions/dirfd.texi: Renamed from
71550         doc/glibc-functions/dirfd.texi.
71551         * doc/posix-functions/dprintf.texi: Renamed from
71552         doc/glibc-functions/dprintf.texi.
71553         * doc/posix-functions/duplocale.texi: Renamed from
71554         doc/glibc-functions/duplocale.texi.
71555         * doc/posix-functions/fexecve.texi: Renamed from
71556         doc/glibc-functions/fexecve.texi.
71557         * doc/posix-functions/fmemopen.texi: Renamed from
71558         doc/glibc-functions/fmemopen.texi.
71559         * doc/posix-functions/freelocale.texi: Renamed from
71560         doc/glibc-functions/freelocale.texi.
71561         * doc/posix-functions/getdate_err.texi: Renamed from
71562         doc/glibc-functions/getdate_err.texi.
71563         * doc/posix-functions/isalnum_l.texi: Renamed from
71564         doc/glibc-functions/isalnum_l.texi.
71565         * doc/posix-functions/isalpha_l.texi: Renamed from
71566         doc/glibc-functions/isalpha_l.texi.
71567         * doc/posix-functions/isblank_l.texi: Renamed from
71568         doc/glibc-functions/isblank_l.texi.
71569         * doc/posix-functions/iscntrl_l.texi: Renamed from
71570         doc/glibc-functions/iscntrl_l.texi.
71571         * doc/posix-functions/isdigit_l.texi: Renamed from
71572         doc/glibc-functions/isdigit_l.texi.
71573         * doc/posix-functions/isgraph_l.texi: Renamed from
71574         doc/glibc-functions/isgraph_l.texi.
71575         * doc/posix-functions/islower_l.texi: Renamed from
71576         doc/glibc-functions/islower_l.texi.
71577         * doc/posix-functions/isprint_l.texi: Renamed from
71578         doc/glibc-functions/isprint_l.texi.
71579         * doc/posix-functions/ispunct_l.texi: Renamed from
71580         doc/glibc-functions/ispunct_l.texi.
71581         * doc/posix-functions/isspace_l.texi: Renamed from
71582         doc/glibc-functions/isspace_l.texi.
71583         * doc/posix-functions/isupper_l.texi: Renamed from
71584         doc/glibc-functions/isupper_l.texi.
71585         * doc/posix-functions/iswalnum_l.texi: Renamed from
71586         doc/glibc-functions/iswalnum_l.texi.
71587         * doc/posix-functions/iswalpha_l.texi: Renamed from
71588         doc/glibc-functions/iswalpha_l.texi.
71589         * doc/posix-functions/iswblank_l.texi: Renamed from
71590         doc/glibc-functions/iswblank_l.texi.
71591         * doc/posix-functions/iswcntrl_l.texi: Renamed from
71592         doc/glibc-functions/iswcntrl_l.texi.
71593         * doc/posix-functions/iswctype_l.texi: Renamed from
71594         doc/glibc-functions/iswctype_l.texi.
71595         * doc/posix-functions/iswdigit_l.texi: Renamed from
71596         doc/glibc-functions/iswdigit_l.texi.
71597         * doc/posix-functions/iswgraph_l.texi: Renamed from
71598         doc/glibc-functions/iswgraph_l.texi.
71599         * doc/posix-functions/iswlower_l.texi: Renamed from
71600         doc/glibc-functions/iswlower_l.texi.
71601         * doc/posix-functions/iswprint_l.texi: Renamed from
71602         doc/glibc-functions/iswprint_l.texi.
71603         * doc/posix-functions/iswpunct_l.texi: Renamed from
71604         doc/glibc-functions/iswpunct_l.texi.
71605         * doc/posix-functions/iswspace_l.texi: Renamed from
71606         doc/glibc-functions/iswspace_l.texi.
71607         * doc/posix-functions/iswupper_l.texi: Renamed from
71608         doc/glibc-functions/iswupper_l.texi.
71609         * doc/posix-functions/iswxdigit_l.texi: Renamed from
71610         doc/glibc-functions/iswxdigit_l.texi.
71611         * doc/posix-functions/isxdigit_l.texi: Renamed from
71612         doc/glibc-functions/isxdigit_l.texi.
71613         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
71614         doc/glibc-functions/mbsnrtowcs.texi.
71615         * doc/posix-functions/mkdtemp.texi: Renamed from
71616         doc/glibc-functions/mkdtemp.texi.
71617         * doc/posix-functions/newlocale.texi: Renamed from
71618         doc/glibc-functions/newlocale.texi.
71619         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
71620         doc/glibc-functions/nl_langinfo_l.texi.
71621         * doc/posix-functions/open_memstream.texi: Renamed from
71622         doc/glibc-functions/open_memstream.texi.
71623         * doc/posix-functions/opterr.texi: Renamed from
71624         doc/glibc-functions/opterr.texi.
71625         * doc/posix-functions/optind.texi: Renamed from
71626         doc/glibc-functions/optind.texi.
71627         * doc/posix-functions/optopt.texi: Renamed from
71628         doc/glibc-functions/optopt.texi.
71629         * doc/posix-functions/psignal.texi: Renamed from
71630         doc/glibc-functions/psignal.texi.
71631         * doc/posix-functions/scandir.texi: Renamed from
71632         doc/glibc-functions/scandir.texi.
71633         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
71634         doc/glibc-functions/sched_get_priority_min.texi.
71635         * doc/posix-functions/signgam.texi: Renamed from
71636         doc/glibc-functions/signgam.texi.
71637         * doc/posix-functions/stpcpy.texi: Renamed from
71638         doc/glibc-functions/stpcpy.texi.
71639         * doc/posix-functions/stpncpy.texi: Renamed from
71640         doc/glibc-functions/stpncpy.texi.
71641         * doc/posix-functions/strcasecmp_l.texi: Renamed from
71642         doc/glibc-functions/strcasecmp_l.texi.
71643         * doc/posix-functions/strcoll_l.texi: Renamed from
71644         doc/glibc-functions/strcoll_l.texi.
71645         * doc/posix-functions/strfmon_l.texi: Renamed from
71646         doc/glibc-functions/strfmon_l.texi.
71647         * doc/posix-functions/strftime_l.texi: Renamed from
71648         doc/glibc-functions/strftime_l.texi.
71649         * doc/posix-functions/strncasecmp_l.texi: Renamed from
71650         doc/glibc-functions/strncasecmp_l.texi.
71651         * doc/posix-functions/strndup.texi: Renamed from
71652         doc/glibc-functions/strndup.texi.
71653         * doc/posix-functions/strnlen.texi: Renamed from
71654         doc/glibc-functions/strnlen.texi.
71655         * doc/posix-functions/strsignal.texi: Renamed from
71656         doc/glibc-functions/strsignal.texi.
71657         * doc/posix-functions/strxfrm_l.texi: Renamed from
71658         doc/glibc-functions/strxfrm_l.texi.
71659         * doc/posix-functions/timer_gettime.texi: Renamed from
71660         doc/glibc-functions/timer_gettime.texi.
71661         * doc/posix-functions/tolower_l.texi: Renamed from
71662         doc/glibc-functions/tolower_l.texi.
71663         * doc/posix-functions/toupper_l.texi: Renamed from
71664         doc/glibc-functions/toupper_l.texi.
71665         * doc/posix-functions/towctrans_l.texi: Renamed from
71666         doc/glibc-functions/towctrans_l.texi.
71667         * doc/posix-functions/towlower_l.texi: Renamed from
71668         doc/glibc-functions/towlower_l.texi.
71669         * doc/posix-functions/towupper_l.texi: Renamed from
71670         doc/glibc-functions/towupper_l.texi.
71671         * doc/posix-functions/uselocale.texi: Renamed from
71672         doc/glibc-functions/uselocale.texi.
71673         * doc/posix-functions/vdprintf.texi: Renamed from
71674         doc/glibc-functions/vdprintf.texi.
71675         * doc/posix-functions/wcpcpy.texi:
71676         Renamed from doc/glibc-functions/wcpcpy.texi.
71677         * doc/posix-functions/wcpncpy.texi: Renamed from
71678         doc/glibc-functions/wcpncpy.texi.
71679         * doc/posix-functions/wcscasecmp.texi: Renamed from
71680         doc/glibc-functions/wcscasecmp.texi.
71681         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
71682         doc/glibc-functions/wcscasecmp_l.texi.
71683         * doc/posix-functions/wcscoll_l.texi: Renamed from
71684         doc/glibc-functions/wcscoll_l.texi.
71685         * doc/posix-functions/wcsdup.texi: Renamed from
71686         doc/glibc-functions/wcsdup.texi.
71687         * doc/posix-functions/wcsncasecmp.texi: Renamed from
71688         doc/glibc-functions/wcsncasecmp.texi.
71689         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
71690         doc/glibc-functions/wcsncasecmp_l.texi.
71691         * doc/posix-functions/wcsnlen.texi: Renamed from
71692         doc/glibc-functions/wcsnlen.texi.
71693         * doc/posix-functions/wcsnrtombs.texi: Renamed from
71694         doc/glibc-functions/wcsnrtombs.texi.
71695         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
71696         doc/glibc-functions/wcsxfrm_l.texi.
71697         * doc/posix-functions/wctrans_l.texi: Renamed from
71698         doc/glibc-functions/wctrans_l.texi.
71699         * doc/posix-functions/wctype_l.texi: Renamed from
71700         doc/glibc-functions/wctype_l.texi.
71701         * doc/gnulib.texi (Function Substitutes): Add these subsections.
71702         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
71703         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
71704         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
71705         these subsections.
71706         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
71707         Remove sections.
71709 2008-12-14  Bruno Haible  <bruno@clisp.org>
71711         Update doc for POSIX:2008.
71712         * doc/posix-functions/*.texi: Update URL of POSIX specification.
71714 2008-12-14  Bruno Haible  <bruno@clisp.org>
71716         Update doc for POSIX:2008.
71717         * doc/pastposix-functions/bcmp.texi: Renamed from
71718         doc/posix-functions/bcmp.texi.
71719         * doc/pastposix-functions/bcopy.texi: Renamed from
71720         doc/posix-functions/bcopy.texi.
71721         * doc/pastposix-functions/bsd_signal.texi: Renamed from
71722         doc/posix-functions/bsd_signal.texi.
71723         * doc/pastposix-functions/bzero.texi: Renamed from
71724         doc/posix-functions/bzero.texi.
71725         * doc/pastposix-functions/ecvt.texi: Renamed from
71726         doc/posix-functions/ecvt.texi.
71727         * doc/pastposix-functions/fcvt.texi: Renamed from
71728         doc/posix-functions/fcvt.texi.
71729         * doc/pastposix-functions/ftime.texi: Renamed from
71730         doc/posix-functions/ftime.texi.
71731         * doc/pastposix-functions/gcvt.texi: Renamed from
71732         doc/posix-functions/gcvt.texi.
71733         * doc/pastposix-functions/getcontext.texi: Renamed from
71734         doc/posix-functions/getcontext.texi.
71735         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
71736         doc/posix-functions/gethostbyaddr.texi.
71737         * doc/pastposix-functions/gethostbyname.texi: Renamed from
71738         doc/posix-functions/gethostbyname.texi.
71739         * doc/pastposix-functions/getwd.texi: Renamed from
71740         doc/posix-functions/getwd.texi.
71741         * doc/pastposix-functions/h_errno.texi: Renamed from
71742         doc/posix-functions/h_errno.texi.
71743         * doc/pastposix-functions/index.texi: Renamed from
71744         doc/posix-functions/index.texi.
71745         * doc/pastposix-functions/makecontext.texi: Renamed from
71746         doc/posix-functions/makecontext.texi.
71747         * doc/pastposix-functions/mktemp.texi: Renamed from
71748         doc/posix-functions/mktemp.texi.
71749         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
71750         doc/posix-functions/pthread_attr_getstackaddr.texi.
71751         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
71752         doc/posix-functions/pthread_attr_setstackaddr.texi.
71753         * doc/pastposix-functions/rindex.texi: Renamed from
71754         doc/posix-functions/rindex.texi.
71755         * doc/pastposix-functions/scalb.texi: Renamed from
71756         doc/posix-functions/scalb.texi.
71757         * doc/pastposix-functions/setcontext.texi: Renamed from
71758         doc/posix-functions/setcontext.texi.
71759         * doc/pastposix-functions/swapcontext.texi: Renamed from
71760         doc/posix-functions/swapcontext.texi.
71761         * doc/pastposix-functions/ualarm.texi: Renamed from
71762         doc/posix-functions/ualarm.texi.
71763         * doc/pastposix-functions/usleep.texi: Renamed from
71764         doc/posix-functions/usleep.texi.
71765         * doc/pastposix-functions/vfork.texi: Renamed from
71766         doc/posix-functions/vfork.texi.
71767         * doc/pastposix-functions/wcswcs.texi: Renamed from
71768         doc/posix-functions/wcswcs.texi.
71769         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
71770         (Function Substitutes): Update.
71772 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71774         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
71775         m4/strerror.m4.
71777 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71778             Bruno Haible  <bruno@clisp.org>
71780         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
71782 2008-12-13  Bruno Haible  <bruno@clisp.org>
71784         * modules/strtoull (Depends-on): Remove unistd.
71786 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71788         * modules/strtoull (Depends-on): Add stdlib.
71790 2008-12-11  Simon Josefsson  <simon@josefsson.org>
71792         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
71794 2008-12-10  Jim Meyering  <meyering@redhat.com>
71796         gl_ASSERT: don't say assertions are disabled when they're not
71797         * m4/assert.m4 (gl_ASSERT): Do not make configure report
71798         "checking whether to enable assertions... no", when they are in
71799         fact enabled.  This is solely a bug in the output of configure.
71800         In spite of saying "no", NDEBUG was not defined in that case.
71801         Also, as noted by Eric Blake, leave assertions enabled upon
71802         --enable-assert=INVALID.
71804 2008-12-10  Bruno Haible  <bruno@clisp.org>
71806         Change MODULES.html to refer to POSIX:2008 where possible.
71807         * MODULES.html.sh (POSIX2008_URL): New variable.
71808         (posix_headers): Remove sys/timeb, ucontext.
71809         (posix2001_headers): New variable.
71810         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
71811         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
71812         index, makecontext, mktemp, pthread_attr_getstackaddr,
71813         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
71814         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
71815         (posix2001_functions): New variable.
71816         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
71817         otherwise.
71819 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71821         add missing include to parse-duration.c
71822         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
71823         * modules/parse-duration (Depends-on): Add xalloc.
71825         fix sed script reading maint.mk
71826         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
71827         (syntax-check-rules): Use it.
71829 2008-12-09  Bruno Haible  <bruno@clisp.org>
71831         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
71832         MacOS X 10.4/PowerPC.
71833         Reported by Simon Josefsson.
71835 2008-12-08  Jim Meyering  <meyering@redhat.com>
71837         work around mingw's lack of some S_IF definitions
71838         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
71839         Reported by Simon Josefsson.
71841 2008-12-08  Bruno Haible  <bruno@clisp.org>
71843         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
71844         applied to variables. Needed on MacOS X 10.4/PowerPC.
71845         Reported by Simon Josefsson.
71847 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
71848         and Eric Blake  <ebb9@byu.net>
71850         assert: honor --enable-assert
71851         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
71852         order to honor --enable-assert, rather than treating it as a
71853         synonym for --disable-assert.
71855 2008-12-08  Jim Meyering  <meyering@redhat.com>
71857         * lib/posixtm.c: Remove now-useless declaration of mktime.
71859         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
71861 2008-12-07  Bruno Haible  <bruno@clisp.org>
71863         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
71864         test_once): Mark functions as static.
71865         * tests/test-tls.c (test_tls): Likewise.
71867 2008-12-07  Bruno Haible  <bruno@clisp.org>
71869         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
71870         iconv_register_autodetect.
71872 2008-12-07  Jim Meyering  <meyering@redhat.com>
71874         posixtm.c: avoid a warning
71875         * lib/posixtm.c (posixtime): Don't initialize tm0.
71876         It's no longer needed to placate gcc4's -Wuninitialized,
71877         and the attempt to placate would elicit a new warning.
71879         unicodeio.c: mark unused parameters
71880         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
71881         (fallback_failure_callback): Likewise.
71883 2008-12-07  Bruno Haible  <bruno@clisp.org>
71885         * gnulib-tool (func_create_testdir): When building the tests
71886         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
71887         Reported by Simon Josefsson.
71889 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71891         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
71893 2008-12-06  Bruno Haible  <bruno@clisp.org>
71895         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
71896         Suggested by Eric Blake.
71898 2008-12-06  Bruno Haible  <bruno@clisp.org>
71900         Fix a c-stack test failure on MacOS X.
71901         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
71902         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
71903         handler for SIGBUS as well.
71904         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
71905         install a signal handler for SIGBUS as well.
71906         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
71908 2008-12-06  Bruno Haible  <bruno@clisp.org>
71910         Advocacy documentation.
71911         * doc/gnulib-intro.texi (Benefits): New section.
71912         * doc/gnulib.texi: Update.
71914 2008-12-06  Bruno Haible  <bruno@clisp.org>
71916         Document the 'manywarnings' module.
71917         * doc/manywarnings.texi: New file.
71918         * doc/gnulib.texi: Include it.
71920 2008-12-05  Eric Blake  <ebb9@byu.net>
71922         tests: silence some gcc warnings
71923         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
71924         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
71925         type mismatches.
71927 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71928             Bruno Haible  <bruno@clisp.org>
71930         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
71932 2008-11-29  Jim Meyering  <meyering@redhat.com>
71934         unicodeio.c: mark unused parameters
71935         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
71936         (fallback_failure_callback): Likewise.
71938         fts: fix a thinko
71939         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
71940         (set_stat_type): Return S_IF*-valued "type" directly.
71941         Prompted by James Youngman's spotting a related bug.
71942         Confirmed by further testing through find.
71944         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
71945         * lib/fts.c (D_TYPE): Define.
71946         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
71947         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
71948         (s_ifmt_shift_bits): New function.
71949         (set_stat_type): New function.
71950         (fts_build): When not calling fts_stat, call set_stat_type
71951         to propagate dirent.d_type info to fts_read caller.
71952         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
71953         fts_statp->st_mode type information may be valid.
71955 2008-11-28  Simon Josefsson  <simon@josefsson.org>
71957         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
71958         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
71959         <sds@gnu.org>.
71961 2008-11-20  Bruno Haible  <bruno@clisp.org>
71963         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
71964         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
71965         INCLUDE_NEXT.
71966         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
71967         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
71968         * modules/math (Makefile.am): Substitute
71969         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
71970         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
71972 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
71973             Bruno Haible  <bruno@clisp.org>
71975         * lib/stdint.in.h: Define all type macros so that their expansion is
71976         a single typedef'ed token. Fixes a compilation failure in Boost which
71977         does "using ::int8_t;".
71979 2008-11-18  Simon Josefsson  <simon@josefsson.org>
71981         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
71982         gl_MANYWARN_ALL_GCC.
71983         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
71984         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
71985         * modules/manywarnings: New file.
71986         * MODULES.html.sh: Mention manywarnings module.
71988 2008-11-18  Bruno Haible  <bruno@clisp.org>
71990         * doc/gnulib-tool.texi (Unit tests): New section.
71992 2008-11-18  Simon Josefsson  <simon@josefsson.org>
71994         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
71995         paths like 'lib/po/foo.po'.
71997 2008-11-17  Simon Josefsson  <simon@josefsson.org>
71999         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
72000         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
72002 2008-11-17  Simon Josefsson  <simon@josefsson.org>
72004         * m4/warnings.m4: Use CPPFLAGS to really check whether the
72005         parameter works.
72007 2008-11-17  Simon Josefsson  <simon@josefsson.org>
72009         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
72011 2008-11-17  Bruce Korb  <bkorb@gnu.org>
72013         * modules/parse-duration-tests: New file.
72014         * tests/test-parse-duration.sh: New file.
72015         * tests/test-parse-duration.c: New file.
72017         New module 'parse-duration'.
72018         * lib/parse-duration.h: New file.
72019         * lib/parse-duration.c: New file.
72020         * modules/parse-duration: New file.
72022 2008-11-17  Bruno Haible  <bruno@clisp.org>
72024         * tests/test-select-out.sh: Comment out the first pipe test.
72025         Reported by Simon Josefsson.
72027 2008-11-17  Bruno Haible  <bruno@clisp.org>
72029         * modules/getaddrinfo (Depends-on): Add servent, hostent.
72030         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
72031         gl_HOSTENT.
72033 2008-11-17  Bruno Haible  <bruno@clisp.org>
72035         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
72036         -lnetwork and -lnet. Needed for Haiku and BeOS.
72038 2008-11-16  Bruno Haible  <bruno@clisp.org>
72040         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
72042 2008-11-16  Bruno Haible  <bruno@clisp.org>
72044         Avoid test failure on Haiku.
72045         * tests/test-fsync.c: Include <errno.h>.
72046         (main): Don't require that fsync (0) fails.
72048 2008-11-15  Bruno Haible  <bruno@clisp.org>
72050         New module 'hostent'.
72051         * modules/hostent: New file.
72052         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
72054 2008-11-15  Bruno Haible  <bruno@clisp.org>
72056         New module 'servent'.
72057         * modules/servent: New file.
72058         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
72060 2008-11-15  Bruno Haible  <bruno@clisp.org>
72062         Avoid generating same test program with two different rules.
72063         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
72064         test-frexp to test-frexp-nolibm.
72065         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
72066         test-frexpl to test-frexpl-nolibm.
72068 2008-11-15  Bruno Haible  <bruno@clisp.org>
72070         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
72071         $(FREXPL_LIBM).
72073 2008-11-15  Bruno Haible  <bruno@clisp.org>
72075         * lib/netdb.in.h: Activate the definitions also when the system's
72076         <netdb.h> has 'struct addrinfo'.
72077         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
72078         EAI_OVERFLOW or AI_NUMERICSERV.
72079         * doc/posix-headers/netdb.texi: Document the problem.
72081 2008-11-15  Bruno Haible  <bruno@clisp.org>
72083         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
72085         Make the 'sched' module work on platforms where <sched.h> exists but
72086         is incomplete (such as Haiku).
72087         * lib/sched.in.h; Include the system's <sched.h> if it exists.
72088         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
72089         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
72090         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
72091         HAVE_STRUCT_SCHED_PARAM.
72092         * modules/sched (Depends-on): Add include_next.
72093         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
72094         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
72095         * doc/posix-headers/sched.texi: Document the issue.
72097 2008-11-13  Jim Meyering  <meyering@redhat.com>
72099         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
72100         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
72101         test would fail due to the difference in the Report bugs to ...
72102         line.  The expected address is empty, "<>", while the actual
72103         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
72105 2008-11-12  Bruno Haible  <bruno@clisp.org>
72107         lstat: don't compile lstat.c on systems lacking lstat
72108         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
72109         which don't have lstat; this is handled by lib/sys_stat.in.h already.
72110         Reported by Daniel P. Berrange via Jim Meyering.
72112 2008-11-12  Jim Meyering  <meyering@redhat.com>
72114         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
72116 2008-11-12  Simon Josefsson  <simon@josefsson.org>
72118         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
72119         instead.
72121 2008-11-12  Bruno Haible  <bruno@clisp.org>
72123         * lib/unicodeio.c: Include unistr.h.
72124         (utf8_wctomb): Remove function.
72125         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
72127 2008-11-12  Simon Josefsson  <simon@josefsson.org>
72129         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
72130         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
72131         <bruno@clisp.org>.
72132         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
72134 2008-11-12  Simon Josefsson  <simon@josefsson.org>
72136         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
72137         * doc/gnulib.texi: Add section for warnings.
72139 2008-11-11  Bruno Haible  <bruno@clisp.org>
72141         * lib/sockets.h: Add a comment.
72143 2008-11-11  Karl Berry  <karl@gnu.org>
72145         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
72147 2008-11-11  Eric Blake  <ebb9@byu.net>
72149         fdl.texi: avoid git symlinks
72150         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
72152 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
72154         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
72156 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
72158         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
72159         (gl_WARN_ADD): Substitute $2 if literal.
72161 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
72163         * m4/warning.m4: Remove.
72165 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
72167         * m4/warnings.m4: Almost complete rewrite. :-)
72169 2008-11-10  Simon Josefsson  <simon@josefsson.org>
72171         * modules/warnings: New module.
72172         * m4/warnings.m4: New file.
72173         * MODULES.html.sh: Mention warnings module.
72174         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
72175         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72177 2008-11-10  Eric Blake  <ebb9@byu.net>
72179         fdl.texi: make a symlink to the latest version
72180         * doc/standards.texi: Revert today's earlier change.
72181         * doc/fdl-1.2.texi: Rename from old fdl.texi...
72182         * doc/fdl.texi: ...and replace this with a symlink to the newer
72183         fdl-1.3.texi.
72185 2008-11-10  Bruno Haible  <bruno@clisp.org>
72187         * tests/test-select-fd.c (main): Accept the result file name as fourth
72188         argument.
72189         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
72190         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
72192 2008-11-10  Bruno Haible  <bruno@clisp.org>
72194         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
72195         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
72196         as autoconf-substituted macros.
72197         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
72198         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
72199         gl_NETDB_H_DEFAULTS. Set these variables.
72200         * modules/netdb (Makefile.am): Substitute these variables.
72202 2008-11-10  Eric Blake  <ebb9@byu.net>
72204         standards.texi: include correct file for FDL 1.3
72205         * doc/standards.texi (GNU Free Documentation License): Change
72206         include file to pull in FDL 1.3, not 1.2.
72208         fdl.texi: revert accidental change to license
72209         * doc/fdl.texi: This is FDL 1.2, not 1.3.
72211 2008-11-10  Bruno Haible  <bruno@clisp.org>
72213         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
72214         cross-compiling guesses also when the native compile gives no result.
72216 2008-11-10  Bruno Haible  <bruno@clisp.org>
72218         * lib/spawni.c (__spawni): Force variable into the stack.
72220 2008-11-10  Bruno Haible  <bruno@clisp.org>
72222         Add support for Haiku.
72223         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
72224         glibc and BeOS, but also on Haiku.
72225         * lib/fpurge.c (fpurge): Likewise.
72226         * lib/freadable.c (freadable): Likewise.
72227         * lib/freadahead.c (freadahead): Likewise.
72228         * lib/freading.c (freading): Likewise.
72229         * lib/freadptr.c (freadptr): Likewise.
72230         * lib/freadseek.c (freadptrinc): Likewise.
72231         * lib/fseeko.c (rpl_fseeko): Likewise.
72232         * lib/fseterr.c (fseterr): Likewise.
72233         * lib/fwritable.c (fwritable): Likewise.
72234         * lib/fwriting.c (fwriting): Likewise.
72235         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
72237 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
72239         * lib/config.charset: Treat Haiku like BeOS.
72241 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
72243         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
72244         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
72246 2008-11-08  Bruno Haible  <bruno@clisp.org>
72248         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
72249         AC_CACHE_CHECK.
72251 2008-11-08  Bruno Haible  <bruno@clisp.org>
72253         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
72255 2008-11-08  Bruno Haible  <bruno@clisp.org>
72257         * tests/test-select-fd.c: New file.
72258         * tests/test-select-in.sh: New file.
72259         * tests/test-select-out.sh: New file.
72260         * tests/test-select-stdin.c: New file.
72261         * modules/select-tests (Files): Add the new files.
72262         (Depends-on): Add gettimeofday.
72263         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
72264         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
72265         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
72267 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
72268             Bruno Haible  <bruno@clisp.org>
72270         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
72272 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
72274         * build-aux/pmccabe2html: Added support for C++ source files.
72276 2008-11-05  Ben Pfaff  <blp@gnu.org>
72278         Fix lib/close.c build on Windows.
72279         * modules/close (Files): Add lib/w32sock.h.
72281 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
72283         Accept Bison's NEWS format.
72284         * build-aux/announce-gen (print_news_deltas): Tweak
72285         $re_prefix.
72287 2008-11-04  Bruno Haible  <bruno@clisp.org>
72289         * modules/random_r (Maintainer): Add glibc.
72291 2008-11-04  Simon Josefsson  <simon@josefsson.org>
72293         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
72294         by karl@freefriends.org (Karl Berry).
72295         * doc/alloca.texi: Likewise.
72296         * doc/c-ctype.texi: Likewise.
72297         * doc/c-strcase.texi: Likewise.
72298         * doc/c-strcaseeq.texi: Likewise.
72299         * doc/c-strcasestr.texi: Likewise.
72300         * doc/c-strstr.texi: Likewise.
72301         * doc/c-strtod.texi: Likewise.
72302         * doc/c-strtold.texi: Likewise.
72303         * doc/ctime.texi: Likewise.
72304         * doc/error.texi: Likewise.
72305         * doc/fdl.texi: Likewise.
72306         * doc/gcd.texi: Likewise.
72307         * doc/getdate.texi: Likewise.
72308         * doc/gnulib-intro.texi: Likewise.
72309         * doc/gnulib-tool.texi: Likewise.
72310         * doc/gnulib.texi: Likewise.
72311         * doc/inet_ntoa.texi: Likewise.
72312         * doc/maintain.texi: Likewise.
72313         * doc/make-stds.texi: Likewise.
72314         * doc/quote.texi: Likewise.
72315         * doc/regexprops-generic.texi: Likewise.
72316         * doc/standards.texi: Likewise.
72317         * doc/verify.texi: Likewise.
72318         * doc/visibility.texi: Likewise.
72319         * doc/gnulib.texi (GNU Free Documentation License): Include
72320         fdl-1.3.texi instead of fdl.texi.
72322 2008-11-04  Simon Josefsson  <simon@josefsson.org>
72324         * doc/fdl-1.3.texi: New file, from
72325         <http://www.gnu.org/licenses/fdl-1.3.texi>.
72326         * modules/fdl-1.3: Add.
72327         * MODULES.html.sh: Add fdl-1.3.
72329 2008-11-03  Bruno Haible  <bruno@clisp.org>
72331         Make determination of absolute name of header file work with AIX xlc.
72332         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
72333         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
72334         preprocessing.
72335         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
72336         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
72338 2008-11-03  Simon Josefsson  <simon@josefsson.org>
72340         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
72341         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
72342         <ludo@gnu.org>.
72344 2008-11-02  Bruno Haible  <bruno@clisp.org>
72346         Mark 'strpbrk' obsolete.
72347         * modules/strpbrk (Status, Notice): New sections.
72348         * modules/strtok_r (Depends-on): Add strpbrk.
72350 2008-11-02  Bruno Haible  <bruno@clisp.org>
72352         Mark 'strdup' obsolete.
72353         * modules/strdup (Status, Notice): New sections.
72354         * modules/findprog (Depends-on): Add strdup.
72355         * modules/getaddrinfo (Depends-on): Likewise.
72356         * modules/localename (Depends-on): Likewise.
72357         * modules/relocatable-lib (Depends-on): Likewise.
72358         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
72359         * modules/relocatable-prog (Depends-on): Likewise.
72360         * modules/trim (Depends-on): Likewise.
72361         * modules/unictype/gen-ctype (Depends-on): Likewise.
72362         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
72364 2008-11-02  Bruno Haible  <bruno@clisp.org>
72366         Mark 'strcspn' obsolete.
72367         * modules/strcspn (Status, Notice): New sections.
72369 2008-11-02  Bruno Haible  <bruno@clisp.org>
72371         Mark 'rmdir' obsolete.
72372         * modules/rmdir (Status, Notice): New sections.
72373         * modules/clean-temp (Depends-on): Add rmdir.
72374         * modules/openat (Depends-on): Likewise.
72376 2008-11-02  Bruno Haible  <bruno@clisp.org>
72378         Mark 'raise' obsolete.
72379         * modules/raise (Status, Notice): New sections.
72380         (Include): Specify <signal.h>.
72381         * modules/stdio (Depends-on): Add raise.
72382         * modules/write (Depends-on): Likewise.
72384 2008-11-02  Bruno Haible  <bruno@clisp.org>
72386         Mark 'memset' obsolete.
72387         * modules/memset (Status, Notice): New sections.
72389 2008-11-02  Bruno Haible  <bruno@clisp.org>
72391         Mark 'memmove' obsolete.
72392         * modules/memmove (Status, Notice): New sections.
72393         * modules/argp (Depends-on): Add memmove.
72394         * modules/argz (Depends-on): Likewise.
72395         * modules/canonicalize (Depends-on): Likewise.
72396         * modules/canonicalize-lgpl (Depends-on): Likewise.
72397         * modules/fts (Depends-on): Likewise.
72398         * modules/getcwd (Depends-on): Likewise.
72399         * modules/human (Depends-on): Likewise.
72400         * modules/regex (Depends-on): Likewise.
72401         * modules/striconveh (Depends-on): Likewise.
72402         * modules/trim (Depends-on): Likewise.
72403         * modules/unistr/u8-move (Depends-on): Likewise.
72404         * modules/unistr/u16-move (Depends-on): Likewise.
72405         * modules/unistr/u32-move (Depends-on): Likewise.
72407 2008-11-02  Bruno Haible  <bruno@clisp.org>
72409         Mark 'memcpy' obsolete.
72410         * modules/memcpy (Status, Notice): New sections.
72412 2008-11-02  Bruno Haible  <bruno@clisp.org>
72414         Mark 'memcmp' obsolete.
72415         * modules/memcmp (Status, Notice): New sections.
72416         * modules/argmatch (Depends-on): Add memchr.
72417         * modules/backupfile (Depends-on): Likewise.
72418         * modules/c-strcasestr (Depends-on): Likewise.
72419         * modules/crypto/des (Depends-on): Likewise.
72420         * modules/csharpcomp (Depends-on): Likewise.
72421         * modules/fnmatch (Depends-on): Likewise.
72422         * modules/git-merge-changelog (Depends-on): Likewise.
72423         * modules/isnand (Depends-on): Likewise.
72424         * modules/isnand-nolibm (Depends-on): Likewise.
72425         * modules/isnanf (Depends-on): Likewise.
72426         * modules/isnanf-nolibm (Depends-on): Likewise.
72427         * modules/isnanl (Depends-on): Likewise.
72428         * modules/isnanl-nolibm (Depends-on): Likewise.
72429         * modules/mbchar (Depends-on): Likewise.
72430         * modules/memcoll (Depends-on): Likewise.
72431         * modules/quotearg (Depends-on): Likewise.
72432         * modules/regex (Depends-on): Likewise.
72433         * modules/relocatable-prog (Depends-on): Likewise.
72434         * modules/same (Depends-on): Likewise.
72435         * modules/signbit (Depends-on): Likewise.
72436         * modules/strcasestr-simple (Depends-on): Likewise.
72437         * modules/unictype/gen-ctype (Depends-on): Likewise.
72438         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
72439         * modules/uniname/uniname (Depends-on): Likewise.
72440         * modules/unistr/u8-cmp (Depends-on): Likewise.
72442 2008-11-02  Bruno Haible  <bruno@clisp.org>
72444         Mark 'memchr' obsolete.
72445         * modules/memchr (Status, Notice): New sections.
72446         * modules/argp (Depends-on): Add memchr.
72447         * modules/base64 (Depends-on): Likewise.
72448         * modules/c-strcasestr (Depends-on): Likewise.
72449         * modules/chdir-long (Depends-on): Likewise.
72450         * modules/fnmatch (Depends-on): Likewise.
72451         * modules/getsubopt (Depends-on): Likewise.
72452         * modules/git-merge-changelog (Depends-on): Likewise.
72453         * modules/glob (Depends-on): Likewise.
72454         * modules/strcasestr-simple (Depends-on): Likewise.
72455         * modules/strnlen (Depends-on): Likewise.
72457 2008-11-02  Bruno Haible  <bruno@clisp.org>
72459         Mark 'atexit' obsolete.
72460         * modules/atexit (Status, Notice): New sections.
72461         * modules/chdir-long (Depends-on): Add atexit.
72462         * modules/wait-process (Depends-on): Likewise.
72464 2008-11-02  Bruno Haible  <bruno@clisp.org>
72466         * gnulib-tool: New option --with-obsolete.
72467         (func_usage): Document it.
72468         (func_modules_transitive_closure): Drop obsolete dependencies if
72469         incobsolete is not true.
72470         (func_import): Read and save the incobsolete variable to the cache.
72472 2008-11-02  Bruno Haible  <bruno@clisp.org>
72474         * modules/TEMPLATE-EXTENDED: New field 'Status'.
72475         * gnulib-tool: New option --extract-status.
72476         (func_usage): Document it.
72477         (sed_extract_prog): Recognize it.
72478         (func_get_status): New function.
72480 2008-10-30  Simon Josefsson  <simon@josefsson.org>
72482         * modules/sockets (License): Change from LGPL to LGPLv2+.
72484 2008-10-28  Simon Josefsson  <simon@josefsson.org>
72486         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
72488 2008-10-28  Simon Josefsson  <simon@josefsson.org>
72490         * MODULES.html.sh (Support for systems lacking POSIX:2001):
72491         Mention times and sys_times.
72492         * modules/sys_times, modules/sys_times-tests: New modules.
72493         * modules/times, modules/times-tests: Likewise
72494         * m4/sys_times_h.m4: New file.
72495         * lib/sys_times.in.h: Likewise
72496         * lib/times.c: Likewise.
72497         * tests/test-sys_times.c: Likewise.
72498         * tests/test-times.c: Likewise.
72499         * doc/posix-headers/sys_times.texi: Update.
72500         * doc/posix-functions/times.texi: Update.
72502 2008-10-28  Jim Meyering  <meyering@redhat.com>
72504         * modules/tempname (Depends-on): Add lstat.
72506         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
72508 2008-10-28  Simon Josefsson  <simon@josefsson.org>
72510         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
72511         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
72512         using idiom used elsewhere in gnulib.
72514 2008-10-27  Jim Meyering  <meyering@redhat.com>
72516         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
72518 2008-10-27  Simon Josefsson  <simon@josefsson.org>
72520         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
72521         TESTS_ENVIRONMENT, for shell scripts that needs to call built
72522         programs.
72523         * tests/test-argp-2.sh: Use $EXEEXT when needed.
72525 2008-10-27  Simon Josefsson  <simon@josefsson.org>
72527         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
72529 2008-10-27  Bruno Haible  <bruno@clisp.org>
72531         * tests/test-lstat.c: Include <stdio.h>.
72533 2008-10-27  Simon Josefsson  <simon@josefsson.org>
72535         * modules/lstat-tests: New module.
72536         * tests/test-lstat.c: New file.
72538 2008-10-26  Jim Meyering  <meyering@redhat.com>
72540         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
72542 2008-10-26  Simon Josefsson  <simon@josefsson.org>
72543             Bruno Haible  <bruno@clisp.org>
72545         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
72546         * modules/configmake (Include): Add a note that the include must come
72547         after all system headers.
72548         * lib/javaversion.c: Include configmake.h after all other includes.
72550 2008-10-26  Bruno Haible  <bruno@clisp.org>
72552         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
72553         HAVE_STRUCT_RANDOM_DATA to 1.
72554         (gl_STDLIB_H): Simplify.
72556 2008-10-26  Simon Josefsson  <simon@josefsson.org>
72558         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
72559         substitute HAVE_STRUCT_RANDOM_DATA.
72560         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
72561         random_data.
72562         * modules/stdlib (Makefile.am): Substitute
72563         HAVE_STRUCT_RANDOM_DATA.
72565 2008-10-26  Simon Josefsson  <simon@josefsson.org>
72567         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
72568         * doc/gnulib-intro.texi (Copyright): Likewise.
72570 2008-10-26  Simon Josefsson  <simon@josefsson.org>
72572         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
72573         findings.
72575 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
72576             Bruno Haible  <bruno@clisp.org>
72578         * lib/unistd.in.h: Include <winsock2.h>.
72579         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
72580         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
72581         Provide dummy declarations.
72582         (gethostname): Override.
72583         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
72584         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
72585         gl_PREREQ_SYS_H_WINSOCK2.
72586         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
72587         * doc/posix-functions/gethostname.texi: More details.
72589 2008-10-25  Bruno Haible  <bruno@clisp.org>
72591         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
72592         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
72593         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
72595         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
72596         here ...
72597         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
72598         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
72599         gl_UNISTD_H_DEFAULTS.
72601 2008-10-25  Eric Blake  <ebb9@byu.net>
72603         signbit: avoid spurious compiler failure
72604         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
72605         declarations inside function.
72607 2008-10-24  Simon Josefsson  <simon@josefsson.org>
72608             Bruno Haible  <bruno@clisp.org>
72610         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
72611         * modules/random_r (Depends-on): Add stdint.
72613 2008-10-24  Bruno Haible  <bruno@clisp.org>
72615         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
72616         Eggert.
72617         * modules/strerror (License): Likewise.
72619 2008-10-24  Jim Meyering  <meyering@redhat.com>
72621         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
72622         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
72624 2008-10-24  Eric Blake  <ebb9@byu.net>
72626         getgroups: fix compilation when getgroups is available
72627         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
72628         but with <config.h> override of getgroups disabled.
72630 2008-10-24  Simon Josefsson  <simon@josefsson.org>
72632         * doc/gnulib.texi (Header files): Add note about C++ problems.
72633         Explained by Bruno Haible <bruno@clisp.org>.
72635 2008-10-23  Bruno Haible  <bruno@clisp.org>
72637         Define a dummy SA_NODEFER macro on Interix.
72638         * lib/signal.in.h (SA_NODEFER): Define fallback.
72639         Reported by Aleksey Cheusov <cheusov@tut.by> via
72640         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
72642 2008-10-23  Bruno Haible  <bruno@clisp.org>
72644         * modules/freadahead (License): Change to LGPLv2+.
72645         Suggested by Simon Josefsson.
72647 2008-10-23  Jim Meyering  <meyering@redhat.com>
72649         random_r: new module
72650         * modules/random_r: New file.
72651         * m4/random_r.m4: New file.
72652         * lib/random_r.c: New file, from glibc.
72653         * modules/random_r-tests: New file.
72654         * tests/test-random_r.c: New file.
72655         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
72656          Declare.
72657         (RAND_MAX): Define.
72658         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
72659         * modules/stdlib: Substitute them, too.
72660         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
72661         * doc/glibc-functions/initstate_r.texi: Mention the new module.
72662         * doc/glibc-functions/random_r.texi: Likewise.
72663         * doc/glibc-functions/setstate_r.texi: Likewise.
72664         * doc/glibc-functions/srandom_r.texi: Likewise.
72665         * config/srclist.txt: Mention it.
72667 2008-10-23  David Lutterkort  <lutter@redhat.com>
72669         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
72670         link requirement
72672 2008-10-23  Jim Meyering  <meyering@redhat.com>
72674         selinux-h: mark parameters of stub functions as intentionally unused
72675         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
72676         * lib/se-context.in.h: Likewise.
72678 2008-10-22  Simon Josefsson  <simon@josefsson.org>
72680         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
72682 2008-10-22  Simon Josefsson  <simon@josefsson.org>
72684         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
72686 2008-10-22  Eric Blake  <ebb9@byu.net>
72688         glthread/thread: avoid compiler warning
72689         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
72690         Add unreachable abort to silence compiler.
72692 2008-10-22  Eric Blake  <ebb9@byu.net>
72694         netdb: also supply struct addrinfo for cygwin 1.5.x
72695         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
72696         older cygwin.
72697         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
72698         cygwin.
72699         * doc/posix-headers/netdb.texi (netdb.h): Document this.
72701 2008-10-22  Bruno Haible  <bruno@clisp.org>
72703         * users.txt: Update entry about pspp.
72705 2008-10-21  Bruno Haible  <bruno@clisp.org>
72707         Simplification.
72708         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
72709         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
72711         Simplification.
72712         * lib/ioctl.c (ioctl): Don't undefine.
72713         * lib/socket.c (socket): Don't undefine.
72715         Remove unused module indicator macros.
72716         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
72717         GNULIB_$1 as a C macro.
72719         * doc/posix-functions/close.texi: Undo last change.
72720         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
72721         Windows platforms.
72723 2008-10-21  Bruno Haible  <bruno@clisp.org>
72725         Add gethostname() declaration to <unistd.h>.
72726         * lib/unistd.in.h (gethostname): New declaration.
72727         * lib/gethostname.c: Include <unistd.h>.
72728         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
72729         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
72730         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
72731         and HAVE_GETHOSTNAME.
72732         * modules/gethostname (Depends-on): Add unistd.
72733         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72734         (Include): Specify <unistd.h>.
72735         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
72736         HAVE_GETHOSTNAME.
72737         * tests/test-gethostname.c: Include <unistd.h> first.
72739 2008-10-21  Bruno Haible  <bruno@clisp.org>
72741         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
72742         * modules/select-tests (Depends-on): Likewise.
72743         Reported by Simon Josefsson.
72745 2008-10-21  Simon Josefsson  <simon@josefsson.org>
72747         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
72748         * lib/accept.c: New file, based on winsock.c.
72749         * lib/bind.c: New file, based on winsock.c.
72750         * lib/connect.c: New file, based on winsock.c.
72751         * lib/getpeername.c: New file, based on winsock.c.
72752         * lib/getsockname.c: New file, based on winsock.c.
72753         * lib/getsockopt.c: New file, based on winsock.c.
72754         * lib/ioctl.c: New file, based on winsock.c.
72755         * lib/listen.c: New file, based on winsock.c.
72756         * lib/recv.c: New file, based on winsock.c.
72757         * lib/recvfrom.c: New file, based on winsock.c.
72758         * lib/send.c: New file, based on winsock.c.
72759         * lib/sendto.c: New file, based on winsock.c.
72760         * lib/setsockopt.c: New file, based on winsock.c.
72761         * lib/shutdown.c: New file, based on winsock.c.
72762         * lib/socket.c: New file, based on winsock.c.
72763         * lib/w32sock.h: New file, based on winsock.c.
72764         * lib/winsock.c: Remove file.
72765         * modules/accept: Likewise.
72766         * modules/bind: Likewise.
72767         * modules/connect: Likewise.
72768         * modules/getpeername: Likewise.
72769         * modules/getsockname: Likewise.
72770         * modules/getsockopt: Likewise.
72771         * modules/ioctl: Likewise.
72772         * modules/listen: Likewise.
72773         * modules/recv: Likewise.
72774         * modules/recvfrom: Likewise.
72775         * modules/send: Likewise.
72776         * modules/sendto: Likewise.
72777         * modules/setsockopt: Likewise.
72778         * modules/shutdown: Likewise.
72779         * modules/socket: Use socket.c instead of winsock.c.
72780         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
72781         * doc/posix-functions/accept.texi: Doc fix.
72782         * doc/posix-functions/bind.texi: Doc fix.
72783         * doc/posix-functions/close.texi: Doc fix.
72784         * doc/posix-functions/connect.texi: Doc fix.
72785         * doc/posix-functions/getpeername.texi: Doc fix.
72786         * doc/posix-functions/getsockname.texi: Doc fix.
72787         * doc/posix-functions/getsockopt.texi: Doc fix.
72788         * doc/posix-functions/ioctl.texi: Doc fix.
72789         * doc/posix-functions/listen.texi: Doc fix.
72790         * doc/posix-functions/recv.texi: Doc fix.
72791         * doc/posix-functions/recvfrom.texi: Doc fix.
72792         * doc/posix-functions/send.texi: Doc fix.
72793         * doc/posix-functions/sendto.texi: Doc fix.
72794         * doc/posix-functions/setsockopt.texi: Doc fix.
72795         * doc/posix-functions/shutdown.texi: Doc fix.
72796         * doc/posix-functions/socket.texi: Doc fix.
72798 2008-10-20  Bruno Haible  <bruno@clisp.org>
72800         Take into account the role of SIGABRT_COMPAT on Windows 2008.
72801         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
72802         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
72803         as an alias for SIGABRT.
72804         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
72805         (sigaction): Map it to SIGABRT.
72806         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
72808 2008-10-20  Bruno Haible  <bruno@clisp.org>
72810         * lib/fts.c: Don't include lstat.h.
72811         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
72813         Move the lstat() declaration to <sys/stat.h>.
72814         * lib/lstat.h: Remove file.
72815         * lib/sys_stat.in.h: Add special invocation convention.
72816         (lstat): New declaration.
72817         * lib/lstat.c (orig_lstat): New function.
72818         (rpl_lstat): Use orig_lstat instead of lstat.
72819         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
72820         AC_C_INLINE. Set REPLACE_LSTAT.
72821         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
72822         and REPLACE_LSTAT.
72823         * modules/lstat (Files): Remove lib/lstat.h.
72824         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
72825         (Include): Specify <sys/stat.h> instead of lstat.h.
72826         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
72827         REPLACE_LSTAT.
72828         * NEWS: Mention the change.
72830 2008-10-20  Bruno Haible  <bruno@clisp.org>
72832         * modules/posix_spawn-tests: New file.
72833         * tests/test-posix_spawn3.c: New file.
72835 2008-10-20  Bruno Haible  <bruno@clisp.org>
72837         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
72838         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
72839         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
72840         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
72841         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
72843 2008-10-20  Bruno Haible  <bruno@clisp.org>
72845         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
72846         of posix_spawn on AIX 5.3.
72848 2008-10-20  Bruno Haible  <bruno@clisp.org>
72850         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
72852 2008-10-20  Bruno Haible  <bruno@clisp.org>
72854         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
72855         of AC_LANG_PROGRAM.
72857 2008-10-20  Simon Josefsson  <simon@josefsson.org>
72859         * lib/netdb.in.h: Don't define GNU specific constants until they
72860         are supported or needed.  Reported by Bruno Haible
72861         <bruno@clisp.org>.
72863 2008-10-20  Simon Josefsson  <simon@josefsson.org>
72865         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
72867 2008-10-20  Simon Josefsson  <simon@josefsson.org>
72869         * lib/getaddrinfo.h: Remove file.
72870         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
72871         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
72872         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
72873         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
72874         * modules/netdb: Substitute GNULIB_GETADDRINFO.
72875         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
72876         * tests/test-getaddrinfo.c: Likewise.
72877         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
72878         * NEWS: Mention change.
72880 2008-10-19  Bruno Haible  <bruno@clisp.org>
72882         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
72884 2008-10-19  Bruno Haible  <bruno@clisp.org>
72886         * lib/wait-process.c: Include simply <sys/wait.h>.
72887         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
72888         WIFSTOPPED): Remove fallback definitions.
72889         * modules/wait-process (Depends-on): Add sys_wait.
72891         New module 'sys_wait'.
72892         * modules/sys_wait: New file.
72893         * lib/sys_wait.in.h: New file, partially copied from
72894         lib/wait-process.c.
72895         * m4/sys_wait_h.m4: New file.
72896         * doc/posix-headers/sys_wait.texi: Mention the new module.
72898 2008-10-19  Bruno Haible  <bruno@clisp.org>
72900         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
72902 2008-10-19  Bruno Haible  <bruno@clisp.org>
72904         Assume that waitpid() fills an 'int' status, not a 'union wait'.
72905         * lib/wait-process.c (WAIT_T): Remove type.
72906         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
72907         (wait_subprocess): Update.
72909 2008-10-19  Bruno Haible  <bruno@clisp.org>
72911         New module 'atoll'.
72912         * modules/atoll: New file.
72913         * lib/stdlib.in.h (atoll): New declaration.
72914         * lib/atoll.c: New file, from glibc with modifications.
72915         * m4/atoll.m4: New file.
72916         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
72917         HAVE_ATOLL.
72918         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
72919         * doc/posix-functions/atoll.texi: Mention the new module.
72921 2008-10-19  Bruno Haible  <bruno@clisp.org>
72923         Add strtoull() declaration to <stdlib.h>.
72924         * lib/stdlib.in.h (strtoull): New declaration.
72925         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
72926         Set HAVE_STRTOULL.
72927         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
72928         HAVE_STRTOULL.
72929         * modules/strtoull (Depends-on): Add stdlib.
72930         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
72931         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
72932         HAVE_STRTOULL.
72934 2008-10-19  Bruno Haible  <bruno@clisp.org>
72936         Add strtoll() declaration to <stdlib.h>.
72937         * lib/stdlib.in.h (strtoll): New declaration.
72938         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
72939         Set HAVE_STRTOLL.
72940         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
72941         HAVE_STRTOLL.
72942         * modules/strtoll (Depends-on): Add stdlib.
72943         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
72944         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
72946 2008-10-19  Bruno Haible  <bruno@clisp.org>
72948         * modules/bcopy (Depends-on): Add strings.
72949         (Include): Specify <strings.h>.
72951 2008-10-19  Bruno Haible  <bruno@clisp.org>
72953         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
72955 2008-10-19  Bruno Haible  <bruno@clisp.org>
72957         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
72958         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
72959         mingw.
72961 2008-10-19  Bruno Haible  <bruno@clisp.org>
72963         * lib/atanl.c: Don't include isnanl.h.
72964         * lib/cosl.c: Likewise.
72965         * lib/ldexpl.c: Likewise.
72966         * lib/logl.c: Likewise.
72967         * lib/sinl.c: Likewise.
72968         * lib/sqrtl.c: Likewise.
72969         * lib/tanl.c: Likewise.
72971         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
72972         * lib/isnanf.h: Remove file.
72973         * lib/isnand.h: Remove file.
72974         * lib/isnanl.h: Remove file.
72975         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
72976         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
72977         macros.
72978         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
72979         HAVE_ISNANF, don't define it as a C macro.
72980         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
72981         HAVE_ISNAND, don't define it as a C macro.
72982         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
72983         HAVE_ISNANL, don't define it as a C macro.
72984         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
72985         HAVE_ISNAN[FDL].
72986         * modules/isnanf (Files): Remove lib/isnanf.h.
72987         (Depends-on): Add math.
72988         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
72989         (Include): Specify <math.h> instead of isnanf.h.
72990         * modules/isnand (Files): Remove lib/isnand.h.
72991         (Depends-on): Add math.
72992         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
72993         (Include): Specify <math.h> instead of isnand.h.
72994         * modules/isnanl (Files): Remove lib/isnanl.h.
72995         (Depends-on): Add math.
72996         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
72997         (Include): Specify <math.h> instead of isnanl.h.
72998         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
72999         HAVE_ISNAN[FDL].
73000         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
73001         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
73002         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
73003         * NEWS: Mention the change.
73005 2008-10-18  Bruno Haible  <bruno@clisp.org>
73007         Add getusershell(), setusershell(), endusershell() declarations to
73008         <unistd.h>.
73009         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
73010         declarations.
73011         * lib/getusershell.c: Include unistd.h.
73012         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
73013         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
73014         HAVE_GETUSERSHELL.
73015         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
73016         and HAVE_GETUSERSHELL.
73017         * modules/getusershell (Depends-on): Add unistd, extensions.
73018         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73019         (Include): Specify <unistd.h>.
73020         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
73021         HAVE_GETUSERSHELL.
73023 2008-10-18  Bruno Haible  <bruno@clisp.org>
73025         Add a getloadavg() declaration to <stdlib.h>.
73026         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
73027         getloadavg declaration.
73028         (getloadavg): New declaration.
73029         * lib/getloadavg.c: Include <stdlib.h> first.
73030         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
73031         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
73032         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
73033         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
73034         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
73035         * modules/getloadavg (Depends-on): Add stdlib, extensions.
73036         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
73037         (Include): Specify <stdlib.h>.
73038         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
73039         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
73041 2008-10-18  Bruno Haible  <bruno@clisp.org>
73043         * lib/dirchownmod.c: Don't include lchmod.h.
73045         Move the lchmod() declaration to <sys/stat.h>.
73046         * lib/lchmod.h: Remove file.
73047         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
73048         (lchmod): New declaration, moved here from lib/lchown.h.
73049         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
73050         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
73051         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
73052         and HAVE_LCHMOD.
73053         * modules/lchmod (Files): Remove lib/lchmod.h.
73054         (Depends-on): Add sys_stat, extensions.
73055         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
73056         (Include): Specify <sys/stat.h> instead of lchmod.h.
73057         * modules/sys_stat (Depends-on): Add link-warning.
73058         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
73059         definition of GL_LINK_WARNING.
73060         * NEWS: Mention the change.
73062 2008-10-18  Bruno Haible  <bruno@clisp.org>
73064         * lib/fchdir.c: Don't include dirfd.h.
73065         * lib/fts.c: Likewise.
73066         * lib/getcwd.c: Likewise.
73067         * lib/glob.c: Likewise.
73069         Move the dirfd() declaration to <dirent.h>.
73070         * lib/dirfd.h: Remove file.
73071         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
73072         (dirfd): New declaration.
73073         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
73074         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
73075         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
73076         HAVE_DECL_DIRFD.
73077         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
73078         HAVE_DECL_DIRFD.
73079         * modules/dirfd (Files): Remove lib/dirfd.h.
73080         (Depends-on): Add dirent, extensions.
73081         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
73082         (Include): Specify <dirent.h> instead of dirfd.h.
73083         * modules/dirent (Depends-on): Add link-warning.
73084         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
73085         definition of GL_LINK_WARNING.
73086         * NEWS: Mention the change.
73088 2008-10-18  Bruno Haible  <bruno@clisp.org>
73090         Move the euidaccess() declaration to <unistd.h>.
73091         * lib/euidaccess.h: Remove file.
73092         * lib/unistd.in.h (euidaccess): New declaration.
73093         * lib/euidaccess.c: Don't include euidaccess.h.
73094         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
73095         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
73096         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
73097         and HAVE_EUIDACCESS.
73098         * modules/euidaccess (Files): Remove lib/euidaccess.h.
73099         (Depends-on): Add unistd.
73100         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73101         (Include): Specify <unistd.h> instead of euidaccess.h.
73102         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
73103         HAVE_EUIDACCESS.
73104         * NEWS: Mention the change.
73106 2008-10-18  Bruno Haible  <bruno@clisp.org>
73108         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
73110         Move the getdomainname() declaration to <unistd.h>.
73111         * lib/getdomainname.h: Remove file.
73112         * lib/unistd.in.h (getdomainname): New declaration.
73113         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
73114         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
73115         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
73116         HAVE_GETDOMAINNAME.
73117         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
73118         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
73119         * modules/getdomainname (Files): Remove lib/getdomainname.h.
73120         (Depends-on): Add unistd, extensions.
73121         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73122         (Includes): Specify <unistd.h> instead of getdomainname.h.
73123         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
73124         HAVE_GETDOMAINNAME.
73125         * NEWS: Mention the change.
73127 2008-10-18  Bruno Haible  <bruno@clisp.org>
73129         * modules/dirent: New file.
73130         * m4/dirent_h.m4: New file.
73131         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
73132         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
73133         * modules/fchdir (Files): Remove lib/dirent.in.h.
73134         (Depends-on): Add dirent.
73135         (Makefile.am): Move rules to modules/dirent.
73136         * doc/posix-headers/dirent.texi: Mention the new module.
73138 2008-10-18  Bruno Haible  <bruno@clisp.org>
73140         Avoid -Wunused-parameter warnings in public gnulib header files.
73141         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
73142         macro.
73143         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
73145 2008-10-18  Bruno Haible  <bruno@clisp.org>
73147         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
73148         * doc/glibc-functions/error.texi: Mention the module 'error'.
73149         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
73150         * doc/glibc-functions/getdomainname.texi: Mention the module
73151         'getdomainname'.
73152         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
73153         * doc/glibc-functions/getpagesize.texi: Mention the module
73154         'getpagesize'.
73155         * doc/glibc-functions/getusershell.texi: Mention the module
73156         'getusershell'.
73157         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
73158         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
73159         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
73160         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
73161         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
73162         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
73163         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
73164         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
73165         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
73166         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
73167         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
73168         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
73169         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
73170         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
73172 2008-10-17  Bruno Haible  <bruno@clisp.org>
73174         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
73175         HP-UX and IRIX, use -0.0L.
73176         * tests/test-ceill.c (minus_zero): Likewise.
73177         * tests/test-floorl.c (minus_zero): Likewise.
73178         * tests/test-frexpl.c (minus_zero): Likewise.
73179         * tests/test-isnan.c (minus_zerol): Likewise.
73180         * tests/test-isnanl.h (minus_zero): Likewise.
73181         * tests/test-ldexpl.c (minus_zero): Likewise.
73182         * tests/test-roundl.c (minus_zero): Likewise.
73183         * tests/test-signbit.c (minus_zerol): Likewise.
73184         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
73185         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
73186         * tests/test-truncl.c (minus_zero): Likewise.
73187         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
73188         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
73189         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
73190         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
73192 2008-10-17  Bruno Haible  <bruno@clisp.org>
73194         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
73195         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
73196         that it gets activated only for gcc >= 3.0.
73197         * lib/dirent.in.h: Likewise.
73198         * lib/errno.in.h: Likewise.
73199         * lib/fcntl.in.h: Likewise.
73200         * lib/float.in.h: Likewise.
73201         * lib/iconv.in.h: Likewise.
73202         * lib/inttypes.in.h: Likewise.
73203         * lib/locale.in.h: Likewise.
73204         * lib/math.in.h: Likewise.
73205         * lib/netdb.in.h: Likewise.
73206         * lib/netinet_in.in.h: Likewise.
73207         * lib/search.in.h: Likewise.
73208         * lib/signal.in.h: Likewise.
73209         * lib/spawn.in.h: Likewise.
73210         * lib/stdarg.in.h: Likewise.
73211         * lib/stdint.in.h: Likewise.
73212         * lib/stdio.in.h: Likewise.
73213         * lib/stdlib.in.h: Likewise.
73214         * lib/string.in.h: Likewise.
73215         * lib/strings.in.h: Likewise.
73216         * lib/sys_file.in.h: Likewise.
73217         * lib/sys_ioctl.in.h: Likewise.
73218         * lib/sys_select.in.h: Likewise.
73219         * lib/sys_socket.in.h: Likewise.
73220         * lib/sys_stat.in.h: Likewise.
73221         * lib/sys_time.in.h: Likewise.
73222         * lib/sysexits.in.h: Likewise.
73223         * lib/time.in.h: Likewise.
73224         * lib/unistd.in.h: Likewise.
73225         * lib/wchar.in.h: Likewise.
73226         * lib/wctype.in.h: Likewise.
73227         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
73229 2008-10-17  Jim Meyering  <meyering@redhat.com>
73231         ignore-value: don't depend on inline module
73232         * modules/ignore-value (Depends-on): Remove 'inline'.
73233         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
73234         Suggestion from Bruno Haible.
73236 2008-10-17  Bruno Haible  <bruno@clisp.org>
73238         New implementation of condition variables for Win32.
73239         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
73240         (gl_linked_waitqueue_t): New type.
73241         (gl_cond_t): Use it.
73242         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
73243         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
73244         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
73245         (glthread_cond_init_func, glthread_cond_wait_func,
73246         glthread_cond_timedwait_func, glthread_cond_signal_func,
73247         glthread_cond_broadcast_func, glthread_cond_destroy_func):
73248         Reimplemented on the basis of gl_linked_waitqueue_t.
73249         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
73250         gl_waitqueue_t.
73251         (gl_rwlock_t): Update.
73252         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
73254 2008-10-17  Simon Josefsson  <simon@josefsson.org>
73256         * modules/recvfrom (Depends-on): Add dependency on getpeername.
73257         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
73259 2008-10-17  Jim Meyering  <meyering@redhat.com>
73261         ignore-value: new module
73262         * modules/ignore-value: New file.
73263         * lib/ignore-value.h: New file.
73264         * MODULES.html.sh (Compiler warning management): New section,
73265         just for this module.  More to come.
73267 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
73269         open-safer.c: avoid 'signed and unsigned in conditional...' warning
73270         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
73271         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
73273 2008-10-16  Jim Meyering  <meyering@redhat.com>
73275         openat-die.c: avoid 'no previous prototype' warning
73276         * lib/openat-die.c: Include "openat.h".
73277         Reported by Reuben Thomas <rrt@sc3d.org>.
73279 2008-10-16  Simon Josefsson  <simon@josefsson.org>
73281         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
73282         * lib/netdb.in.h: Fix typo.
73283         Reported by Bruno Haible  <bruno@clisp.org>
73285         * lib/netdb.in.h: Include sys/socket.h for platforms without
73286         netdb.h, to get structures like hostent on MinGW.
73287         * modules/netdb (Depends-on): Add sys_socket.
73289 2008-10-15  Simon Josefsson  <simon@josefsson.org>
73291         * modules/netdb, modules/netdb-tests: New file.
73292         * m4/netdb_h.m4: New file.
73293         * lib/netdb.in.h: Add, currently just an empty file pending
73294         definitions.
73295         * tests/test-netdb.c: New file.
73296         * doc/posix-headers/netdb.texi: Mention that we replace it if
73297         needed.
73298         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
73299         netdb.
73301 2008-10-15  Simon Josefsson  <simon@josefsson.org>
73303         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
73304         with code.
73306 2008-10-13  Bruno Haible  <bruno@clisp.org>
73308         * lib/glthread/cond.c (glthread_cond_wait_func,
73309         glthread_cond_timedwait_func): Add a comment.
73311 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
73313         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
73314         * tests/test-select.c: Likewise,
73316 2008-10-13  Bruno Haible  <bruno@clisp.org>
73318         * lib/glthread/cond.c (glthread_cond_wait_func,
73319         glthread_cond_timedwait_func): Fix variable name.
73320         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
73322 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
73324         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
73325         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
73326         struct sockaddr.sa_len.
73327         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
73329 2008-10-13  Simon Josefsson  <simon@josefsson.org>
73331         * build-aux/pmccabe2html: Add css and css_url parameters.
73333 2008-10-12  Bruno Haible  <bruno@clisp.org>
73335         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
73336         calling aclx_get.
73337         Reported by Rainer Tammer <tammer@tammer.net>.
73339 2008-10-12  Bruno Haible  <bruno@clisp.org>
73341         Use msvcrt aware primitives for creation/termination of Win32 threads.
73342         * lib/glthread/thread.c: Include <process.h>.
73343         (glthread_create_func): Use _beginthreadex instead of CreateThread.
73344         (wrapper_func): Update signature.
73345         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
73347 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
73348             Bruno Haible  <bruno@clisp.org>
73350         Provide a Win32 implementation of the 'cond' module.
73351         * lib/glthread/cond.h [USE_WIN32]: New implementation.
73352         * lib/glthread/cond.c (glthread_cond_init_func,
73353         glthread_cond_wait_func, glthread_cond_timedwait_func,
73354         glthread_cond_signal_func, glthread_cond_broadcast_func,
73355         glthread_cond_destroy_func) [USE_WIN32]: New functions.
73356         * modules/cond (Dependencies): Add gettimeofday.
73358 2008-10-11  Bruno Haible  <bruno@clisp.org>
73360         Make sleep work on older versions of mingw.
73361         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
73362         only whether it exists.
73363         * doc/posix-functions/sleep.texi: Mention the problem with older
73364         versions of mingw.
73366 2008-10-11  Bruno Haible  <bruno@clisp.org>
73368         New module 'shutdown'.
73369         * modules/shutdown: New file.
73370         * lib/sys_socket.in.h (shutdown): New declaration.
73371         * lib/winsock.c (shutdown): New function.
73372         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
73373         GNULIB_SHUTDOWN.
73374         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
73375         * doc/posix-functions/shutdown.texi: Document the new module.
73377 2008-10-11  Jim Meyering  <meyering@redhat.com>
73379         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
73381 2008-10-11  Bruno Haible  <bruno@clisp.org>
73383         New module 'fclose'.
73384         * modules/fclose: New file.
73385         * lib/stdio.in.h (fclose): New declaration.
73386         * lib/fclose.c: New file.
73387         * m4/fclose.m4: New file.
73388         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
73389         REPLACE_FCLOSE.
73390         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
73391         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
73392         REPLACE_FCLOSE.
73393         * modules/close (Depends-on): fclose.
73394         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
73396 2008-10-11  Bruno Haible  <bruno@clisp.org>
73398         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
73399         set errno and don't call _close.
73401 2008-10-10  Bruno Haible  <bruno@clisp.org>
73403         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
73404         ACL, not afterwards. Fixes test failure on Cygwin.
73406 2008-10-09  Ben Pfaff  <blp@gnu.org>
73408         * build-aux/announce-gen: Fix gnulib version related part of usage
73409         message.  Die with a useful error message if no tarballs are
73410         found.
73412 2008-10-10  Jim Meyering  <meyering@redhat.com>
73414         bootstrap: use git's --depth=N option only if it's supported
73415         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
73416         recognize the --depth option.  Reported by Pádraig Brady.
73418 2008-10-09  Bruno Haible  <bruno@clisp.org>
73420         New module 'ioctl'.
73421         * modules/ioctl: New file.
73422         * lib/sys_socket.in.h (ioctl): Remove declaration.
73423         * lib/winsock.c: Include <sys/ioctl.h>.
73424         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
73425         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
73426         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
73427         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
73428         * doc/posix-functions/ioctl.texi: Mention the new module.
73430 2008-10-09  Bruno Haible  <bruno@clisp.org>
73432         New module 'sys_ioctl'.
73433         * lib/sys_ioctl.in.h: New file.
73434         * m4/sys_ioctl_h.m4: New file.
73435         * modules/sys_ioctl: New file.
73436         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
73438 2008-10-09  Bruno Haible  <bruno@clisp.org>
73440         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
73441         * lib/winsock.c: Include <stdarg.h>.
73442         (rpl_ioctl): Change to second argument 'int' and then varargs.
73444 2008-10-09  Bruno Haible  <bruno@clisp.org>
73446         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
73447         when the sys_socket module is present and the system has <winsock2.h>.
73449 2008-10-09  Bruno Haible  <bruno@clisp.org>
73451         * doc/posix-functions/close.texi: Mention module 'close' instead of
73452         module 'sys_socket'.
73454 2008-10-09  Bruno Haible  <bruno@clisp.org>
73456         * doc/glibc-headers/sys_ioctl.texi: New file.
73457         * doc/gnulib.texi: Include it.
73459 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
73460             Bruno Haible  <bruno@clisp.org>
73462         Combine the two replacements of 'close'.
73463         * lib/sys_socket.in.h (close): Define to a reminder to include
73464         <unistd.h>.
73465         (_gl_close_fd_maybe_socket): New declaration.
73466         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
73467         * lib/winsock.c (close): Remove undefinition.
73468         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
73469         needed for the gnulib module 'close'.
73470         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
73471         define to an error symbol or to a warning, if suitable.
73472         * lib/close.c: Include <sys/socket.h>.
73473         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
73474         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
73475         UNISTD_H_HAVE_WINSOCK2_H.
73476         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
73477         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
73478         UNISTD_H_HAVE_WINSOCK2_H.
73479         * modules/sys_socket (Files): Add m4/unistd_h.m4.
73480         (configure.ac): Set a module indicator.
73481         (Makefile.am): Substitute GNULIB_CLOSE.
73482         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
73483         * modules/poll-tests (Depends-on): Add close.
73484         * modules/select-tests (Depends-on): Likewise.
73486 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
73487             Bruno Haible  <bruno@clisp.org>
73489         New module 'close'.
73490         * modules/close: New file.
73491         * lib/unistd.in.h (close): Move declaration out of the
73492         FCHDIR_REPLACEMENT scope.
73493         (_gl_unregister_fd): New declaration.
73494         * lib/close.c: New file.
73495         * lib/fchdir.c (rpl_close): Remove function.
73496         * m4/close.m4: New file.
73497         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
73498         close.
73499         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
73500         REPLACE_CLOSE.
73501         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
73502         REPLACE_CLOSE.
73503         * modules/fchdir (Depends-on): Add close.
73505 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
73506             Bruno Haible  <bruno@clisp.org>
73508         * lib/fcntl.in.h (open): Simplify conditionals.
73509         (_gl_register_fd): New declaration.
73510         * lib/fchdir.c (rpl_open): Remove function.
73511         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
73512         also.
73513         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
73514         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
73515         open.
73517 2008-10-09  Jim Meyering  <meyering@redhat.com>
73519         GNUmakefile: use the more name-space-friendly "_version"
73520         * top/GNUmakefile (_dummy): Update.
73521         (_version): Rename from "version".
73523 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
73524             Bruno Haible  <bruno@clisp.org>
73526         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
73527         rpl_close.
73528         (_gl_register_fd): New function, extracted from rpl_open.
73529         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
73530         (rpl_open, rpl_opendir): Use _gl_register_fd.
73532 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
73534         Fix organization of 'open' replacement.
73535         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
73536         (gl_FUNC_OPEN): Use it.
73537         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
73539 2008-10-08  Bruno Haible  <bruno@clisp.org>
73541         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
73543 2008-10-08  Simon Josefsson  <simon@josefsson.org>
73545         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
73546         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
73547         listen).
73549 2008-10-08  Eric Blake  <ebb9@byu.net>
73551         GNUmakefile: add 'make version' target
73552         * top/GNUmakefile (_curr-ver): Split version update rules...
73553         (version): ...into a target.
73555 2008-10-07  Bruno Haible  <bruno@clisp.org>
73557         Use a more portable replacement expression for -0.0L.
73558         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
73559         instead of -0.0L. Fix m4 quotation.
73561         * tests/test-signbit.c: Include <float.h>.
73562         (minus_zero): New variable.
73563         (test_signbitl): Use minus_zero instead of -zero.
73564         * modules/signbit-tests (Depends-on): Add float.
73566         * tests/test-ceill.c: Include <float.h>.
73567         (zero): Remove variable.
73568         (minus_zero): New variable.
73569         (main): Use minus_zero instead of -zero.
73570         * modules/ceill-tests (Depends-on): Add float.
73572         * tests/test-floorl.c: Include <float.h>.
73573         (zero): Remove variable.
73574         (minus_zero): New variable.
73575         (main): Use minus_zero instead of -zero.
73576         * modules/floorl-tests (Depends-on): Add float.
73578         * tests/test-roundl.c: Include <float.h>.
73579         (zero): Remove variable.
73580         (minus_zero): New variable.
73581         (main): Use minus_zero instead of -zero.
73582         * modules/roundl-tests (Depends-on): Add float.
73584         * tests/test-truncl.c: Include <float.h>.
73585         (zero): Remove variable.
73586         (minus_zero): New variable.
73587         (main): Use minus_zero instead of -zero.
73588         * modules/truncl-tests (Depends-on): Add float.
73590         * tests/test-frexpl.c (zero): Remove variable.
73591         (minus_zero): New variable.
73592         (main): Use minus_zero instead of -zero.
73593         * modules/frexpl-tests (Depends-on): Add float.
73595         * tests/test-isnan.c (zerol): Remove variable.
73596         (minus_zerol): New variable.
73597         (test_long_double): Use minus_zerol instead of -zerol.
73598         * modules/isnan-tests (Depends-on): Add float.
73600         * tests/test-isnanl.h (zero): Remove variable.
73601         (minus_zero): New variable.
73602         (main): Use minus_zero instead of -zero.
73603         * modules/isnanl-nolibm-tests (Depends-on): Add float.
73604         * modules/isnanl-tests (Depends-on): Add float.
73606         * tests/test-ldexpl.c (zero): Remove variable.
73607         (minus_zero): New variable.
73608         (main): Use minus_zero instead of -zero.
73609         * modules/ldexpl-tests (Depends-on): Add float.
73611         * tests/test-snprintf-posix.h (zerol): Remove variable.
73612         (minus_zerol): New variable.
73613         (test_function): Use minus_zerol instead of -zerol.
73614         * modules/snprintf-posix-tests (Depends-on): Add float.
73615         * modules/vsnprintf-posix-tests (Depends-on): Add float.
73617         * tests/test-sprintf-posix.h (zerol): Remove variable.
73618         (minus_zerol): New variable.
73619         (test_function): Use minus_zerol instead of -zerol.
73620         * modules/sprintf-posix-tests (Depends-on): Add float.
73621         * modules/vsprintf-posix-tests (Depends-on): Add float.
73623         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
73624         (minus_zerol): New variable.
73625         (test_function): Use minus_zerol instead of -zerol.
73626         * modules/vasnprintf-posix-tests (Depends-on): Add float.
73628         * tests/test-vasprintf-posix.c (zerol): Remove variable.
73629         (minus_zerol): New variable.
73630         (test_function): Use minus_zerol instead of -zerol.
73631         * modules/vasprintf-posix-tests (Depends-on): Add float.
73633 2008-10-07  Simon Josefsson  <simon@josefsson.org>
73635         * MODULES.html.sh (Support for building documentation): Mention
73636         pmccabe2html.  Sort entries.
73638         Add pmccabe2html module, from gnupdf.
73639         * build-aux/pmccabe.css: New file.
73640         * build-aux/pmccabe2html: New file.
73641         * m4/pmccabe2html.m4: New file.
73642         * modules/pmccabe2html: New file.
73644 2008-10-07  Richard W.M. Jones  <rjones@redhat.com>
73646         flock: new module
73647         * MODULES.html.sh: Add to list of modules.
73648         * lib/flock.c: flock implementation for Windows and Unix systems
73649         which have fcntl.
73650         * doc/glibc-functions/flock.texi: Update documentation.
73651         * lib/sys_file.in.h: <sys/file.h> header file.
73652         * m4/flock.m4: M4 macros.
73653         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
73654         * modules/flock: flock module.
73655         * modules/flock-tests: flock tests module.
73656         * modules/sys_file: sys/file.h module.
73657         * tests/test-flock.c: test suite for flock.
73659 2008-10-06  Jim Meyering  <meyering@redhat.com>
73661         bootstrap: check for LT_INIT more portably still ;-)
73662         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
73663         Spotted by Bruno Haible.
73665 2008-10-06  Eric Blake  <ebb9@byu.net>
73667         test-signbit: avoid tripping Irix cc bug on -0.0L
73668         * tests/test-signbit.c (minus_zerol): Delete, and replace with
73669         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
73670         entire testsuite consistent and avoids an Irix 6.2 bug.
73672 2008-10-05  Bruno Haible  <bruno@clisp.org>
73673             Jim Meyering  <jim@meyering.net>
73675         Add an option for ignoring EPIPE during close_stdout.
73676         * lib/closeout.h: Include <stdbool.h>.
73677         (close_stdout_set_ignore_EPIPE): New declaration.
73678         * lib/closeout.c: Include <stdbool.h>.
73679         (ignore_EPIPE): New variable.
73680         (close_stdout_set_ignore_EPIPE): New function.
73681         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
73682         * lib/close-stream.c (close_stream): Mention the possible EPIPE
73683         failure.
73684         * modules/closeout (Depends-on): Add stdbool.
73686 2008-10-05  Bruno Haible  <bruno@clisp.org>
73688         * modules/accept: New file.
73689         * modules/bind: New file.
73690         * modules/connect: New file.
73691         * modules/getpeername: New file.
73692         * modules/getsockname: New file.
73693         * modules/getsockopt: New file.
73694         * modules/listen: New file.
73695         * modules/recv: New file.
73696         * modules/recvfrom: New file.
73697         * modules/send: New file.
73698         * modules/sendto: New file.
73699         * modules/setsockopt: New file.
73700         * modules/socket: New file.
73701         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
73702         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
73703         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
73704         the particular module is requested. Add a link warning when the
73705         particular module is not requested.
73706         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
73707         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
73708         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
73709         the particular module is requested.
73710         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
73711         gl_SYS_SOCKET_H_DEFAULTS): New macros.
73712         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
73713         * modules/sys_socket (Depends-on): Add link-warning.
73714         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
73715         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
73716         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
73717         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
73718         GL_LINK_WARNING.
73719         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
73720         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
73721         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
73722         * doc/posix-functions/getpeername.texi: Mention the new module
73723         'getpeername'.
73724         * doc/posix-functions/getsockname.texi: Mention the new module
73725         'getsockname'.
73726         * doc/posix-functions/getsockopt.texi: Mention the new module
73727         'getsockopt'.
73728         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
73729         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
73730         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
73731         * doc/posix-functions/send.texi: Mention the new module 'send'.
73732         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
73733         * doc/posix-functions/setsockopt.texi: Mention the new module
73734         'setsockopt'.
73735         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
73736         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
73737         listen, connect, accept.
73738         * modules/select-tests (Depends-on): Likewise.
73740 2008-10-05  Bruno Haible  <bruno@clisp.org>
73742         * lib/winsock.c (strerror): Remove unused #undef.
73743         (rpl_close): Remove unused local variable.
73745         * modules/sys_socket (Depends-on); Add errno.
73747 2008-10-05  Bruno Haible  <bruno@clisp.org>
73749         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
73750         (select): Add a link warning when the 'select' module is not used.
73751         * modules/sys_select (Depends-on): Add link-warning.
73752         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
73753         Suggested by Paolo Bonzini.
73755 2008-10-05  Jim Meyering  <meyering@redhat.com>
73757         bootstrap: check for LT_INIT more portably
73758         * build-aux/bootstrap: Avoid using grep -E, since it's not
73759         portable enough.  Suggestion from Bruno Haible.
73761 2008-10-05  Bruno Haible  <bruno@clisp.org>
73763         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
73764         as being fixed by gnulib.
73766 2008-10-05  Bruno Haible  <bruno@clisp.org>
73768         * modules/select-tests: New file, mostly copied from
73769         modules/sys_select-tests.
73770         * tests/test-select.c: New file, mostly copied from
73771         tests/test-sys_select.c.
73772         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
73773         * modules/sys_select-tests (Depends-on): Remove all dependencies.
73774         (Makefile.am): Remove test_sys_select_LDADD.
73776         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
73777         to an undefined symbol, for an error message.
73778         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
73779         (gl_SYS_SELECT_H_DEFAULTS): New macro.
73780         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
73781         winsock-select.c here.
73782         * modules/sys_select (Files): Remove lib/winsock-select.c.
73783         (Depends-on): Remove alloca.
73784         (Makefile.am): Substitute GNULIB_SELECT.
73785         * modules/select: New file.
73786         * doc/posix-functions/select.texi: Update.
73788 2008-10-05  Bruno Haible  <bruno@clisp.org>
73790         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
73791         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
73792         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
73793         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
73794         getdtablesize.
73795         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
73796         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
73798 2008-10-05  Bruno Haible  <bruno@clisp.org>
73800         * modules/getdtablesize-tests: New file.
73801         * tests/test-getdtablesize.c: New file.
73803         New module 'getdtablesize'.
73804         * lib/unistd.in.h (getdtablesize): New declaration.
73805         * lib/getdtablesize.c: New file.
73806         * m4/getdtablesize.m4: New file.
73807         * modules/getdtablesize: New file.
73808         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
73809         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
73810         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
73811         HAVE_GETDTABLESIZE.
73812         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
73814 2008-10-05  Bruno Haible  <bruno@clisp.org>
73816         * modules/sched (Makefile.am): Fix typo.
73817         Reported by Simon Josefsson.
73819 2008-10-05  Jim Meyering  <meyering@redhat.com>
73821         bootstrap: check for LT_INIT, too
73822         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
73823         are deprecated.  Suggestion from Ralf Wildenhues.
73825 2008-10-05  Bruno Haible  <bruno@clisp.org>
73827         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
73828         overriding them by ours.
73829         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
73831 2008-10-05  Jim Meyering  <meyering@redhat.com>
73833         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
73834         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
73835         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
73837 2008-10-04  Bruno Haible  <bruno@clisp.org>
73839         * modules/dup2 (License): Change to LGPLv2+.
73840         * modules/sleep (License): Likewise.
73841         * modules/perror (License): Likewise.
73842         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
73843         Blake.
73844         * modules/signal (License): Likewise.
73845         * modules/sigprocmask (License): Likewise.
73846         * modules/raise (License): Change to LGPLv2+, with approval by Jim
73847         Meyering.
73849 2008-10-04  Bruno Haible  <bruno@clisp.org>
73851         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
73852         Reported by Rainer Tammer <tammer@tammer.net>.
73854 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
73855             Bruno Haible  <bruno@clisp.org>
73857         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
73858         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
73859         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
73861 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
73863         filevercmp: new module
73864         * lib/filevercmp.h: New function filevercmp comparing version strings.
73865         * lib/filevercmp.c: Implementation of filevercmp function.
73866         * modules/filevercmp: Module metadata.
73867         * tests/test-filevercmp.c: Unit test for new module.
73868         * modules/filevercmp-tests: Unit test metadata.
73869         * MODULES.html.sh: Add filevercmp module.
73871 2008-10-03  Bruno Haible  <bruno@clisp.org>
73873         * lib/c-ctype.h: Add comment.
73874         Reported by Jim Meyering.
73876 2008-10-02  Bruno Haible  <bruno@clisp.org>
73878         * modules/posix_spawn-internal (Depends-on): Add 'open'.
73880 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
73882         * build-aux/bootstrap: Allow renaming bootstrap, and change the
73883         name of bootstrap.conf accordingly.
73885 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
73887         * build-aux/bootstrap: Install git-merge-changelog configuration
73888         items into .gitconfig if needed.
73890 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
73892         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
73893         git repository, and initialize/update it accordingly.
73895 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
73897         * modules/fsync-tests: New file.
73898         * tests/test-fsync.c: New file.
73900         New module 'fsync'.
73901         * lib/fsync.c: New file.
73902         * m4/fsync.m4: New file.
73903         * modules/fsync: New file.
73904         * lib/unistd.in.h (fsync): New declaration.
73905         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
73906         GNULIB_FSYNC and HAVE_FSYNC.
73907         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
73908         * MODULES.html.sh (posix_functions): Add fsync.
73909         * doc/posix-functions/fsync.texi: Mention the new module.
73911 2008-10-02  Jim Meyering  <meyering@redhat.com>
73913         fts.c: sync with similar code from coreutils' remove.c
73914         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
73915         Guard also with "#if defined __linux__", since for now at least,
73916         this code is Linux-kernel-specific.
73918 2008-10-02  Jim Meyering  <meyering@redhat.com>
73920         fts: bug fixes
73921         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
73922         Include <sys/vfs.h>, not <sys/statfs.h>.
73924         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
73925         Include <sys/vfs.h>, not <sys/statfs.h>.
73927 2008-10-01  Bruno Haible  <bruno@clisp.org>
73929         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
73930         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
73931         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
73932         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
73933         * doc/posix-functions/posix_spawnp.texi: Likewise.
73934         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
73935         whether posix_spawn actually works.
73936         * m4/pipe.m4 (gl_PIPE): Likewise.
73937         * modules/execute (Files): Add m4/posix_spawn.m4.
73938         * modules/pipe (Files): Add m4/posix_spawn.m4.
73939         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
73941 2008-10-01  Jim Meyering  <meyering@redhat.com>
73943         remove trailing spaces
73944         * NEWS: Likewise.
73945         * lib/poll.c (poll): Likewise.
73946         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
73947         * lib/winsock.c (rpl_close): Likewise.
73948         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
73949         * modules/yield: Likewise.
73950         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
73951         * tests/test-sys_select.c (connect_to_socket): Likewise.
73953         fts.c: adjust a new interface to be more generally useful
73954         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
73955         (fts_build): Adjust caller.
73957 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73959         * modules/cond-tests: New file.
73960         * tests/test-cond.c: New file.
73962 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73963             Bruno Haible  <bruno@clisp.org>
73965         * modules/cond (Dependencies): Add errno, time.
73966         * lib/glthread/cond.h: Include <time.h>.
73967         (gl_cond_define, gl_cond_define_initialized): Use the same definition
73968         across platforms.
73970 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73971             Bruno Haible  <bruno@clisp.org>
73973         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
73975 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73976             Bruno Haible  <bruno@clisp.org>
73978         * modules/tls-tests (Depends-on): Add thread, yield.
73979         (configure.ac): Remove all checks.
73980         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
73981         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
73982         gl_thread_self): Remove definitions. Include glthread/thread.h and
73983         glthread/yield.h instead.
73984         (test_tls): Pass an additional NULL argument to gl_thread_join.
73986 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73987             Bruno Haible  <bruno@clisp.org>
73989         * modules/lock-tests (Depends-on): Add thread, yield.
73990         (configure.ac): Remove all checks.
73991         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
73992         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
73993         gl_thread_self): Remove definitions. Include glthread/thread.h and
73994         glthread/yield.h instead.
73995         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
73996         additional NULL argument to gl_thread_join.
73998 2008-09-30  Bruno Haible  <bruno@clisp.org>
74000         Fix the Win32 implementation of the 'thread' module.
74001         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
74002         pointer type.
74003         (gl_thread_self): Invoke gl_thread_self_func.
74004         (gl_thread_self_func): New declaration.
74005         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
74006         (do_init_self_key, init_self_key): New functions.
74007         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
74008         Remove some fields.
74009         (running_threads, running_lock): Remove variables.
74010         (get_current_thread_handle): New function.
74011         (gl_thread_self_func, wrapper_func, glthread_create_func,
74012         glthread_join_func, gl_thread_exit_func): Largely rewritten and
74013         simplified.
74015 2008-09-30  Bruno Haible  <bruno@clisp.org>
74017         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
74018         files.
74020 2008-09-30  Jim Meyering  <meyering@redhat.com>
74022         fts.m4: correct the test for statfs.f_type
74023         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
74024         when checking for statfs.f_type.
74026 2008-09-15  Simon Josefsson  <simon@josefsson.org>
74028         tests: avoid some compiler warnings
74029         * tests/test-memchr.c (main): Pass NULL indirectly.
74030         * tests/test-getdate.c (main): Remove unused variable 'ret'.
74032 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
74034         getdate.y: disallow countable dayshifts like "4 yesterday ago"
74035         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
74036         exactly specified dayshifts.
74037         (dayshift): New rule.
74038         (rel): Add dayshift.
74039         (relative_time_table) [tomorrow, yesterday, today, now]:
74040         Use tDAY_SHIFT in place of tDAY_UNIT.
74041         * tests/test-getdate.c: Add tests for now-disallowed countable
74042         dayshifts, e.g., "4 yesterday ago".
74044 2008-09-29  Bruno Haible  <bruno@clisp.org>
74046         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
74047         * tests/test-posix_spawn1.in.sh: Renamed from
74048         tests/test-posix_spawn.in.sh.
74049         * tests/test-posix_spawn2.c: New file.
74050         * tests/test-posix_spawn2.in.sh: New file.
74051         * modules/posix_spawnp-tests (Files): Update.
74052         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
74054 2008-09-29  Bruno Haible  <bruno@clisp.org>
74056         Propagate effects of putenv/setenv/unsetenv to child processes.
74057         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
74058         * lib/pipe.c (create_pipe): Likewise.
74060 2008-09-29  Bruno Haible  <bruno@clisp.org>
74062         Enable use of shell scripts as executables in mingw.
74063         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
74064         run the program as a shell script.
74065         * lib/pipe.c (create_pipe): Likewise.
74066         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
74067         resulting array.
74069 2008-09-29  Eric Blake  <ebb9@byu.net>
74071         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
74073 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
74075         * doc/posix-functions/accept.texi: Update mingw problems.
74076         * doc/posix-functions/bind.texi: Update mingw problems.
74077         * doc/posix-functions/close.texi: Update mingw problems.
74078         * doc/posix-functions/connect.texi: Update mingw problems.
74079         * doc/posix-functions/getpeername.texi: Update mingw problems.
74080         * doc/posix-functions/getsockname.texi: Update mingw problems.
74081         * doc/posix-functions/getsockopt.texi: Update mingw problems.
74082         * doc/posix-functions/ioctl.texi: Update mingw problems.
74083         * doc/posix-functions/listen.texi: Update mingw problems.
74084         * doc/posix-functions/recv.texi: Update mingw problems.
74085         * doc/posix-functions/recvfrom.texi: Update mingw problems.
74086         * doc/posix-functions/select.texi: Update mingw problems.
74087         * doc/posix-functions/send.texi: Update mingw problems.
74088         * doc/posix-functions/sendto.texi: Update mingw problems.
74089         * doc/posix-functions/setsockopt.texi: Update mingw problems.
74090         * doc/posix-functions/socket.texi: Update mingw problems.
74092 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
74093             Bruno Haible  <bruno@clisp.org>
74095         * lib/sys_select.in.h: Include sys/time.h.
74096         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
74097         * modules/sys_select: Depend on sys_time.
74098         * tests/test-sys_select.c: Test that sys/select.h defines struct
74099         timeval fully.
74101 2008-09-29  Bruno Haible  <bruno@clisp.org>
74103         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
74104         * lib/sys_select.in.h: Likewise.
74106 2008-09-29  Bruno Haible  <bruno@clisp.org>
74108         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
74110 2008-09-29  Bruno Haible  <bruno@clisp.org>
74112         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
74113         Set LIBSOCKET instead of augmenting LIBS.
74114         * modules/sockets (Link): New section.
74115         * modules/sockets-tests (test_sockets_LDADD): New variable.
74116         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
74117         * modules/poll-tests (test_poll_LDADD): New variable.
74118         * NEWS: Document the change.
74120 2008-09-29  Bruno Haible  <bruno@clisp.org>
74122         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
74123         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
74124         ARPA_INET_H directly.
74125         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
74127 2008-09-28  Bruno Haible  <bruno@clisp.org>
74129         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
74130         from gl_HEADER_SYS_SOCKET.
74131         (gl_HEADER_SYS_SOCKET): Invoke it.
74132         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
74134 2008-09-28  Bruno Haible  <bruno@clisp.org>
74136         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
74137         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
74138         Needed on OSF/1 4.0.
74140 2008-09-28  Bruno Haible  <bruno@clisp.org>
74142         Override open more carefully.
74143         * lib/open.c (orig_open): New function.
74144         (rpl_open): Use orig_open instead of open.
74145         * lib/fcntl.in.h: Add special invocation convention.
74146         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
74147         (gl_FUNC_OPEN): Invoke it.
74149         Override freopen more carefully.
74150         * lib/freopen.c (orig_freopen): New function.
74151         (rpl_freopen): Use orig_freopen instead of freopen.
74152         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
74153         (gl_FUNC_FREOPEN): Invoke it.
74155         Override fopen more carefully.
74156         * lib/fopen.c (orig_fopen): New function.
74157         (rpl_fopen): Use orig_fopen instead of fopen.
74158         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
74159         (gl_FUNC_FOPEN): Invoke it.
74160         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
74162 2008-09-28  Bruno Haible  <bruno@clisp.org>
74164         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
74165         SIGPIPE.
74167 2008-09-28  Bruno Haible  <bruno@clisp.org>
74169         * tests/test-sigaction.c (handler, main): Disable the check whether
74170         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
74171         glibc systems with LinuxThreads.
74173 2008-09-28  Bruno Haible  <bruno@clisp.org>
74175         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
74177         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
74178         with AIX xlc.
74179         * lib/fcntl.in.h (open): Likewise.
74180         Reported by Rainer Tammer <tammer@tammer.net>.
74182 2008-09-28  Bruno Haible  <bruno@clisp.org>
74184         * modules/posix_spawnp-tests: New file.
74185         * tests/test-posix_spawn.c: New file.
74186         * tests/test-posix_spawn.in.sh: New file.
74188         New module 'posix_spawnp'.
74189         * modules/posix_spawnp: New file.
74190         * lib/spawnp.c: New file, from GNU libc with modifications.
74191         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
74193         New module 'posix_spawn'.
74194         * modules/posix_spawn: New file.
74195         * lib/spawn.c: New file, from GNU libc with modifications.
74196         * doc/posix-functions/posix_spawn.texi: Mention the new module.
74198         New module 'posix_spawnattr_destroy'.
74199         * modules/posix_spawnattr_destroy: New file.
74200         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
74201         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
74202         module.
74204         New module 'posix_spawnattr_setsigmask'.
74205         * modules/posix_spawnattr_setsigmask: New file.
74206         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
74207         modifications.
74208         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
74209         new module.
74211         New module 'posix_spawnattr_getsigmask'.
74212         * modules/posix_spawnattr_getsigmask: New file.
74213         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
74214         modifications.
74215         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
74216         new module.
74218         New module 'posix_spawnattr_setsigdefault'.
74219         * modules/posix_spawnattr_setsigdefault: New file.
74220         * lib/spawnattr_setdefault.c: New file, from GNU libc with
74221         modifications.
74222         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
74223         new module.
74225         New module 'posix_spawnattr_getsigdefault'.
74226         * modules/posix_spawnattr_getsigdefault: New file.
74227         * lib/spawnattr_getdefault.c: New file, from GNU libc with
74228         modifications.
74229         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
74230         new module.
74232         New module 'posix_spawnattr_setschedpolicy'.
74233         * modules/posix_spawnattr_setschedpolicy: New file.
74234         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
74235         modifications.
74236         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
74237         new module.
74239         New module 'posix_spawnattr_getschedpolicy'.
74240         * modules/posix_spawnattr_getschedpolicy: New file.
74241         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
74242         modifications.
74243         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
74244         new module.
74246         New module 'posix_spawnattr_setschedparam'.
74247         * modules/posix_spawnattr_setschedparam: New file.
74248         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
74249         modifications.
74250         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
74251         new module.
74253         New module 'posix_spawnattr_getschedparam'.
74254         * modules/posix_spawnattr_getschedparam: New file.
74255         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
74256         modifications.
74257         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
74258         new module.
74260         New module 'posix_spawnattr_setpgroup'.
74261         * modules/posix_spawnattr_setpgroup: New file.
74262         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
74263         modifications.
74264         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
74265         module.
74267         New module 'posix_spawnattr_getpgroup'.
74268         * modules/posix_spawnattr_getpgroup: New file.
74269         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
74270         modifications.
74271         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
74272         module.
74274         New module 'posix_spawnattr_setflags'.
74275         * modules/posix_spawnattr_setflags: New file.
74276         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
74277         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
74278         module.
74280         New module 'posix_spawnattr_getflags'.
74281         * modules/posix_spawnattr_getflags: New file.
74282         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
74283         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
74284         module.
74286         New module 'posix_spawnattr_init'.
74287         * modules/posix_spawnattr_init: New file.
74288         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
74289         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
74290         module.
74292         New module 'posix_spawn_file_actions_destroy'.
74293         * modules/posix_spawn_file_actions_destroy: New file.
74294         * lib/spawn_faction_destroy.c: New file, from GNU libc with
74295         modifications.
74296         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
74297         the new module.
74299         New module 'posix_spawn_file_actions_addopen'.
74300         * modules/posix_spawn_file_actions_addopen: New file.
74301         * lib/spawn_faction_addopen.c: New file, from GNU libc with
74302         modifications.
74303         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
74304         the new module.
74306         New module 'posix_spawn_file_actions_adddup2'.
74307         * modules/posix_spawn_file_actions_adddup2: New file.
74308         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
74309         modifications.
74310         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
74311         the new module.
74313         New module 'posix_spawn_file_actions_addclose'.
74314         * modules/posix_spawn_file_actions_addclose: New file.
74315         * lib/spawn_faction_addclose.c: New file, from GNU libc with
74316         modifications.
74317         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
74318         the new module.
74320         New module 'posix_spawn_file_actions_init'.
74321         * modules/posix_spawn_file_actions_init: New file.
74322         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
74323         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
74324         new module.
74326         New module 'posix_spawn-internal'.
74327         * modules/posix_spawn-internal: New file.
74328         * lib/spawn_int.h: New file, from GNU libc with modifications.
74329         * lib/spawni.c: New file, from GNU libc with modifications.
74330         * m4/posix_spawn.m4: New file.
74332         New module 'spawn'.
74333         * modules/spawn: New file.
74334         * lib/spawn.in.h: New file, from GNU libc with modifications.
74335         * m4/spawn_h.m4: New file.
74336         * doc/posix-headers/spawn.texi: Mention the new module.
74338 2008-09-28  Bruno Haible  <bruno@clisp.org>
74340         * modules/sched-tests: New file.
74341         * tests/test-sched.c: New file.
74343         New module 'sched'.
74344         * modules/sched: New file.
74345         * lib/sched.in.h: New file.
74346         * m4/sched_h.m4: New file.
74347         * doc/posix-headers/sched.texi: Mention the new module.
74349 2008-09-27  Eric Blake  <ebb9@byu.net>
74351         Fix previous patch, and tweak references to $0.
74352         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
74353         (func_version, func_gnulib_dir): Don't call this program
74354         gnulib-tool.
74355         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
74356         with using $0 in function.
74357         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
74358         (func_fatal_error): Reuse the name the user invoked us with.
74360 2008-09-27  Bruno Haible  <bruno@clisp.org>
74362         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
74363         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
74364         (gl_ICONV_H): Not here.
74365         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
74366         instead of assigning ICONV_H directly.
74368         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
74369         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
74370         WCHAR_H directly.
74372 2008-09-27  Bruno Haible  <bruno@clisp.org>
74374         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
74375         * modules/arpa_inet (Depends-on): Add link-warning.
74376         (Makefile.am): Insert the definition of GL_LINK-WARNING.
74377         * modules/unistd (Makefile.am): Likewise.
74379 2008-09-26  Bruno Haible  <bruno@clisp.org>
74381         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
74382         variables.
74383         (func_version): Essentially copied from gnulib-tool.
74384         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
74385         func_readlink): Copied from gnulib-tool.
74387 2008-09-26  Bruno Haible  <bruno@clisp.org>
74389         * gnulib-tool (func_version): Change directory to $gnulib_dir before
74390         invoking git-version-gen.
74392 2008-09-26  Bruno Haible  <bruno@clisp.org>
74394         * posix-modules: Update to directory names changed on 2008-01-19.
74395         Remove commas in output before splitting into words. No more need to
74396         avoid 'ftruncate' since 2007-02-19.
74398 2008-09-26  Bruno Haible  <bruno@clisp.org>
74400         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
74402 2008-09-26  Bruno Haible  <bruno@clisp.org>
74404         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
74405         * modules/fwriteerror (Depends-on): Add errno.
74407 2008-09-26  Bruno Haible  <bruno@clisp.org>
74409         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
74410         * tests/test-vc-list-files-cvs.sh: Likewise.
74412 2008-09-26  Bruno Haible  <bruno@clisp.org>
74414         * doc/posix-headers/sys_resource.texi: Reorder items.
74416 2008-09-26  Jim Meyering  <meyering@redhat.com>
74418         fts: tweak inode comparison function
74419         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
74420         inode numbers, as documented.
74422         fts: sort dirent entries on inode number before traversing
74423         This avoids a quadratic, seek-related performance penalty when
74424         operating on a directory containing many entries (measurable at 10k;
74425         3.5 hours at 2 million entries with a cold cache) on certain types
74426         of file systems, including ext3 and ext4, but not tmpfs.
74427         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
74428         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
74429         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
74430         (fs_handles_readdir_ordered_dirents_efficiently): New function.
74431         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
74432         (fts_build): Set the stat.st_ino member from D_INO.
74433         If it is likely to be useful, sort dirent entries on inode number.
74435         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
74436         and the struct statfs.f_type member.
74437         * modules/fts (Depends-on): Add d-ino.
74439 2008-09-26  Bruno Haible  <bruno@clisp.org>
74441         * modules/sigpipe-die (Depends-on): Add sigpipe.
74443         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
74444         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
74445         and GNULIB_STDIO_H_SIGPIPE are set.
74446         * lib/stdio-write.c: New file.
74447         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
74448         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
74449         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
74450         REPLACE_STDIO_WRITE_FUNCS.
74451         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
74452         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
74453         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
74454         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
74455         * modules/stdio (Files): Add lib/stdio-write.c.
74456         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
74457         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
74458         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
74459         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
74460         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
74461         REPLACE_FPRINTF_POSIX.
74462         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
74463         REPLACE_PRINTF_POSIX.
74464         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
74465         REPLACE_VFPRINTF_POSIX.
74466         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
74467         REPLACE_VPRINTF_POSIX.
74468         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
74469         SIGPIPE issue.
74470         * doc/posix-functions/fputc.texi: Likewise.
74471         * doc/posix-functions/fputs.texi: Likewise.
74472         * doc/posix-functions/fwrite.texi: Likewise.
74473         * doc/posix-functions/printf.texi: Likewise.
74474         * doc/posix-functions/putc.texi: Likewise.
74475         * doc/posix-functions/putchar.texi: Likewise.
74476         * doc/posix-functions/puts.texi: Likewise.
74477         * doc/posix-functions/vfprintf.texi: Likewise.
74478         * doc/posix-functions/vprintf.texi: Likewise.
74480         * modules/safe-write (Depends-on): Add write.
74482         * modules/sigpipe-tests: New file.
74483         * tests/test-sigpipe.c: New file.
74484         * tests/test-sigpipe.sh: New file.
74486         * modules/write: New file.
74487         * lib/unistd.in.h: Include <sys/types.h>.
74488         (write): New declaration.
74489         * lib/write.c: New file.
74490         * m4/write.m4: New file.
74491         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
74492         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
74493         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
74494         GNULIB_WRITE, REPLACE_WRITE.
74495         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
74496         and the SIGPIPE issue.
74498         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
74499         (raise): New declaration.
74500         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
74501         (ext_signal): New function.
74502         (rpl_raise): New function.
74503         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
74504         GNULIB_SIGNAL_H_SIGPIPE.
74505         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
74506         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
74508         * modules/sigpipe: New file.
74509         * m4/sigpipe.m4: New file.
74511 2008-09-25  Derek Price  <derek@ximbiot.com>
74512             Bruno Haible  <bruno@clisp.org>
74514         * gnulib-tool (func_import): Report all license incompatibilities, not
74515         just the first one.
74517 2008-09-25  Bruno Haible  <bruno@clisp.org>
74519         * gnulib-tool (func_import): When computing the edits, consider not
74520         only the Makefile.ams that exist but also those that will be generated.
74522 2008-09-25  Simon Josefsson  <simon@josefsson.org>
74524         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
74525         fixes gnulib-tool --test warning about duplicate dependency.
74527 2008-09-25  Bruno Haible  <bruno@clisp.org>
74529         * gnulib-tool: Don't ask the user to perform edits in the generated
74530         Makefile.ams.
74531         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
74532         apply to the Makefile.am being generated.
74533         (func_emit_tests_Makefile_am): Execute edits that apply to the
74534         Makefile.am being generated.
74535         (func_import): Setup list of Makefile.am edits before emitting the
74536         Makefile.ams, not at the end.
74537         (func_create_testdir): Update.
74538         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
74540 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74542         * gnulib-tool (func_import): Store the --tests-base option in the
74543         comment in gnulib-cache.m4.
74545 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
74547         * NEWS: Document increased portability that sys_select now provides.
74549         * lib/sys_select.in.h: Install select wrapper.
74550         * lib/sys_socket.in.h: Use more descriptive name when there is no
74551         select wrapper.
74552         * lib/winsock-select.c: New.
74553         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
74554         Require gl_HEADER_SYS_SOCKET.
74555         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
74556         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
74557         * tests/test-sys_select.c: Add functional tests.
74559 2008-09-24  Eric Blake  <ebb9@byu.net>
74561         open, fopen: close fd leak in last patch
74562         * lib/open.c (rpl_open): Close fd before returning error.
74563         * lib/fopen.c (rpl_fopen): Close fd before returning error.
74564         * doc/posix-functions/open.texi (open): Document that Irix also
74565         has the bug.
74566         * doc/posix-functions/fopen.texi (fopen): Likewise.
74567         Reported by Paolo Bonzini.
74569 2008-09-24  Bruno Haible  <bruno@clisp.org>
74571         Ensure that a filename ending in a slash cannot be used to access a
74572         non-directory.
74573         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
74574         to check whether it's really a directory.
74575         * lib/fopen.c: Include fcntl.h, unistd.h.
74576         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
74577         and fdopen().
74578         * modules/fopen (Depends-on): Add unistd.
74579         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
74580         * tests/test-fopen.c (main): Likewise.
74581         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
74582         * doc/posix-functions/fopen.texi: Likewise.
74583         Reported by Eric Blake.
74585 2008-09-23  Eric Blake  <ebb9@byu.net>
74587         c-stack: avoid compiler optimizations when provoking overflow
74588         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
74589         recursion harder to optimize, to ensure a stack overflow occurs.
74590         * tests/test-c-stack.c (recurse): Likewise.
74591         Borrowed from libsigsegv.
74593         c-stack: work around Irix sigaltstack bug
74594         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
74595         whether sigaltstack uses wrong end of stack_t (copied in part from
74596         libsigsegv).
74597         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
74598         Irix bug, without requiring an over-allocation.
74599         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
74600         bug.
74602         fopen: document mingw bug on directories
74603         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
74604         not allowing a stream visiting a directory, even though reading
74605         from such a stream is not portable.
74607 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
74609         * lib/poll.c: Rewrite.
74610         * modules/poll: Depend on alloca.
74612 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
74614         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
74615         instead define prototypes for a full set of wrappers.  Ensure
74616         that Cygwin does not use the compatibility code, which is only
74617         for MinGW.
74618         * lib/winsock.c: New.
74619         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
74620         * modules/sys_socket: Add lib/winsock.c.
74622         * modules/poll-tests: Add errno and perror.
74623         * tests/test-poll.c: Use ioctl, not ioctlsocket.
74625 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
74627         * tests/test-poll.c: Downgrade minimum needed Winsock version.
74629 2008-09-23  Bruno Haible  <bruno@clisp.org>
74631         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
74632         * doc/glibc-functions/*: Likewise.
74634 2008-09-23  Simon Josefsson  <simon@josefsson.org>
74636         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
74637         success.
74639 2008-09-22  Eric Blake  <ebb9@byu.net>
74640             Bruno Haible  <bruno@clisp.org>
74642         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
74643         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
74644         supply %A but mishandle pseudo-NaN.
74645         Reported by Simon Josefsson.
74647 2008-09-21  Bruno Haible  <bruno@clisp.org>
74649         * tests/test-lock.c (main): Tweak skip message.
74650         * tests/test-tls.c (main): Likewise.
74652 2008-09-21  Bruno Haible  <bruno@clisp.org>
74654         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
74655         whether 'struct sigaction' has sa_sigaction here...
74656         (gl_PREREQ_SIG_HANDLER_H): ... not here.
74657         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
74659 2008-09-21  Bruno Haible  <bruno@clisp.org>
74661         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
74662         section.
74663         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
74664         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
74665         the new section.
74666         (Support for obsolete systems lacking POSIX:2001): New section.
74667         (String handling <string.h>): Move strdup to the new section.
74668         Suggested by Simon Josefsson and Paolo Bonzini.
74670 2008-09-21  Bruno Haible  <bruno@clisp.org>
74672         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
74673         exponents in %e and %g results on 'long double'. Needed for mingw's
74674         improved *printf functions.
74675         * tests/test-vasprintf-posix.c (test_function): Likewise.
74676         * tests/test-snprintf-posix.h (test_function): Likewise.
74677         * tests/test-sprintf-posix.h (test_function): Likewise.
74678         Reported by Eric Blake.
74680 2008-09-21  Bruno Haible  <bruno@clisp.org>
74682         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
74683         * tests/test-sprintf-posix.h (test_function): Likewise.
74685 2008-09-21  Bruno Haible  <bruno@clisp.org>
74687         * modules/getpass (Depends-on): Add strdup-posix.
74689         New module 'strdup-posix'.
74690         * modules/strdup-posix: New file.
74691         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
74692         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
74693         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
74694         REPLACE_STRDUP.
74695         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
74696         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
74697         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
74698         strdup-posix.
74700         * modules/strdup (Depends-on): Remove malloc-posix.
74702 2008-09-20  Bruno Haible  <bruno@clisp.org>
74704         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
74705         Wildenhues.
74707 2008-09-20  Bruno Haible  <bruno@clisp.org>
74709         Ensure that wint_t gets defined on IRIX 5.3.
74710         * lib/wchar.in.h (wint_t): Define if not defined by the system.
74711         * lib/wctype.in.h (wint_t): Likewise.
74712         (__wctype_wint_t): Remove type.
74713         (isw*): Use wint_t instead of __wctype_wint_t.
74714         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
74715         * modules/wchar (Files): Add m4/wint_t.m4.
74716         (Makefile.am): Substitute HAVE_WINT_T.
74717         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
74718         * tests/test-wctype.c: Check that wint_t is defined.
74719         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
74720         * doc/posix-headers/wctype.texi: Likewise.
74721         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
74723 2008-09-18  Bruno Haible  <bruno@clisp.org>
74725         * gnulib-tool (func_exit): Update comment.
74727 2008-09-18  Simon Josefsson  <simon@josefsson.org>
74729         * modules/getaddrinfo (Depends-on): Remove strdup, this module
74730         assumes strdup exists and does not depend on strdup to return
74731         ENOMEM on out of memory conditions.
74733 2008-09-18  Bruno Haible  <bruno@clisp.org>
74735         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
74736         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
74737         digits for the exponent.
74739 2008-09-18  Jim Meyering  <meyering@redhat.com>
74740             Bruno Haible  <bruno@clisp.org>
74742         * lib/vasnprintf.c (decimal_point_char): Define also if
74743         NEED_PRINTF_INFINITE_LONG_DOUBLE.
74745 2008-09-16  Bruno Haible  <bruno@clisp.org>
74746         and Eric Blake  <ebb9@byu.net>
74748         vasnprintf: support Irix 5.3
74749         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
74750         that mishandle long double infinity.
74751         Reported by Tom G. Christensen.
74753 2008-09-16  Bruno Haible  <bruno@clisp.org>
74755         * doc/glibc-functions/scandir.texi: Mention the function is missing on
74756         Solaris 9.
74757         * doc/glibc-functions/alphasort.texi: Likewise.
74758         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
74760 2008-09-16  Jim Meyering  <meyering@redhat.com>
74762         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
74763         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
74764         a umask modification leak out of a subshell.  Otherwise, the
74765         opensolaris /bin/sh would be accepted and thus cause unwarranted
74766         failures in the coreutils test suite.
74768 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
74770         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
74771         to succeed.
74773 2008-09-16  Jim Meyering  <meyering@redhat.com>
74775         avoid spurious test failure when library is built without ACL support
74776         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
74777         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
74778         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
74779         * tests/test-copy-acl.sh: Likewise.
74781 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74783         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
74784         based on character occurrence counts.
74786 2008-09-15  Eric Blake  <ebb9@byu.net>
74788         tests: avoid some compiler warnings
74789         * tests/test-memchr.c (main): Pass NULL indirectly.
74790         * tests/test-closein.c (main): Avoid unused variable.
74792 2008-09-15  Bruno Haible  <bruno@clisp.org>
74794         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
74795         are missing on OpenBSD 4.0 individually.
74796         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
74798 2008-09-15  Bruno Haible  <bruno@clisp.org>
74800         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
74801         * doc/posix-functions/strerror.texi: Mention also Cygwin.
74802         * doc/posix-functions/perror.texi: Likewise.
74803         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
74804         is missing.
74805         Reported by Eric Blake.
74807         * lib/errno.in.h: Use replacement values >= 2000.
74808         Reported by Eric Blake.
74810 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74812         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
74813         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
74814         limit.
74815         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
74816         compareseq was aborted.
74818 2008-09-14  Bruno Haible  <bruno@clisp.org>
74820         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
74821         yvec_edit_count.
74822         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
74823         (fstrcmp_bounded): Simplify result computation accordingly.
74825 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74827         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
74828         (fstrcmp): Define in terms of fstrcmp_bounded.
74829         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
74830         lower_bound argument.
74831         Return quickly if the result is certainly < lower_bound.
74832         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
74834 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74836         * lib/diffseq.h (EARLY_ABORT): New macro.
74837         (compareseq): Change return type to bool. Return true when EARLY_ABORT
74838         evaluates to true.
74840 2008-09-14  Bruno Haible  <bruno@clisp.org>
74842         * modules/perror-tests: New file.
74843         * tests/test-perror.sh: New file.
74844         * tests/test-perror.c: New file.
74846         New module 'perror'.
74847         * lib/stdio.in.h (perror): New declaration.
74848         * lib/perror.c: New file.
74849         * m4/perror.m4: New file.
74850         * modules/perror: New file.
74851         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
74852         * doc/posix-functions/perror.texi: Mention the perror module.
74853         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
74854         REPLACE_PERROR.
74855         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
74856         REPLACE_PERROR.
74858 2008-09-14  Bruno Haible  <bruno@clisp.org>
74860         * modules/stdio (Makefile.am): Reorder to match the order in
74861         lib/stdio.in.h.
74862         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
74864 2008-09-13  Bruno Haible  <bruno@clisp.org>
74866         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
74868 2008-09-13  Bruno Haible  <bruno@clisp.org>
74870         Extend strerror to cover the added errno values.
74871         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
74872         (rpl_strerror): Provide error messages for the added errno values and
74873         for the WSA* values.
74874         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
74875         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
74876         strerror.
74877         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
74878         * modules/strerror (Depends-on): Add errno.
74879         * doc/posix-functions/strerror.texi: Document the change.
74880         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
74881         and EOVERFLOW.
74883 2008-09-13  Bruno Haible  <bruno@clisp.org>
74885         * modules/EOVERFLOW: Remove file.
74886         * m4/eoverflow.m4: Remove file.
74887         * modules/EOVERFLOW-tests: Remove file.
74888         * tests/test-EOVERFLOW.c: Remove file.
74889         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
74890         * modules/ftell (Depends-on): Likewise.
74891         * modules/getdelim (Depends-on): Likewise.
74892         * modules/getugroups (Depends-on): Likewise.
74893         * modules/poll (Depends-on): Likewise.
74894         * modules/snprintf (Depends-on): Likewise.
74895         * modules/sprintf-posix (Depends-on): Likewise.
74896         * modules/vasnprintf (Depends-on): Likewise.
74897         * modules/vasprintf (Depends-on): Likewise.
74898         * modules/vfprintf-posix (Depends-on): Likewise.
74899         * modules/vsnprintf (Depends-on): Likewise.
74900         * modules/vsprintf-posix (Depends-on): Likewise.
74901         * modules/xvasprintf (Depends-on): Likewise.
74902         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
74903         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
74904         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
74905         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
74906         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
74907         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
74908         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
74909         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
74910         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
74911         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
74912         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
74913         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
74914         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
74915         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
74916         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
74917         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
74918         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
74919         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
74920         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
74921         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
74922         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
74923         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
74924         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
74925         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
74926         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
74927         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
74928         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
74929         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
74930         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
74931         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
74932         * MODULES.html.sh: Remove EOVERFLOW.
74933         * NEWS: Mention the change.
74935 2008-09-13  Bruno Haible  <bruno@clisp.org>
74937         * modules/errno-tests: New file.
74938         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
74940         * lib/errno.in.h: New file.
74941         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
74942         * modules/errno: New file.
74943         * doc/posix-headers/errno.texi: Update documentation.
74944         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
74946 2008-09-13  Bruno Haible  <bruno@clisp.org>
74948         * tests/test-poll.c: Use #if for native Windows, rather than testing
74949         __MSVCRT__.
74951 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74952             Bruno Haible  <bruno@clisp.org>
74954         * lib/glob.c: Don't include <pwd.h> on native Windows.
74955         (WINDOWS32): New macro.
74956         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
74958 2008-09-13  Bruno Haible  <bruno@clisp.org>
74960         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
74961         (ETIMEDOUT): Remove macro.
74962         (glthread_cond_timedwait_multithreaded): New declaration.
74963         (glthread_cond_timedwait): Use it.
74964         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
74965         (glthread_cond_timedwait_multithreaded): New function.
74967 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
74969         * modules/poll-tests: Do not check for io.h.
74970         * tests/test-poll.c: Check for __MSVCRT__ instead.
74972 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
74974         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
74975         * modules/poll-tests: Add inet_pton, stdbool, sockets.
74976         * tests/test-poll.c: Use them.  Use _pipe on Windows.
74978 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
74980         * modules/poll-tests: New.
74981         * tests/test-poll.c: New.
74983 2008-09-12  Eric Blake  <ebb9@byu.net>
74985         frexp: test for NetBSD failure on -0.0
74986         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
74987         not all, bugs from NetBSD 3.0 have been fixed.
74988         * doc/posix-functions/frexp.texi (frexp): Document bug.
74989         Reported by Thomas Klausner.
74991         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
74992         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
74993         literal -0.0.
74994         Reported by Jonathan C. Patschke <jp@centtech.com>.
74996 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74998         * lib/glthread/cond.h: Use dummy implementation also if
74999         USE_WIN32_THREADS.
75001 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75003         * modules/fnmatch-posix (License): Change to LGPLv2+.
75004         * modules/fnmatch-gnu (License): Likewise.
75006 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75008         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
75010 2008-09-11  Jim Meyering  <meyering@redhat.com>
75012         * users.txt: Add gtk-vnc.
75014 2008-09-08  Simon Josefsson  <simon@josefsson.org>
75016         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
75017         rotate amounts.
75019         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
75020         required for 16-bit and 8-bit rotates.
75021         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
75022         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
75023         UINT8_MAX instead of hard-coded constants.
75024         Suggested by Paul Eggert.
75026 2008-09-07  Bruno Haible  <bruno@clisp.org>
75028         * tests/test-striconveh.c (main): Check behaviour when converting from
75029         UTF-7.
75031         Make striconveh work better with stateful encodings.
75032         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
75033         that iconv does not increment the inptr when returning -1/EINVAL.
75035 2008-09-07  Bruno Haible  <bruno@clisp.org>
75037         * build-aux/config.rpath: Update according to libtool-2.2.6.
75038         * build-aux/config.libpath: Likewise.
75040 2008-09-06  Bruno Haible  <bruno@clisp.org>
75042         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
75043         * lib/freadptr.c (freadptr): Likewise.
75044         * lib/freadseek.c (freadptrinc): Likewise.
75045         Reported by Simon Josefsson.
75047 2008-09-06  Bruno Haible  <bruno@clisp.org>
75049         * modules/freadptr (License): Change to LGPLv2+.
75050         * modules/freadseek (License): Likewise.
75051         Suggested by Eric Blake.
75053         * modules/memchr2 (License): Change to LGPLv2+.
75054         Approved by Eric Blake.
75056 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75057             Bruno Haible  <bruno@clisp.org>
75059         Make gnulib-tool work with native 'sed' on AIX.
75060         * gnulib-tool (sed_noop): New variable.
75061         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
75062         func_add_or_update, func_create_testdir): Use it to initialize sed
75063         script variables.
75064         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
75066 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
75067             Bruno Haible  <bruno@clisp.org>
75069         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
75070         also works after #include directives.
75072 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
75074         getdate.y: reject an out-of-range timezone value
75075         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
75076         the range [-24...+24].  When specified with only one or two digits,
75077         * tests/test-getdate.c: Tests for the fix.
75078         * doc/getdate.texi: Document this change.
75080 2008-09-03  Bruno Haible  <bruno@clisp.org>
75082         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
75084 2008-09-02  Simon Josefsson  <simon@josefsson.org>
75086         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
75087         <bruce.korb@gmail.com> with ideas from Ben Pfaff
75088         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
75089         Blake <ebb9@byu.net>.
75091         * tests/test-bitrotate.c: Add more test vectors.
75093 2008-09-02  Eric Blake  <ebb9@byu.net>
75095         vasnprintf-posix: handle large precision via %.*d
75096         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
75097         when handling it ourselves.
75098         * tests/test-vasnprintf-posix.c (test_function): Add test.
75099         * tests/test-snprintf-posix.h (test_function): Likewise.
75100         * tests/test-sprintf-posix.h (test_function): Likewise.
75101         * tests/test-vasprintf-posix.c (test_function): Likewise.
75102         Reported by Alain Guibert.
75104 2008-09-01  Eric Blake  <ebb9@byu.net>
75106         c-stack: make configure-time check more robust
75107         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
75108         successful sigaction call.
75109         Reported by Tom G. Christensen.
75111 2008-09-01  Bruno Haible  <bruno@clisp.org>
75113         New module 'findprog-lgpl'.
75114         * modules/findprog-lgpl: New file.
75115         * lib/findprog-lgpl.c: New file.
75116         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
75117         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
75118         to decide whether to use strdup or xstrdup, concatenated_filename or
75119         xconcatenated_filename.
75121 2008-09-01  Bruno Haible  <bruno@clisp.org>
75123         Split module 'concat-filename' into 'concat-filename' (LGPL) and
75124         'xconcat-filename' (GPL).
75125         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
75126         (License): Change to LGPLv2+.
75127         * modules/xconcat-filename: New file.
75128         * lib/concat-filename.h (concatenated_filename): Change specification.
75129         (xconcatenated_filename): New declaration.
75130         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
75131         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
75132         memory situations.
75133         * lib/xconcat-filename.c: New file.
75134         * NEWS: Mention the change.
75135         * lib/findprog.c: Include concat-filename.h, not filename.h.
75136         (find_in_path): Use xconcatenated_filename instead of
75137         concatenated_filename.
75138         * lib/javacomp.c: Include concat-filename.h, not filename.h.
75139         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
75140         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
75141         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
75142         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
75143         instead of concatenated_filename.
75144         * lib/javaexec.c: Include concat-filename.h, not filename.h.
75145         (execute_java_class): Use xconcatenated_filename instead of
75146         concatenated_filename.
75147         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
75148         * modules/javacomp (Depends-on): Likewise.
75149         * modules/javaexec (Depends-on): Likewise.
75151 2008-09-01  Bruno Haible  <bruno@clisp.org>
75153         Split module 'filename' into 'filename' and 'concat-filename'.
75154         * modules/filename: Keep only lib/filename.h.
75155         (License): Change to LGPLv2+.
75156         * modules/concat-filename: New file, extracted from modules/filename.
75157         * lib/filename.h (concatenated_filename): Remove declaration.
75158         * lib/concat-filename.h: New file, extracted from lib/filename.h.
75159         * lib/concat-filename.c: Include concat-filename.h.
75160         * NEWS: Mention the change.
75162 2008-09-01  Simon Josefsson  <simon@josefsson.org>
75164         * lib/bitrotate.h (rotl8, rotr8): Add.
75166         * modules/bitrotate (configure.ac): Need
75167         AC_REQUIRE([AC_C_INLINE]).
75168         (Description): Mention stdint.h.  Reported by Bruno Haible
75169         <bruno@clisp.org>.
75171         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
75172         Paolo Bonzini <bonzini@gnu.org>.
75174 2008-08-31  Bruno Haible  <bruno@clisp.org>
75176         Assume Solaris specific bi-arch conventions on Solaris systems.
75177         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
75178         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
75179         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
75180         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
75181         like acl_libdirstem.
75182         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
75183         acl_libdirstem.
75184         * NEWS: Mention the change.
75185         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
75187 2008-08-31  Jim Meyering  <meyering@redhat.com>
75189         * lib/strftime.h: Add comments describing the two added arguments.
75191         remove duplicate #include directives
75192         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
75193         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
75195 2008-08-31  Bruno Haible  <bruno@clisp.org>
75197         New module 'sigpipe-die'.
75198         * modules/sigpipe-die: New file.
75199         * lib/sigpipe-die.h: New file.
75200         * lib/sigpipe-die.c: New file.
75201         * MODULES.html.sh (Signal handling): Add sigpipe-die.
75203 2008-08-31  Bruno Haible  <bruno@clisp.org>
75205         Don't override previously installed signal handlers.
75206         * lib/fatal-signal.c (saved_sigactions): New variable.
75207         (uninstall_handlers): Reset the signal to the saved handler, not
75208         to SIG_DFL (except when ignored).
75209         (install_handlers): Save the previous handlers.
75211 2008-08-30  Bruno Haible  <bruno@clisp.org>
75213         * gnulib-tool (func_reset_sigpipe): New function.
75214         (func_get_automake_snippet, func_modules_transitive_closure,
75215         func_import): Invoke it before a join command that reads from stdin,
75216         to avoid "echo: write error: Broken pipe" error messages on stderr.
75217         Reported by Sam Steingold <sds@gnu.org>.
75219 2008-08-30  Bruno Haible  <bruno@clisp.org>
75221         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
75222         Code copied from m4/open.m4.
75223         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
75224         access and the filename ends in a slash. Code copied from lib/open.c.
75225         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
75226         * tests/test-fopen.c (main): Check against bug with trailing slash.
75228 2008-08-29  Bruno Haible  <bruno@clisp.org>
75230         Avoid some "gcc -pedantic" warnings.
75231         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
75232         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
75233         * lib/dirent.in.h: Likewise.
75234         * lib/fcntl.in.h: Likewise.
75235         * lib/float.in.h: Likewise.
75236         * lib/iconv.in.h: Likewise.
75237         * lib/inttypes.in.h: Likewise.
75238         * lib/locale.in.h: Likewise.
75239         * lib/math.in.h: Likewise.
75240         * lib/netinet_in.in.h: Likewise.
75241         * lib/search.in.h: Likewise.
75242         * lib/signal.in.h: Likewise.
75243         * lib/stdarg.in.h: Likewise.
75244         * lib/stdint.in.h: Likewise.
75245         * lib/stdio.in.h: Likewise.
75246         * lib/stdlib.in.h: Likewise.
75247         * lib/string.in.h: Likewise.
75248         * lib/strings.in.h: Likewise.
75249         * lib/sys_select.in.h: Likewise.
75250         * lib/sys_socket.in.h: Likewise.
75251         * lib/sys_stat.in.h: Likewise.
75252         * lib/sys_time.in.h: Likewise.
75253         * lib/sysexits.in.h: Likewise.
75254         * lib/time.in.h: Likewise.
75255         * lib/unistd.in.h: Likewise.
75256         * lib/wchar.in.h: Likewise.
75257         * lib/wctype.in.h: Likewise.
75258         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
75259         * modules/fchdir (Makefile.am): Likewise.
75260         * modules/fcntl (Makefile.am): Likewise.
75261         * modules/float (Makefile.am): Likewise.
75262         * modules/iconv_open (Makefile.am): Likewise.
75263         * modules/inttypes (Makefile.am): Likewise.
75264         * modules/locale (Makefile.am): Likewise.
75265         * modules/math (Makefile.am): Likewise.
75266         * modules/netinet_in (Makefile.am): Likewise.
75267         * modules/search (Makefile.am): Likewise.
75268         * modules/signal (Makefile.am): Likewise.
75269         * modules/stdarg (Makefile.am): Likewise.
75270         * modules/stdint (Makefile.am): Likewise.
75271         * modules/stdio (Makefile.am): Likewise.
75272         * modules/stdlib (Makefile.am): Likewise.
75273         * modules/string (Makefile.am): Likewise.
75274         * modules/strings (Makefile.am): Likewise.
75275         * modules/sys_select (Makefile.am): Likewise.
75276         * modules/sys_socket (Makefile.am): Likewise.
75277         * modules/sys_stat (Makefile.am): Likewise.
75278         * modules/sys_time (Makefile.am): Likewise.
75279         * modules/sysexits (Makefile.am): Likewise.
75280         * modules/time (Makefile.am): Likewise.
75281         * modules/unistd (Makefile.am): Likewise.
75282         * modules/wchar (Makefile.am): Likewise.
75283         * modules/wctype (Makefile.am): Likewise.
75284         Reported by Reuben Thomas <rrt@sc3d.org>.
75286 2008-08-29  Bruno Haible  <bruno@clisp.org>
75288         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
75289         any more.
75291 2008-08-29  Simon Josefsson  <simon@josefsson.org>
75293         * MODULES.html.sh (Misc): Add bitrotate.
75295         * modules/bitrotate: New file.
75297         * lib/bitrotate.h: New file.
75299         * modules/bitrotate-tests: New file.
75301         * tests/test-bitrotate.c: New file.
75303         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
75304         on the bitrotate module.
75306         * lib/arctwo.c: Use new bitrotate module.
75308 2008-08-29  Jim Meyering  <meyering@redhat.com>
75310         bootstrap: merge changes from coreutils
75311         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
75312         of copied files.  Remove a kludge, now that this is fixed.
75313         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
75314         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
75315         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
75317 2008-08-29  Bruno Haible  <bruno@clisp.org>
75319         * MODULES.html.sh: Remove --cvs-urls option.
75321 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
75323         maint.mk: adjust to file name change
75324         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
75326 2008-08-28  Jim Meyering  <meyering@redhat.com>
75328         * modules/getndelim2 (License): Relicense to LGPLv2+.
75329         Approved by Richard Stallman for the version of 1995, and by
75330         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
75332 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
75334         * lib/getdelim.c (flockfile, funlockfile): Make all of them
75335         dummy if one is not available.  Do not touch them if
75336         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
75337         (getc_maybe_unlocked): New.
75338         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
75340 2008-08-26  Eric Blake  <ebb9@byu.net>
75342         doc/INSTALL: resync from autoconf
75343         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
75344         (INSTALL_PRELUDE): Delete; this is done more efficiently by
75345         moving...
75346         * install.texi [!autoconf]: ...here.  Resync from autoconf.
75347         * INSTALL: Regenerate.
75348         * INSTALL.ISO: New file.
75349         * INSTALL.UTF-8: Likewise.
75351 2008-08-26  Jim Meyering  <meyering@redhat.com>
75353         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
75354         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
75355         these definitions conditional, so that they may be overridden, too.
75357 2008-08-26  Bruno Haible  <bruno@clisp.org>
75359         Generate INSTALL file variants with prettier quotes.
75360         * doc/Makefile (INSTALL_PRELUDE): New macro.
75361         (INSTALL): Use it.
75362         (INSTALL.ISO, INSTALL.UTF-8): New rules.
75364 2008-08-26  Bruno Haible  <bruno@clisp.org>
75366         Run makeinfo in an English locale.
75367         * doc/Makefile (MAKEINFO): New variable.
75369 2008-08-26  Bruno Haible  <bruno@clisp.org>
75371         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
75372         Suggested by Eric Blake.
75374 2008-08-25  Bruno Haible  <bruno@clisp.org>
75376         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
75378 2008-08-25  Eric Blake  <ebb9@byu.net>
75380         c-stack: test that stack overflow can be caught
75381         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
75382         that platform allows handling stack overflow; at least OS/2 EMX
75383         has sigaltstack, but crashes before transferring control to
75384         handler on stack overflow.
75385         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
75386         check for HAVE_STACK_OVERFLOW_HANDLING.
75387         Reported by Elbert Pol.
75389 2008-08-25  Bruno Haible  <bruno@clisp.org>
75391         * doc/posix-functions/strftime.texi: Fix description of strftime
75392         module.
75394 2008-08-24  Bruno Haible  <bruno@clisp.org>
75396         * tests/uniwidth/test-uc_width2.c: New file.
75397         * tests/uniwidth/test-uc_width2.sh: New file.
75398         * modules/uniwidth/width-tests (Files): Add the new files.
75399         (TESTS): Add uniwidth/test-uc_width2.sh.
75400         (TESTS_ENVIRONMENT): New variable.
75401         (check_PROGRAMS): Add test-uc_width2.
75402         (test_uc_width2_SOURCES): New variable.
75404         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
75405         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
75406         not 0x00AB.
75407         Reported by Alexander V. Lukyanov <lav@netis.ru>.
75409 2008-08-22  Eric Blake  <ebb9@byu.net>
75411         test-lock, test-tls: mention why a test is skipped
75412         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
75413         skipped.
75414         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
75416         count-one-bits: relax license
75417         * modules/count-one-bits (License): Relicense to LGPLv2+.
75418         Suggested by Ludovic Courtès, approved by Ben Pfaff.
75420 2008-08-22  Andreas Schwab  <schwab@suse.de>
75422         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
75423         Remove spurious space in assignment.
75425 2008-08-21  Simon Josefsson  <simon@josefsson.org>
75427         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
75428         Paul Eggert <eggert@CS.UCLA.EDU>.
75430 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
75432         * modules/gettext: Add m4/threadlib.m4.
75434 2008-08-19  Eric Blake  <ebb9@byu.net>
75436         test-c-stack: fix compilation failure on FreeBSD 5.0
75437         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
75438         headers before <sys/resource.h>.
75439         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
75440         the bug.
75441         Reported by Nelson H. F. Beebe.
75443         strverscmp: migrate from "strverscmp.h" to <string.h>
75444         * modules/string (Makefile.am): Add new hooks.
75445         * modules/strverscmp (Files): Remove strverscmp.h.
75446         (Depends-on): Add string.
75447         (configure.ac): Add indicator.
75448         (Include): Mention new header.
75449         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
75450         defaults.
75451         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
75452         results.
75453         * lib/strverscmp.h: Delete.
75454         * lib/string.in.h (strverscmp): Provide declaration, when needed.
75455         * tests/test-strverscmp.c (includes): Adjust client.
75456         * lib/check-version.c (includes): Likewise.
75457         * NEWS: Document the change.
75459         strverscmp: add unit test
75460         * modules/strverscmp-tests: New file.
75461         * tests/test-strverscmp.c: Likewise.
75463 2008-08-19  Simon Josefsson  <simon@josefsson.org>
75465         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
75466         regarding Windows crypto stuff, from Mono.
75468 2008-08-19  Adam Strzelecki  <ono@java.pl>  (tiny change)
75470         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
75471         if present, for intel RND.  Return error on failures.
75473 2008-08-18  Ben Pfaff  <blp@gnu.org>
75475         gitlog-to-changelog: give better diagnostic for failed pipe-open
75476         * build-aux/gitlog-to-changelog: Improve error message: suggest
75477         that the version of Git may be too old.
75479 2008-08-18  Simon Josefsson  <simon@josefsson.org>
75481         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
75482         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
75484 2008-08-18  Bruno Haible  <bruno@clisp.org>
75486         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
75487         pthread_in_use().
75489 2008-08-18  Bruno Haible  <bruno@clisp.org>
75491         * lib/glthread/threadlib.c: Include <pthread.h>.
75493 2008-08-18  Bruno Haible  <bruno@clisp.org>
75495         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
75496         glthread_recursive_lock_* macros.
75497         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
75498         Fix syntax error.
75500 2008-08-18  Bruno Haible  <bruno@clisp.org>
75502         * lib/glthread/thread.c: Avoid forcing a context switch right after
75503         thread creation.
75505 2008-08-17  Bruno Haible  <bruno@clisp.org>
75507         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
75508         * lib/glthread/thread.h: Provide Win32 specific implementation.
75509         * modules/thread (Files): Add lib/glthread/thread.c.
75510         (Depends-on): Add lock.
75511         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
75513 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75515         New module 'yield'.
75516         * modules/yield: New file.
75517         * lib/glthread/yield.h: New file.
75518         * m4/yield.m4: New file.
75519         * MODULES.html.sh (Multithreading): Add yield.
75521 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75523         New module 'thread'.
75524         * modules/thread: New file.
75525         * lib/glthread/thread.h: New file.
75526         * m4/thread.m4: New file.
75527         * MODULES.html.sh (Multithreading): Add thread.
75529 2008-08-17  Bruno Haible  <bruno@clisp.org>
75531         * lib/glthread/lock.h: Include <stdlib.h> always.
75532         * lib/glthread/tls.h: Likewise.
75533         * lib/glthread/cond.h: Likewise.
75535 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75537         New module 'cond'.
75538         * modules/cond: New file.
75539         * lib/glthread/cond.h: New file.
75540         * lib/glthread/cond.c: New file.
75541         * m4/cond.m4: New file.
75542         * MODULES.html.sh (Multithreading): Add cond.
75544 2008-08-16  Eric Blake  <ebb9@byu.net>
75546         c-stack: fix regression on Irix 5.3 from 2008-06-21
75547         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
75548         sa_sigaction...
75549         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
75550         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
75551         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
75552         * modules/signal (Makefile.am): Use the value.
75553         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
75554         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
75555         * doc/posix-headers/signal.texi (signal.h): Document this
75556         portability issue.
75557         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
75558         Reported by Tom G. Christensen.
75560 2008-08-17  Bruno Haible  <bruno@clisp.org>
75562         New module 'threadlib'.
75563         * modules/threadlib: New file.
75564         * lib/glthread/threadlib.c: New file, extracted from
75565         lib/glthread/lock.c.
75566         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
75567         functions.
75568         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
75569         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
75570         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
75571         macros.
75572         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
75573         (gl_DISABLE_THREADS): Remove macro.
75574         * modules/lock (Files): Remove build-aux/config.rpath.
75575         (Depends-on): Remove havelib. Add threadlib.
75576         (configure.ac-early): Remove section.
75577         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
75578         * modules/tls (Depends-on): Remove lock. Add threadlib.
75579         (Link): New section, copied from threadlib.
75580         * MODULES.html.sh (Multithreading): Add threadlib.
75582 2008-08-14  Bruno Haible  <bruno@clisp.org>
75584         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
75585         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
75586         glthread_rwlock_unlock, glthread_rwlock_destroy,
75587         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
75588         glthread_recursive_lock_destroy): Define as macros always.
75589         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
75590         glthread_lock_lock.
75591         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
75592         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
75593         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
75594         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
75595         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
75596         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
75597         (glthread_recursive_lock_lock_func): Renamed from
75598         glthread_recursive_lock_lock.
75599         (glthread_recursive_lock_unlock_func): Renamed from
75600         glthread_recursive_lock_unlock.
75601         (glthread_recursive_lock_destroy_func): Renamed from
75602         glthread_recursive_lock_destroy.
75604 2008-08-14  Bruno Haible  <bruno@clisp.org>
75606         * lib/glthread/lock.h: Renamed from lib/lock.h.
75607         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
75608         * lib/glthread/tls.h: Renamed from lib/tls.h.
75609         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
75610         * lib/fstrcmp.c: Update includes.
75611         * lib/strsignal.c: Update includes.
75612         * modules/lock (Files, Makefile.am): Update.
75613         (Include): Change to "glthread/lock.h".
75614         * modules/tls (Files, Makefile.am): Update.
75615         (Include): Change to "glthread/tls.h".
75616         * tests/test-lock.c: Update includes.
75617         * tests/test-tls.c: Update includes.
75618         * NEWS: Mention the renamed header files.
75620 2008-08-11  Jim Meyering  <meyering@redhat.com>
75622         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
75624 2008-08-11  Eric Blake  <ebb9@byu.net>
75626         test-c-stack: avoid C99-ism
75627         * tests/test-c-stack.c (main): Fix whitespace, move declaration
75628         before statement.
75629         Reported by Alain Guibert.
75631 2008-08-10  Jim Meyering  <meyering@redhat.com>
75633         ensure that return value of uinttostr et al are not ignored
75634         * lib/inttostr.h (__GNUC_PREREQ): Define.
75635         (__attribute_warn_unused_result__): Define.
75636         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
75638 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
75640         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
75641         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
75643 2008-08-07  Jim Meyering  <meyering@redhat.com>
75645         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
75647         * modules/mkstemp (License): Relicense under LGPLv2+.
75648         * modules/tempname (License): Likewise.
75650 2008-08-06  Bruno Haible  <bruno@clisp.org>
75652         * lib/poll.c (poll): Further micro-optimization.
75654 2008-08-06  Jim Meyering  <meyering@redhat.com>
75656         inet_pton.c: use locale-independent tolower
75657         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
75658         (inet_pton6): Use c_tolower rather than tolower.
75659         * modules/inet_pton (Depends-on): Add c-ctype.
75661 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
75663         * lib/poll.c (poll): Avoid division when timeout is 0, cache
75664         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
75666 2008-08-06  Jim Meyering  <meyering@redhat.com>
75668         * modules/inet_pton (License): Relicense under LGPLv2+.
75670 2008-08-03  Bruno Haible  <bruno@clisp.org>
75672         Additional non-aborting API for lock and tls.
75673         * lib/lock.h: Include <errno.h>.
75674         (glthread_lock_init): New macro/function.
75675         (gl_lock_init): Define as wrapper around glthread_lock_init.
75676         (glthread_lock_lock): New macro/function.
75677         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
75678         (glthread_lock_unlock): New macro/function.
75679         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
75680         (glthread_lock_destroy): New macro/function.
75681         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
75682         (glthread_rwlock_init): New macro/function.
75683         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
75684         (glthread_rwlock_rdlock): New macro/function.
75685         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
75686         (glthread_rwlock_wrlock): New macro/function.
75687         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
75688         (glthread_rwlock_unlock): New macro/function.
75689         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
75690         (glthread_rwlock_destroy): New macro/function.
75691         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
75692         (glthread_recursive_lock_init): New macro/function.
75693         (gl_recursive_lock_init): Define as wrapper around
75694         glthread_recursive_lock_init.
75695         (glthread_recursive_lock_lock): New macro/function.
75696         (gl_recursive_lock_lock): Define as wrapper around
75697         glthread_recursive_lock_lock.
75698         (glthread_recursive_lock_unlock): New macro/function.
75699         (gl_recursive_lock_unlock): Define as wrapper around
75700         glthread_recursive_lock_unlock.
75701         (glthread_recursive_lock_destroy): New macro/function.
75702         (gl_recursive_lock_destroy): Define as wrapper around
75703         glthread_recursive_lock_destroy.
75704         (glthread_once): New macro/function.
75705         (gl_once): Define as wrapper around glthread_once.
75706         Update function declarations.
75707         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
75708         glthread_rwlock_init. Return error code.
75709         (glthread_rwlock_rdlock_multithreaded): Renamed from
75710         glthread_rwlock_rdlock. Return error code.
75711         (glthread_rwlock_wrlock_multithreaded): Renamed from
75712         glthread_rwlock_wrlock. Return error code.
75713         (glthread_rwlock_unlock_multithreaded): Renamed from
75714         glthread_rwlock_unlock. Return error code.
75715         (glthread_rwlock_destroy_multithreaded): Renamed from
75716         glthread_rwlock_destroy. Return error code.
75717         (glthread_recursive_lock_init_multithreaded): Renamed from
75718         glthread_recursive_lock_init. Return error code.
75719         (glthread_recursive_lock_lock_multithreaded): Renamed from
75720         glthread_recursive_lock_lock. Return error code.
75721         (glthread_recursive_lock_unlock_multithreaded): Renamed from
75722         glthread_recursive_lock_unlock. Return error code.
75723         (glthread_recursive_lock_destroy_multithreaded): Renamed from
75724         glthread_recursive_lock_destroy. Return error code.
75725         (glthread_once_call): Make static.
75726         (glthread_once_multithreaded): Renamed from glthread_once.
75727         * lib/tls.h: Include <errno.h>.
75728         (glthread_tls_key_init): New macro/function.
75729         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
75730         (glthread_tls_set): New macro/function.
75731         (gl_tls_set): Define as wrapper around glthread_tls_set.
75732         (glthread_tls_key_destroy): New macro/function.
75733         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
75734         Update function declarations.
75735         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
75736         glthread_tls_get.
75737         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
75739 2008-08-04  Eric Blake  <ebb9@byu.net>
75741         gnumakefile: use space, not TAB, outside of targets
75742         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
75744 2008-08-02  Jim Meyering  <meyering@redhat.com>
75746         getdate.y: avoid locale-dependent date parsing failure
75747         In Turkish locales, getdate would fail to recognize keywords
75748         containing a lowercase "i".  The solution is not to rely on
75749         locale-sensitive case-conversion.
75750         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
75751         (lookup_word): Use c_toupper in place of toupper.
75752         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
75753         Reported by Vefa Bicakci <bicave@superonline.com> in
75754         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
75755         * modules/getdate (Depends-on): Add c-ctype.
75757 2008-08-02  Bruno Haible  <bruno@clisp.org>
75759         * gnulib-tool (func_import): When updating or creating a .gitignore
75760         file, prepend each added line with a slash, and ignore leading slashes
75761         from the existing lines.
75762         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
75764 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75766         Portability fix for GNU make 3.79.1.
75767         * top/GNUmakefile: Avoid 'else COND', which older GNU make
75768         versions do not understand.
75770 2008-08-01  Bruno Haible  <bruno@clisp.org>
75772         Work around bug of HP-UX 10.20 cc with -0.0 literal.
75773         * tests/test-isnanf.h (zero): New variable.
75774         (main): Avoid literal -0.0f.
75775         * tests/test-isnand.h (zero): New variable.
75776         (main): Avoid literal -0.0.
75777         * tests/test-isnanl.h (zero): New variable.
75778         (main): Avoid literal -0.0L.
75779         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
75780         (test_float, test_double, test_long_double): Avoid literals -0.0f,
75781         -0.0, -0.0L.
75782         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
75783         (test_signbitd): Avoid literal -0.0.
75784         (test_signbitl): Avoid literal -0.0L.
75785         * tests/test-ceilf1.c (zero): New variable.
75786         (main): Avoid literal -0.0f.
75787         * tests/test-ceill.c (zero): New variable.
75788         (main): Avoid literal -0.0L.
75789         * tests/test-floorf1.c (zero): New variable.
75790         (main): Avoid literal -0.0f.
75791         * tests/test-floorl.c (zero): New variable.
75792         (main): Avoid literal -0.0L.
75793         * tests/test-roundf1.c (zero): New variable.
75794         (main): Avoid literal -0.0f.
75795         * tests/test-round1.c (zero): New variable.
75796         (main): Avoid literal -0.0.
75797         * tests/test-roundl.c (zero): New variable.
75798         (main): Avoid literal -0.0L.
75799         * tests/test-truncf1.c (zero): New variable.
75800         (main): Avoid literal -0.0f.
75801         * tests/test-trunc1.c (zero): New variable.
75802         (main): Avoid literal -0.0.
75803         * tests/test-truncl.c (zero): New variable.
75804         (main): Avoid literal -0.0L.
75805         * tests/test-frexp.c (zero): New variable.
75806         (main): Avoid literal -0.0.
75807         * tests/test-frexpl.c (zero): New variable.
75808         (main): Avoid literal -0.0L.
75809         * tests/test-ldexpl.c (zero): New variable.
75810         (main): Avoid literal -0.0L.
75811         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
75812         (zerod, zerol): New variables.
75813         (test_function): Avoid literals -0.0, -0.0L.
75814         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
75815         (zerod, zerol): New variables.
75816         (test_function): Avoid literals -0.0, -0.0L.
75817         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
75818         (zerod, zerol): New variables.
75819         (test_function): Avoid literals -0.0, -0.0L.
75820         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
75821         (zerod, zerol): New variables.
75822         (test_function): Avoid literals -0.0, -0.0L.
75823         * tests/test-strtod.c (zero): New variable.
75824         (main): Avoid literal -0.0.
75825         Reported by Jonathan C. Patschke <jp@centtech.com>.
75827 2008-07-31  Jim Meyering  <meyering@redhat.com>
75829         sha256.h: correct definition of SHA224_DIGEST_SIZE
75830         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
75831         Reported by Paulie Pena IV <paulie4@gmail.com>.
75832         Define as 224 / 8, rather than as a literal.
75833         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
75834         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
75835         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
75837 2008-07-31  Bruno Haible  <bruno@clisp.org>
75839         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
75840         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
75841         Reported by Jonathan Patschke <jp@centtech.com>.
75843 2008-07-31  Bruno Haible  <bruno@clisp.org>
75845         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
75846         Reported by Paolo Bonzini <bonzini@gnu.org>.
75848 2008-07-30  Eric Blake  <ebb9@byu.net>
75850         test-strtod: allow compilation without -lm
75851         * tests/test-strtod.c (main): Avoid link dependence on fabs.
75852         Reported by Dennis Clarke <blastwave@gmail.com>.
75854 2008-07-28  Jim Meyering  <meyering@redhat.com>
75856         bootstrap: work also when there are no .po files in po/
75857         * build-aux/bootstrap (update_po_files): Complete the change
75858         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
75860 2008-07-27  Jim Meyering  <meyering@redhat.com>
75862         * users.txt: Add zile.
75864 2008-07-26  Ben Pfaff  <blp@gnu.org>
75866         Add missing dependencies on new m4/exponent[fdl].m4 files.
75867         * modules/isnanf-nolibm: Add m4/exponentf.m4.
75868         * modules/isnand-nolibm: Add m4/exponentd.m4.
75869         * modules/isnanl-nolibm: Add m4/exponentl.m4.
75870         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
75871         m4/isnan[fdl].m4, because the macros actually used moved.
75872         Reported by Jim Meyering.
75874 2008-07-14  Ben Pfaff  <blp@gnu.org>
75876         Add isinf module.
75877         * lib/isinf.c: New file.
75878         * lib/math.in.h: Define isinf macro if we have decided to replace
75879         it.
75880         * m4/isinf.m4: New file.
75881         * m4/math_h.m4: Initialize and substitute variables for isinf
75882         module.
75883         * modules/isinf: New file.
75884         * modules/isinf-tests: New file.
75885         * modules/math: Add substitutions for new module.
75886         * tests/test-isinf.c: New file.
75887         * doc/posix-functions/isinf.texi: Mention new module.
75888         * MODULES.html.sh: Mention new module.
75890 2008-07-14  Ben Pfaff  <blp@gnu.org>
75892         Factor out some macros for use by additional modules.
75893         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
75894         exponentf.m4.
75895         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
75896         exponentd.m4.
75897         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
75898         file exponentl.m4.
75899         * m4/exponentf.m4: New file.
75900         * m4/exponentd.m4: New file.
75901         * m4/exponentl.m4: New file.
75902         * modules/isnanf: Use new file m4/exponentf.m4.
75903         * modules/isnand: Use new file m4/exponentd.m4.
75904         * modules/isnanl: Use new file m4/exponentl.m4.
75906 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
75908         mktime.c: normalize tp->tm_isdst value to -1/0/1.
75909         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
75910         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
75911         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
75913         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
75914         readlink on platforms without PATH_MAX.
75916 2008-07-21  Eric Blake  <ebb9@byu.net>
75918         Warn, not fail, on stale version.
75919         * top/GNUmakefile (_curr-ver): Tone down previous patch.
75921         Don't allow installation with stale devel version number.
75922         * top/GNUmakefile (_is-install-target): New macro.
75923         (_curr-ver): Forbid installation with stale version number.
75925 2008-07-20  Bruno Haible  <bruno@clisp.org>
75927         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
75928         TESTS_ENVIRONMENT.
75929         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
75931 2008-07-20  Bruno Haible  <bruno@clisp.org>
75933         * lib/c-stack.h (c_stack_action): Add documentation.
75934         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
75936 2008-07-20  Bruno Haible  <bruno@clisp.org>
75938         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
75939         * modules/readlink (License): Likewise.
75941 2008-07-17  Eric Blake  <ebb9@byu.net>
75943         * modules/c-stack (Link): Fix typo.
75945         Make c-stack use libsigsegv, when available.
75946         * modules/c-stack (Depends-on): Add libsigsegv.
75947         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
75948         needed.
75949         * lib/c-stack.c (SIGSTKSZ): Define fallback.
75950         (segv_handler, overflow_handler, c_stack_action)
75951         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
75952         implementation when libsigsegv is available, but only when using
75953         the library is necessary.
75954         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
75955         comment, explaining why XSI check fails on Linux.
75956         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
75957         * tests/test-c-stack2.sh: Tweak skip message.
75958         * NEWS: Document new link-time requirements.
75960 2008-07-16  Eric Blake  <ebb9@byu.net>
75962         c-stack: Expose false positives when not using libsigsegv.
75963         * modules/c-stack-tests (Files): Expand test.
75964         * tests/test-c-stack.c (main): Add means to conditionally trigger
75965         non-overflow SIGSEGV.
75966         * tests/test-c-stack2.sh: New file.
75968 2008-07-14  Bruno Haible  <bruno@clisp.org>
75970         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
75971         Reported by Eric Blake.
75973 2008-07-14  Sam Steingold  <sds@gnu.org>
75974             Bruno Haible  <bruno@clisp.org>
75976         New module libsigsegv.
75977         * modules/libsigsegv: New file.
75978         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
75979         modifications.
75980         * MODULES.html.sh (Signal handling): New section.
75982 2008-07-14  Bruno Haible  <bruno@clisp.org>
75984         * modules/unictype/ctype-* (Description): Add the word "function".
75985         Improves the resulting doc in MODULES.html.
75987 2008-07-12  Ben Pfaff  <blp@gnu.org>
75989         Add longlong module.
75990         * modules/longlong: New file.
75992 2008-07-12  Bruno Haible  <bruno@clisp.org>
75994         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
75995         to empty.
75997 2008-07-10  Ben Pfaff  <blp@gnu.org>
75999         Add isnan module.
76000         * doc/posix-functions/isnan.texi: Mention new module.
76001         * lib/math.in.h: Define isnan macro if we have decided to replace
76002         it.
76003         * m4/isnan.m4: New file.
76004         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
76005         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
76006         also.
76007         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
76008         redundancy.
76009         * m4/math_h.m4: Initialize and substitute variables for isnan
76010         module.
76011         * modules/isnan: New file.
76012         * modules/isnan-tests: New file.
76013         * modules/math: Add substitutions for new module.
76014         * tests/test-isnan.c: New file.
76015         * MODULES.html.sh: Mention new module.
76017 2008-07-10  Ben Pfaff  <blp@gnu.org>
76019         Add isnanf module.
76020         * lib/isnanf.m4: New file.
76021         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
76022         (gl_HAVE_ISNANF_IN_LIBM): New macro.
76023         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
76024         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
76025         * modules/isnanf: New file.
76026         * modules/isnanf-tests: New file.
76027         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
76028         files.
76029         * tests/test-isnanf-nolibm.c: factored most of its contents into
76030         new file tests/test-isnanf.h.
76031         * tests/test-isnanf.h: New file.
76032         * tests/test-isnanf.c: New file.
76033         * MODULES.html.sh: Mention new module.
76034         * doc/glibc-functions/isnanf.texi: Mention new module.
76036 2008-07-10  Ben Pfaff  <blp@gnu.org>
76038         Add isnand module.
76039         * lib/isnand.h: New file.
76040         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
76041         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
76042         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
76043         functionality also.
76044         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
76045         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
76046         (gl_HAVE_ISNAND_IN_LIBM): New macro.
76047         * modules/isnand: New file.
76048         * modules/isnand-tests: New file.
76049         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
76050         files.
76051         * tests/test-isnand-nolibm.c: factored most of its contents into
76052         new file tests/test-isnand.h.
76053         * tests/test-isnand.h: New file.
76054         * tests/test-isnand.c: New file.
76055         * MODULES.html.sh: Mention new module.
76057 2008-07-10  Ben Pfaff  <blp@gnu.org>
76059         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
76060         * lib/isnand.h: Rename lib/isnand-nolibm.h.
76061         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
76062         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
76063         * modules/isnanf-nolibm: Update references to renamed files.
76064         * modules/isnand-nolibm: Likewise.
76065         * modules/isnanf-nolibm-tests: Likewise.
76066         * modules/isnand-nolibm-tests: Likewise.
76067         * lib/frexp.c: Likewise.
76068         * lib/isfinite.c: Likewise.
76069         * lib/signbitd.c: Likewise.
76070         * lib/signbitf.c: Likewise.
76071         * lib/vasnprintf.c: Likewise.
76072         * tests/test-ceilf1.c: Likewise.
76073         * tests/test-ceilf2.c: Likewise.
76074         * tests/test-floorf1.c: Likewise.
76075         * tests/test-floorf2.c: Likewise.
76076         * tests/test-frexp.c: Likewise.
76077         * tests/test-round1.c: Likewise.
76078         * tests/test-round2.c: Likewise.
76079         * tests/test-roundf1.c: Likewise.
76080         * tests/test-strtod.c: Likewise.
76081         * tests/test-trunc1.c: Likewise.
76082         * tests/test-trunc2.c: Likewise.
76083         * tests/test-truncf1.c: Likewise.
76084         * tests/test-truncf2.c: Likewise.
76085         * NEWS: Mention the renamed header files.
76087 2008-07-11  Jim Meyering  <meyering@redhat.com>
76089         vc-list-files: make the last-resort awk code more portable
76090         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
76091         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
76092         does not support it.
76094 2008-07-10  Eric Blake  <ebb9@byu.net>
76096         Work with tar's bootstrap.
76097         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
76098         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
76099         an m4 comment.
76101 2008-07-09  Jim Meyering  <meyering@redhat.com>
76103         posix-shell.m4: fix typo that made this test malfunction
76104         * m4/posix-shell.m4: Remove capitalization in variable name.
76106 2008-07-08  Bruno Haible  <bruno@clisp.org>
76108         * m4/onceonly.m4: Update comments.
76109         Reported by Ben Pfaff <blp@cs.stanford.edu>.
76111 2008-07-04  Jim Meyering  <meyering@redhat.com>
76113         * users.txt: Add vc-dwim.
76114         (bison, coreutils): Use the gitweb URL.
76116 2008-07-03  Jim Meyering  <meyering@redhat.com>
76118         * users.txt: Add libffcall.  From Sam Steingold.
76120 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
76122         getdate.y: do not ignore TZ with relative day, month or year offset
76123         * lib/getdate.y (get_date): Move the tz-handling block to follow the
76124         relative-date-handling, since otherwise, the latter would clobber the
76125         sole output (an updated Start value) of the tz-handling block.
76126         * tests/test-getdate.c: Tests for the fix
76128 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76130         Recognize 'foo_LIBRARIES += libgnu.a'.
76131         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
76132         makefile snippet has already specified an installation location,
76133         also using '+='.
76135 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
76137         getdate.y: factor out common actions
76138         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
76139         Use them in place of open-coded actions.
76141 2008-07-01  Simon Josefsson  <simon@josefsson.org>
76143         Add self-test for getdate module.
76144         * modules/getdate-tests: New file.
76145         * tests/test-getdate.c: New file.
76147 2008-06-29  Bruno Haible  <bruno@clisp.org>
76149         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
76150         .gitignore.
76151         Reported by Sylvain Beucler <beuc@beuc.net>.
76153 2008-06-29  Bruno Haible  <bruno@clisp.org>
76155         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
76156         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
76158 2008-06-29  Bruno Haible  <bruno@clisp.org>
76160         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
76161         EXTRA_DIST.
76162         Reported by Sylvain Beucler <beuc@beuc.net>.
76164 2008-06-26  Jim Meyering  <meyering@redhat.com>
76166         make several modules depend on the "open" module
76167         This provides slightly increased consistency when opening-for-write
76168         the name of a non-directory spelled with a trailing slash.
76169         * modules/chdir-safer: Likewise.
76170         * modules/chown: Likewise.
76171         * modules/clean-temp: Likewise.
76172         * modules/copy-file: Likewise.
76173         * modules/fchdir: Likewise.
76174         * modules/fcntl-safer: Likewise.
76175         * modules/pipe: Likewise.
76176         * modules/utime: Likewise.
76177         Prompted by Eric Blake and Bruno Haible.
76179 2008-06-24  Andreas Schwab  <schwab@suse.de>
76181         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
76182         literals can be used as initializers for global variables.
76184 2008-06-23  Eric Blake  <ebb9@byu.net>
76186         Make gnulib-cache.m4 easier to diff.
76187         * gnulib-tool (func_import): Allow newlines when reading cached
76188         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
76190 2008-06-23  Bruno Haible  <bruno@clisp.org>
76192         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
76193         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
76194         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
76195         m4/signalblocking.m4.
76196         (gl_PREREQ_SIGACTION): Don't invoke it.
76197         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
76198         gl_PREREQ_SIG_HANDLER_H.
76199         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
76200         Don't check for sigaction here.
76202 2008-06-23  Bruno Haible  <bruno@clisp.org>
76204         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
76205         (install_handlers): Don't set the SA_RESETHAND flag.
76207 2008-06-23  Bruno Haible  <bruno@clisp.org>
76209         * m4/sigaction.m4: Comment fixes.
76210         * lib/signal.in.h: Likewise.
76212 2008-06-23  Eric Blake  <ebb9@byu.net>
76214         Fix typo.
76215         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
76217         Avoid SA_ namespace.
76218         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
76219         Reported by Ralf Wildenhues.
76221         Avoid test failure due to SA_RESTORER.
76222         * tests/test-sigaction.c (SA_MASK): New macro.
76223         (main): Avoid failing due to extension flags being set.
76224         Reported by Jim Meyering.
76226         Revert use of sig-handler.h in sigprocmask.c.
76227         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
76228         it requires the existence of struct sigaction.
76229         * lib/sigprocmask.c (handler_t): Restore typedef.
76230         (rpl_signal, old_handlers): Use local type.
76232 2008-06-22  Bruno Haible  <bruno@clisp.org>
76234         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
76235         conditionally.
76236         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
76238 2008-06-22  Bruno Haible  <bruno@clisp.org>
76240         * doc/posix-functions/siginterrupt.texi: Move note.
76242         * lib/signal.in.h (SA_RESTART): New macro.
76243         * lib/sigaction.c: Update comment.
76245         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
76247         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
76248         (gl_PREREQ_SIGPROCMASK): Invoke it.
76249         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
76251         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
76253         * lib/sigprocmask.c: Update a comment.
76255 2008-06-21  Eric Blake  <ebb9@byu.net>
76257         Use sigaction module rather than signal().
76258         * modules/c-stack (Depends-on): Add sigaction.
76259         * modules/fatal-signal (Depends-on): Likewise.
76260         * modules/nanosleep (Depends-on): Likewise.
76261         * modules/sigprocmask (Files): Add sig-handler.h.
76262         * modules/sigaction (Files): Likewise.
76263         * lib/sig-handler.h (get_handler): New file, suggested by Paul
76264         Eggert.
76265         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
76266         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
76267         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
76268         (init_fatal_signals): Likewise.
76269         * lib/nanosleep.c (rpl_nanosleep): Likewise.
76270         (siginterrupt): Delete fallback.
76271         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
76272         instead.
76273         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
76274         siginterrupt.
76276         New module sigaction, for mingw.
76277         * modules/sigaction: New module...
76278         * modules/sigaction-tests: ...and its test.
76279         * m4/sigaction.m4: New file.
76280         * lib/sigaction.c: Likewise.
76281         * tests/test-sigaction.c: Likewise.
76282         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
76283         * modules/signal (Makefile.am): Likewise.
76284         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
76285         needed.
76286         * doc/posix-headers/signal.texi (signal.h): Mention provided
76287         types.
76288         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
76289         that sigaction is preferable.
76290         * doc/posix-functions/sigaction.texi (sigaction): Mention new
76291         module.
76292         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
76293         sigaction.
76295         Improve robustness of sigprocmask by overriding signal.
76296         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
76297         is in use.
76298         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
76299         (SIGKILL, SIGSTOP): Provide fallbacks.
76300         (rpl_signal): Implement.
76301         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
76302         signal can be called inside handlers.
76304         Fix nanosleep module on mingw.
76305         * modules/nanosleep (Depends-on): Add sys_select.
76306         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
76308         Fix licensing of sigprocmask.
76309         * modules/raise (License): Relicense as LGPL.
76311 2008-06-21  Bruno Haible  <bruno@clisp.org>
76313         * lib/propername.c (proper_name_utf8): Don't use the transliterated
76314         result if it contains question marks.
76315         Reported by Michael Geng <linux@michaelgeng.de>.
76317 2008-06-19  Bruno Haible  <bruno@clisp.org>
76319         Fix CVS-ism.
76320         * doc/gnulib.texi: Include updated-stamp.texi.
76321         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
76322         (updated-stamp.texi): New rule.
76323         (gnulib.info): Depend on it.
76324         * doc/.gitignore: Add updated-stamp.texi.
76325         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
76327 2008-06-19  Bruno Haible  <bruno@clisp.org>
76329         * doc/Makefile (gnulib.info): Update and simplify dependencies.
76330         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
76332 2008-06-19  Eric Blake  <ebb9@byu.net>
76334         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
76335         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
76336         Reported by Stepan Kasal.
76338 2008-06-18  Bruno Haible  <bruno@clisp.org>
76340         * lib/fatal-signal.c (init_fatal_signals): Add comment.
76341         Reported by Eric Blake.
76343 2008-06-18  Eric Blake  <ebb9@byu.net>
76345         Work around cygwin 1.5.25 strsignal bug.
76346         * tests/test-strsignal.c: Allow for const char *.
76347         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
76349 2008-06-18  Simon Josefsson  <simon@josefsson.org>
76351         * users.txt: Update URL to article and add author/date
76352         information.
76354 2008-06-17  Bruno Haible  <bruno@clisp.org>
76356         New macro gl_DISABLE_THREADS.
76357         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
76358         if the user did not pass --enable-threads or --disable-threads option.
76359         (gl_DISABLE_THREADS): New macro.
76360         Reported by Eric Blake <ebb9@byu.net>.
76362 2008-06-17  Bruno Haible  <bruno@clisp.org>
76364         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
76365         when the macro ignores it.
76366         Based on a patch by Eric Blake <ebb9@byu.net>.
76368 2008-06-17  Bruno Haible  <bruno@clisp.org>
76370         * modules/tls (License): Change to LGPLv2+.
76371         Reported by Eric Blake.
76373 2008-06-17  Eric Blake  <ebb9@byu.net>
76375         Simplify c-stack prerequisites.
76376         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
76377         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
76378         no longer requires <ucontext.h> to exist.  Optimize setrlimit
76379         check.
76380         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
76381         <sys/resource.h>.
76383         Move c-stack test into testsuite.
76384         * modules/c-stack-tests: New file.
76385         * lib/c-stack.c [DEBUG]: Move test program...
76386         * tests/test-c-stack.c: ...into this new file.  Skip rather than
76387         fail test if sigaltstack is lacking.
76388         * tests/test-c-stack.sh: New driver file.
76390 2008-06-16  Eric Blake  <ebb9@byu.net>
76392         Use raise module consistently.
76393         * modules/fatal-signal (Depends-on): Add raise.
76394         * modules/sigprocmask (Depends-on): Likewise.
76395         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
76396         * lib/sigprocmask.c (sigprocmask): Likewise.
76397         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
76398         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
76400         Fix compliance bug in sigpending.
76401         * lib/sigprocmask.c (sigpending): Return pending array via
76402         parameter, not return value.
76404 2008-06-14  Eric Blake  <ebb9@byu.net>
76406         Improve obstack-printf test code.
76407         * tests/test-obstack-printf.c (test_function): Fix comment, and
76408         simplify usage of obstack_* in macros.  Add a test for coverage.
76409         Reported by Bruno Haible.
76411 2008-06-14  Bruno Haible  <bruno@clisp.org>
76413         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
76414         array size as a constant, not as a const variable.
76415         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
76416         AC_USE_SYSTEM_EXTENSIONS.
76417         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
76418         Test whether the obstack_printf function actually exists.
76419         * modules/obstack-printf (Depends-on): Add extensions.
76420         (Include): Remove obstack.h.
76421         * modules/obstack-printf-posix (Depends-on): Add extensions.
76422         (Include): Remove obstack.h.
76424 2008-06-13  Eric Blake  <ebb9@byu.net>
76426         Add obstack-printf and obstack-printf-posix modules.
76427         * modules/obstack-printf: New file.
76428         * modules/obstack-printf-posix: Likewise.
76429         * MODULES.html.sh (Misc): Mention them.
76430         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
76431         Likewise.
76432         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
76433         Likewise.
76434         * modules/stdio (Makefile.am): Accomodate new modules.
76435         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
76436         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
76437         Declare.
76438         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
76439         functions.
76440         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
76441         (gl_REPLACE_OBSTACK_PRINTF): New macros
76442         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
76443         * tests/test-obstack-printf.c: New file.
76444         * modules/obstack-printf-tests: Likewise.
76445         * modules/obstack-printf-posix-tests: Likewise.
76447 2008-06-11  Bruno Haible  <bruno@clisp.org>
76449         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
76450         * lib/open.c: Include errno.h.
76451         (open): Fail when attempting to write to a file that has a trailing
76452         slash.
76453         * tests/test-open.c (main): Test against trailing slash bug.
76454         * doc/posix-functions/open.texi: Mention the trailing slash bug.
76456 2008-06-10  Bruno Haible  <bruno@clisp.org>
76458         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
76459         for $? to work inside the trap command, with various /bin/sh-s.
76460         * tests/test-vc-list-files-cvs.sh: Likewise.
76462 2008-06-10  Bruno Haible  <bruno@clisp.org>
76464         * lib/acl-internal.h: Don't include gettext.h here.
76465         * lib/set-mode-acl.c: Include gettext.h here.
76466         * lib/copy-acl.c: Likewise.
76468 2008-06-10  Bruno Haible  <bruno@clisp.org>
76470         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
76471         * lib/wait-process.c (wait_subprocess): Likewise.
76472         * lib/execute.h (execute): Add termsigp argument.
76473         * lib/execute.c (execute): Likewise.
76474         * lib/csharpcomp.c (compile_csharp_using_pnet,
76475         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
76476         * lib/csharpexec.c (execute_csharp_using_pnet,
76477         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
76478         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
76479         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
76480         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
76481         is_jikes_present): Update.
76482         * lib/javaexec.c (execute_java_class): Update.
76483         * lib/javaversion.c (execute_and_read_line): Update.
76484         * NEWS: Document the changes.
76485         Reported by Eric Blake.
76487 2008-06-10  Eric Blake  <ebb9@byu.net>
76489         Add missing include.
76490         * tests/test-strstr.c (includes): Add <signal.h>.
76491         * tests/test-strcasestr.c (includes): Likewise.
76492         * tests/test-memmem.c (includes): Likewise.
76494 2008-06-10  Bruno Haible  <bruno@clisp.org>
76496         * lib/wait-process.c (wait_subprocess): Add an assertion.
76498 2008-06-10  Bruno Haible  <bruno@clisp.org>
76500         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
76502 2008-06-10  Bruno Haible  <bruno@clisp.org>
76504         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
76505         using alarm().
76506         * tests/test-strcasestr.c (main): Likewise.
76507         * tests/test-strstr.c (main): Likewise.
76509 2008-06-09  Bruno Haible  <bruno@clisp.org>
76511         Work around the Solaris 10 ACE ACLs ABI change.
76512         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
76513         declare if ACL_NO_TRIVIAL is present.
76514         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
76515         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
76516         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
76517         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
76518         define if ACL_NO_TRIVIAL is present.
76519         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
76520         and use the current ABI.
76521         (file_has_acl): Use same #if condition as elsewhere.
76522         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
76523         in use, and use the current ABI.
76524         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
76525         Reported by Jim Meyering.
76527 2008-06-09  Eric Blake  <ebb9@byu.net>
76529         Work around environments that (stupidly) ignore SIGALRM.
76530         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
76531         before using alarm().
76532         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
76533         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
76534         Reported by Ian Beckwith <ianb@erislabs.net>.
76536         Produce autobuild blurb earlier in log.
76537         * modules/autobuild (configure.ac-early): Move AB_INIT here.
76539 2008-06-09  Jim Meyering  <meyering@redhat.com>
76540         and Ondřej Vašík  <ovasik@redhat.com>
76542         utimens.c: correct kernel bug work-around
76543         Ondřej Vašík found that the invalid return value of 280 indicates
76544         failure, not success, and the kernel bug we're trying to work
76545         around affects not just the utimensat call, but also the fallback
76546         futimens call.
76547         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
76548         not success.
76549         [HAVE_FUTIMENS]: Use the same work-around, here.
76551 2008-06-09  Jim Meyering  <meyering@redhat.com>
76553         add more guards around definition of ACE_-related code
76554         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
76555         ALLOW and ACE_OWNER are also defined.
76557 2008-06-08  Bruno Haible  <bruno@clisp.org>
76559         * lib/acl-internal.h: Add me as co-author.
76560         * lib/file-has-acl.c: Likewise.
76561         * lib/set-mode-acl.c: Likewise.
76562         * lib/copy-acl.c: Likewise.
76564 2008-06-08  Bruno Haible  <bruno@clisp.org>
76566         Add support for AIX ACLs.
76567         * lib/acl-internal.h (acl_nontrivial): New declaration.
76568         * lib/file-has-acl.c (acl_nontrivial): New function.
76569         (file_has_acl): Add implementation using AIX 4 ACL API.
76570         * lib/set-mode-acl.c (qset_acl): Likewise.
76571         * lib/copy-acl.c (qcopy_acl): Likewise.
76573 2008-06-08  Bruno Haible  <bruno@clisp.org>
76575         Add support for HP-UX ACLs.
76576         * lib/acl-internal.h (acl_nontrivial): New declaration.
76577         * lib/file-has-acl.c (acl_nontrivial): New function.
76578         (file_has_acl): Add implementation using HP-UX 11 ACL API.
76579         * lib/set-mode-acl.c (qset_acl): Likewise.
76580         * lib/copy-acl.c (qcopy_acl): Likewise.
76582 2008-06-08  Bruno Haible  <bruno@clisp.org>
76584         Add support for Cygwin ACLs.
76585         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
76586         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
76587         the chmod_or_fchmod call.
76588         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
76590 2008-06-08  Bruno Haible  <bruno@clisp.org>
76592         Fix bug with setuid modes in Solaris 10+ code.
76593         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
76594         succeeded, when the mode contains some special bits.
76596 2008-06-08  Bruno Haible  <bruno@clisp.org>
76598         Add support for Solaris 7..10 ACLs.
76599         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
76600         declarations.
76601         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
76602         functions.
76603         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
76604         * lib/set-mode-acl.c (qset_acl): Likewise.
76605         * lib/copy-acl.c (qcopy_acl): Likewise.
76607 2008-06-08  Bruno Haible  <bruno@clisp.org>
76609         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
76610         declaration.
76611         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
76612         (acl_access_nontrivial): Remove MacOS X case.
76613         (file_has_acl): Use acl_extended_nontrivial.
76614         * lib/copy-acl.c (qcopy_acl): Likewise.
76616 2008-06-08  Bruno Haible  <bruno@clisp.org>
76618         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
76620 2008-06-08  Jim Meyering  <meyering@redhat.com>
76622         * modules/acl (Maintainer): Add Bruno Haible.
76624 2008-06-07  Bruno Haible  <bruno@clisp.org>
76626         Improve support for Tru64 ACLs.
76627         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
76628         ACL on OSF/1.
76630 2008-06-07  Bruno Haible  <bruno@clisp.org>
76632         Add support for MacOS X ACLs.
76633         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
76634         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
76635         * lib/set-mode-acl.c (qset_acl): Likewise.
76636         * lib/copy-acl.c (qcopy_acl): Likewise.
76638 2008-06-07  Bruno Haible  <bruno@clisp.org>
76640         Fix memory leak introduced on 2008-05-22.
76641         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
76642         use.
76644 2008-06-07  Bruno Haible  <bruno@clisp.org>
76646         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
76647         to construct an empty ACL.
76649 2008-06-07  Bruno Haible  <bruno@clisp.org>
76651         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
76652         precisely.
76653         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
76655 2008-06-07  Bruno Haible  <bruno@clisp.org>
76657         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
76658         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
76660 2008-06-07  Bruno Haible  <bruno@clisp.org>
76662         * doc/posix-functions/_setjmp.texi: Explain the use of this function
76663         regardless of POSIX.
76664         * doc/posix-functions/_longjmp.texi: Likewise.
76665         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
76666         SystemV platform in this case.
76668 2008-06-06  Eric Blake  <ebb9@byu.net>
76670         Document abort() bugs.
76671         * doc/posix-functions/abort.texi (abort): Mention anomalies.
76673         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
76674         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
76675         sigsetjmp.
76676         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
76677         siglongjmp, but only as a macro.
76678         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
76679         is obsolete.
76680         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
76682         Tweak documentation to cover cygwin argz bugs.
76683         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
76684         argz bug fix; no code change needed since no cygwin releases
76685         occurred between the last fix and the bug being tested.
76686         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
76687         module and recently fixed cygwin bugs.
76688         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
76689         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
76690         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
76691         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
76692         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
76693         Likewise.
76694         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
76695         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
76696         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
76697         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
76698         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
76699         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
76700         Likewise.
76702         Avoid gcc warning on cygwin.
76703         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
76704         !ACL_NO_TRIVIAL]: Avoid unused variable.
76706 2008-06-05  Eric Blake  <ebb9@byu.net>
76708         Be tolerant of UNKNOWN version in gnulib-tool test dir.
76709         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
76710         git-version-gen fails to come up with a version.
76711         Reported by Simon Josefsson.
76713 2008-06-05  Jim Meyering  <meyering@redhat.com>
76714             Paul Eggert  <eggert@cs.ucla.edu>
76716         utimens.c: work around a probable Linux kernel bug
76717         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
76718         appears to be a kernel bug that causes utimensat to return 280
76719         instead of 0, indicating success.
76721 2008-06-04  Bruno Haible  <bruno@clisp.org>
76723         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
76724         2008-06-01 commit.
76726 2008-06-04  Bruno Haible  <bruno@clisp.org>
76728         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
76729         * lib/file-has-acl.c (acl_access_nontrivial): New function.
76730         (file_has_acl): Use it. Save errno afterwards.
76731         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
76733 2008-06-03  Bruno Haible  <bruno@clisp.org>
76735         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
76736         draft code. Simplify #ifs.
76737         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
76738         Put Solaris code after POSIX-draft code. Fix comments regarding
76739         Solaris 10, HP-UX. Mention Cygwin.
76740         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
76742 2008-06-03  Eric Blake  <ebb9@byu.net>
76744         Provide fallback for older kernels.
76745         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
76746         Provide runtime fallback if kernel lacks support.
76747         Reported by Mike Frysinger.
76749 2008-06-02  Bruno Haible  <bruno@clisp.org>
76751         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
76752         it exists.
76754 2008-06-02  Bruno Haible  <bruno@clisp.org>
76756         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
76757         * lib/copy-acl.c (qcopy_acl): Update comment.
76759 2008-06-02  Bruno Haible  <bruno@clisp.org>
76761         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
76762         like ACL APIs.
76764 2008-06-02  Bruno Haible  <bruno@clisp.org>
76766         * tests/test-file-has-acl.sh: Use different code for Cygwin.
76767         * tests/test-set-mode-acl.sh: Likewise.
76768         * tests/test-copy-acl.sh: Likewise.
76769         * tests/test-copy-file.sh: Likewise.
76771 2008-06-02  Bruno Haible  <bruno@clisp.org>
76773         * tests/test-file-has-acl.sh: Remove unused code.
76775 2008-06-01  Bruno Haible  <bruno@clisp.org>
76777         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
76778         (copy_acl): Just a wrapper around qcopy_acl that emits the error
76779         messages.
76780         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
76782 2008-06-01  Bruno Haible  <bruno@clisp.org>
76784         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
76785         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
76786         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
76787         APIs.
76788         * modules/acl-tests (configure.ac): Remove tests now contained in
76789         m4/acl.m4.
76791 2008-06-02  Jim Meyering  <meyering@redhat.com>
76793         announce-gen: use a better key-server host name
76794         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
76795         it may be more consistently reliable.  Suggested by Werner Koch
76796         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
76798 2008-06-01  Bruno Haible  <bruno@clisp.org>
76800         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
76801         Reported by Voroskoi Andras <voroskoi@gmail.com>.
76803 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
76805         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
76807 2008-06-01  Bruno Haible  <bruno@clisp.org>
76809         New ACL tests.
76810         * tests/test-file-has-acl.sh: New file.
76811         * tests/test-file-has-acl.c: New file.
76812         * tests/test-set-mode-acl.sh: New file.
76813         * tests/test-set-mode-acl.c: New file.
76814         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
76815         * tests/test-copy-acl.c: New file.
76816         * modules/acl-tests: New file, based on modules/copy-file-tests.
76817         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
76818         (Depends-on): Add acl-tests.
76819         (configure.ac): Remove checks.
76820         (Makefile.am): Don't create test-sameacls program here any more.
76822 2008-06-01  Bruno Haible  <bruno@clisp.org>
76824         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
76825         * tests/test-sameacls.c: Include progname.h.
76826         (main): Invoke set_program_name. Portability fixes for MacOS X,
76827         Solaris, HP-UX.
76829 2008-06-01  Bruno Haible  <bruno@clisp.org>
76831         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
76832         function.
76833         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
76835 2008-06-01  Bruno Haible  <bruno@clisp.org>
76837         * modules/rpmatch (Depends-on): Add strdup.
76839 2008-06-01  Bruno Haible  <bruno@clisp.org>
76841         * lib/pipe.c: Include unistd-safer.h.
76842         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
76843         * modules/pipe (Depends-on): Add unistd-safer.
76845 2008-05-30  Simon Josefsson  <simon@josefsson.org>
76847         * modules/autobuild (configure.ac): Call AB_INIT.
76849 2008-05-30  Simon Josefsson  <simon@josefsson.org>
76851         * tests/test-getaddrinfo.c: Don't print debug messages by default.
76852         Suggested by Bruno Haible <bruno@clisp.org>.
76854 2008-05-30  Simon Josefsson  <simon@josefsson.org>
76856         * tests/test-base64.c: Cast size_t to unsigned long when invoking
76857         printf.  Use %lu instead of %d.  Reported by Bruno Haible
76858         <bruno@clisp.org>.
76860 2008-05-29  Eric Blake  <ebb9@byu.net>
76862         Prefer new POSIX 200x interfaces over futimesat.
76863         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
76864         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
76865         when available.
76866         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
76868 2008-05-28  Bruno Haible  <bruno@clisp.org>
76870         * modules/stpcpy (License): Change to LGPLv2+.
76871         Requested by David Lutterkort <dlutter@redhat.com>.
76873 2008-05-27  Bruno Haible  <bruno@clisp.org>
76875         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
76876         current mingw.
76877         Reported by Jose E. Marchesi <jemarch@gnu.org>.
76879 2008-05-27  Bruno Haible  <bruno@clisp.org>
76881         * modules/iconv_open (Link): New section, from module 'iconv'.
76882         * modules/striconv (Link): Likewise.
76883         * modules/striconveh (Link): Likewise.
76884         * modules/xstriconv (Link): Likewise.
76885         * modules/unicodeio (Link): Likewise.
76886         * modules/propername (Link): Likewise.
76887         Reported by Jim Meyering.
76889 2008-05-26  Jim Meyering  <meyering@redhat.com>
76891         sha256: do not artificially restrict buffer length to be < 2^32
76892         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
76893         uint32_t to size_t.
76894         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
76895         to match.
76897         avoid unaligned access errors, e.g., on sparc
76898         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
76899         direct access through a possibly-unaligned uint64* pointer.
76900         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
76901         direct access through a possibly-unaligned uint32* pointer.
76902         Prompted by this patch from Tom "spot" Callaway:
76903         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
76905         sha512.c: fix typo in comment
76906         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
76908 2008-05-25  Bruno Haible  <bruno@clisp.org>
76910         * lib/set-mode-acl.c: Renamed from lib/acl.c.
76911         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
76912         (Makefile.am): Update lib_SOURCES.
76914 2008-05-25  Bruno Haible  <bruno@clisp.org>
76916         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
76918 2008-05-25  Jim Meyering  <meyering@redhat.com>
76920         useless-if-before-free: freed expr may have white-space differences
76921         * build-aux/useless-if-before-free: Recognize cases in which the
76922         freed expression differs from the tested one in embedded white
76923         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
76924         $1 was used, so we can't make any regexp shy.  Improved tests now
76925         detect this.
76927         useless-if-before-free: accept white space in the expression.
76928         * build-aux/useless-if-before-free: For now, any white space
76929         in the expression must be identical in the free argument.
76931         useless-if-before-free: efficiency tweak
76932         * build-aux/useless-if-before-free: Make the expression-matching
76933         regexp "shy".
76934         Make the *outer* regexp shy, not the expr-matching one.
76936         update code-in-comment to accept cast of free arg
76937         * build-aux/useless-if-before-free: Update regexp.
76939 2008-05-25  Bruno Haible  <bruno@clisp.org>
76941         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
76942         * modules/copy-file-tests (Files, Makefile.am): Update.
76943         * tests/test-copy-file.c (func_test_copy): Update.
76945 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
76947         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
76949 2008-05-23  Bruno Haible  <bruno@clisp.org>
76951         Improve support for ACLs on OSF/1.
76952         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
76953         Remove fallback for unknown flavors of ACLs.
76955 2008-05-22  Bruno Haible  <bruno@clisp.org>
76957         Add support for ACLs on OSF/1.
76958         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
76959         replacements.
76960         (acl_free_text): New macro fallback.
76961         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
76962         acl_free.
76963         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
76964         acl_free_text function. Require AC_C_INLINE.
76966 2008-05-22  Bruno Haible  <bruno@clisp.org>
76968         Make copy_acl work on MacOS X 10.5.
76969         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
76970         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
76971         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
76972         If MODE_INSIDE_ACL, don't assume that every system has the same text
76973         representation for ACLs as FreeBSD.
76974         * lib/copy-acl.c (copy_acl): Add support for platforms with
76975         !MODE_INSIDE_ACL.
76976         * lib/file-has-acl.c (file_has_acl): Likewise.
76977         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
76978         FreeBSD, MacOS X, or IRIX, respectively.
76980 2008-05-22  Bruno Haible  <bruno@clisp.org>
76982         * lib/acl.h: Don't include <sys/acl.h>.
76983         (GETACLCNT): Move fallback to lib/acl-internal.h.
76984         * lib/acl-internal.h: Include <sys/acl.h> here.
76985         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
76987 2008-05-22  Bruno Haible  <bruno@clisp.org>
76989         Split off copy_acl function to separate file.
76990         * lib/copy-acl.c: New file, extracted from lib/acl.c.
76991         * lib/acl.c (copy_acl): Moved function to separate file.
76992         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
76993         * modules/acl (Files): Add lib/copy-acl.c.
76994         (Makefiles.am): Augment lib_SOURCES.
76996 2008-05-22  Bruno Haible  <bruno@clisp.org>
76998         * modules/copy-file-tests: New file.
76999         * tests/test-copy-file.sh: New file.
77000         * tests/test-copy-file.c: New file.
77001         * tests/test-copy-file-sameacls.c: New file.
77003 2008-05-22  Eric Blake  <ebb9@byu.net>
77005         Avoid gcc warning.
77006         * tests/test-memcmp.c (main): Pass NULL indirectly.
77008 2008-05-21  Bruno Haible  <bruno@clisp.org>
77010         Add reference doc about ACLs.
77011         * doc/acl-resources.txt: New file.
77012         * doc/acl-cygwin.txt: New file.
77014 2008-05-21  Bruno Haible  <bruno@clisp.org>
77016         Avoid one more warning from gcc.
77017         * lib/vasnprintf.c (IF_LINT): Update comments.
77018         (VASNPRINTF): Use it also for the 'prefix' array initializer.
77020 2008-05-21  Jim Meyering  <meyering@redhat.com>
77022         avoid a warning from gcc
77023         * lib/vasnprintf.c (IF_LINT): Define.
77024         (scale10_round_decimal_long_double):
77025         Use it to avoid a "may be used uninitialized" warning.
77026         (scale10_round_decimal_double): Likewise.
77028 2008-05-21  Simon Josefsson  <simon@josefsson.org>
77030         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
77031         declared.
77033 2008-05-20  Bruno Haible  <bruno@clisp.org>
77035         * tests/test-memcmp.c (main): Test also the sign of the result. Test
77036         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
77038 2008-05-20  Simon Josefsson  <simon@josefsson.org>
77040         * modules/memcmp-tests: New file.
77041         * tests/test-memcmp.c: New file.
77043 2008-05-19  Bruno Haible  <bruno@clisp.org>
77045         * modules/propername (Notice, configure.ac): Put quoted "..." into
77046         --keyword option.
77047         * lib/propername.h: Update comments accordingly.
77048         Reported by Eric Blake.
77050 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
77052         * modules/getpass-gnu (Depends-on): Add fseeko.
77054 2008-05-19  Simon Josefsson  <simon@josefsson.org>
77056         * modules/base64-tests: New file.
77058 2008-05-19  Bo Borgerson  <gigabo@gmail.com>
77060         * lib/base64.c (base64_decode_ctx): If a decode context structure
77061         was passed in use it to ignore newlines.  If a context structure
77062         was _not_ passed in, continue to treat newlines as garbage (this
77063         is the historical behavior).  Formerly base64_decode.
77064         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
77065         takes a decode context structure.
77066         * lib/base64.h (base64_decode): Macro for four-argument calls.
77067         (base64_decode_alloc): Likewise.
77068         * lib/base64.c (base64_decode_ctx): If a decode context structure
77069         was passed in use it to ignore newlines.  If a context structure
77070         was _not_ passed in, continue to treat newlines as garbage (this
77071         is the historical behavior).  Formerly base64_decode.
77072         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
77073         takes a decode context structure.
77074         * lib/base64.h (base64_decode): Macro for four-argument calls.
77075         (base64_decode_alloc): Likewise.
77077 2008-05-19  Jim Meyering  <meyering@redhat.com>
77079         avoid a warning from gcc
77080         * lib/trim.c (IF_LINT): Define.
77081         (trim2): Use it to avoid a "may be used uninitialized" warning.
77083         Fix doc typo.
77084         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
77086 2008-05-19  Bruno Haible  <bruno@clisp.org>
77088         * doc/glibc-functions/getpass.texi: Document limits of other
77089         implementations.
77091 2008-05-19  Simon Josefsson  <simon@josefsson.org>
77092             Bruno Haible <bruno@clisp.org>
77094         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
77096 2008-05-18  Bruno Haible  <bruno@clisp.org>
77098         * modules/propername: New file, from GNU gettext.
77099         * lib/propername.h: New file, from GNU gettext.
77100         * lib/propername.c: New file, from GNU gettext.
77101         * MODULES.html.sh (Internationalization functions): Add propername.
77103 2008-05-16  Jim Meyering  <meyering@redhat.com>
77104             Bruno Haible  <bruno@clisp.org>
77106         Avoid some warnings from "gcc -Wshadow".
77107         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
77109 2008-05-15  Eric Blake  <ebb9@byu.net>
77111         Extend previous patch to cygwin 1.7.0.
77112         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
77113         fast implementation in cygwin >= 1.7.0.
77114         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
77115         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
77117 2008-05-15  Bruno Haible  <bruno@clisp.org>
77119         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
77120         implementation in glibc >= 2.9.
77121         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
77122         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
77124 2008-05-15  Bruno Haible  <bruno@clisp.org>
77126         * MODULES.html.sh (Internationalization functions): Remove linebreak.
77127         (Unicode string functions): Add unilbrk/*.
77128         Reported by Karl Berry.
77130 2008-05-15  Eric Blake  <ebb9@byu.net>
77132         Fix violation of <stdbool.h> replacement in regex.
77133         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
77134         * lib/regexec.c (re_search_internal): Likewise.
77135         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
77137 2008-05-15  Jim Meyering  <meyering@redhat.com>
77139         avoid distracting test output when git or cvs is not found
77140         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
77141         * tests/test-vc-list-files-git.sh: Likewise.
77143 2008-05-15  Eric Blake  <ebb9@byu.net>
77145         Glibc finally accepted the memmem speedup code, bugzilla #5514.
77146         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
77147         glibc version.
77148         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
77149         * doc/posix-functions/strstr.texi (strstr): Likewise.
77150         * lib/str-two-way.h (MAX): Sychronize with glibc.
77152 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
77154         * lib/regcomp.c (optimize_utf8): Add a note on why we test
77155         opr.ctx_type.
77156         (calc_first): Initialize constraint field.
77157         (duplicate_node_closure): Use it instead of special casing ANCHORS.
77158         Fix grammar.
77159         (duplicate_node): Merge constraint field for all node types.
77160         (calc_eclosure_iter): Look at constraint field for all node types.
77161         * lib/regex_internal.c (create_cd_newstate): Don't look at
77162         opr.ctx_type.
77164 2008-05-14  Bruno Haible  <bruno@clisp.org>
77166         Help GCC to do better code generation.
77167         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
77168         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
77169         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
77170         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
77171         Declare with attribute 'malloc' if supported.
77173 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
77175         use "echo STR|wc -c" rather than unportable "expr length STR"
77176         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
77177         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
77179 2008-05-14  Jim Meyering  <meyering@redhat.com>
77181         use dd ibs=$n count=1 ... rather than less-portable head -c$n
77182         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
77183         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
77184         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
77185         via Collin Lasse.
77187 2008-05-14  Eric Blake  <ebb9@byu.net>
77189         Avoid quadratic growth in gl_LIBSOURCES.
77190         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
77191         Suggested by Bruno Haible.
77193         Test xmemdup0.
77194         * modules/xmemdup0-tests: New file.
77195         * tests/test-xmemdup0.c: Likewise.
77197 2008-05-13  Eric Blake  <ebb9@byu.net>
77199         Split xmemdup0 into its own module.
77200         * modules/xmemdup0: New file.
77201         * lib/xmemdup0.h: Likewise.
77202         * lib/xmemdup0.c: Likewise.
77203         * MODULES.html.sh (Memory management functions): Add xmemdup0.
77204         * lib/xalloc.h (xmemdup0): Remove.
77205         * lib/xmalloc.c (xmemdup0): Likewise.
77207 2008-05-13  Eric Blake  <ebb9@byu.net>
77208             Bruno Haible  <bruno@clisp.org>
77210         Reduce number of forks required during autoconf.
77211         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
77212         and gl_LIBSOURCES_DIR.
77213         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
77214         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
77215         m4_syscmd per file.
77216         <m4_foreach_w>: Move...
77217         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
77219 2008-05-13  Eric Blake  <ebb9@byu.net>
77221         * gnulib-tool: Fix various comment typos.
77223 2008-05-12  Bruno Haible  <bruno@clisp.org>
77225         Tailor the linebreaking algorithm.
77226         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
77228 2008-05-12  Bruno Haible  <bruno@clisp.org>
77230         Update to Unicode 5.0.0.
77231         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
77232         LBP_JV, LBP_JT. Redistribute values.
77233         (unilbrk_table): Change size.
77234         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
77235         Unicode TR#14 rev. 22.
77236         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
77237         LBP_JV, LBP_JT. Redistribute values.
77238         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
77239         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
77240         Update.
77241         * lib/unilbrk/lbrkprop1.h: Regenerated.
77242         * lib/unilbrk/lbrkprop2.h: Regenerated.
77243         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
77244         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
77245         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
77246         Likewise.
77247         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
77248         Likewise.
77249         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
77250         result.
77251         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
77252         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
77253         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
77254         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
77255         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
77256         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
77258 2008-05-11  Bruno Haible  <bruno@clisp.org>
77260         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
77262 2008-05-11  Bruno Haible  <bruno@clisp.org>
77264         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
77265         * modules/unilbrk/gen-lbrk: New file.
77267 2008-05-11  Bruno Haible  <bruno@clisp.org>
77269         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
77270         * m4/sha512.m4 (gl_SHA512): Likewise.
77272 2008-05-11  Jim Meyering  <meyering@redhat.com>
77274         New modules: crypto/sha256, crypto/sha512 (from coreutils)
77275         * modules/crypto/sha256: New file.
77276         * modules/crypto/sha512: Likewise.
77277         * lib/sha256.c: Likewise.
77278         * lib/sha256.h: Likewise.
77279         * lib/sha512.c: Likewise.
77280         * lib/sha512.h: Likewise.
77281         * lib/u64.h: Likewise.
77282         * m4/sha256.m4: Likewise.
77283         * m4/sha512.m4: Likewise.
77284         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
77286 2008-05-10  Bruno Haible  <bruno@clisp.org>
77288         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
77289         (Input/Output <stdio.h>): Add xprintf.
77290         (Signal handling <signal.h>): Add strsignal.
77291         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
77292         (Core language properties): Add func.
77293         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
77294         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
77295         strings.
77296         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
77297         (Input/output): New section.
77298         (File system functions): Add openat-die, stat-macros.
77299         (Networking functions): Add sockets.
77300         (Unicode string functions): Add unictype/*.
77301         (Support for building libraries and executables): Add gperf.
77302         (Support for building documentation): Add agpl-3.0.
77303         (Misc): Add nocrash.
77305 2008-05-10  Bruno Haible  <bruno@clisp.org>
77307         * modules/unictype/gen-ctype: New file.
77309 2008-05-10  Jim Meyering  <meyering@redhat.com>
77311         Make chdir-safer.c more efficient on a system with no symlinks.
77312         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
77313         also if ELOOP is zero.  Suggested by Bruno Haible.
77315         Make chdir-safer.c slightly safer.
77316         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
77317         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
77319         Avoid compile failure on systems without ELOOP (like mingw).
77320         * lib/chdir-safer.c (ELOOP): Define if not already defined.
77321         Reported by Bruno Haible.
77323 2008-05-10  Bruno Haible  <bruno@clisp.org>
77325         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
77326         (is_utf8_encoding): Use a case-insensitive comparison.
77327         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
77328         streq.
77330 2008-05-10  Bruno Haible  <bruno@clisp.org>
77332         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
77333         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
77334         * lib/unilbrk/ulc-common.h (iconv_string_length,
77335         iconv_string_keeping_offsets): Remove declarations.
77336         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
77337         Don't include <iconv.h>, streq.h, xsize.h.
77338         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
77339         conversion.
77340         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
77341         <iconv.h>, streq.h, xsize.h.
77342         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
77343         conversion.
77344         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
77345         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
77346         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
77347         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
77349 2008-05-10  Bruno Haible  <bruno@clisp.org>
77351         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
77352         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
77354         * modules/unilbrk/u32-width-linebreaks-tests: New file.
77355         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
77357         * modules/unilbrk/u16-width-linebreaks-tests: New file.
77358         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
77360         * modules/unilbrk/u8-width-linebreaks-tests: New file.
77361         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
77363         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
77364         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
77366         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
77367         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
77369         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
77370         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
77372         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
77373         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
77375 2008-05-10  Bruno Haible  <bruno@clisp.org>
77377         Split up 'linebreak' module.
77378         * lib/unilbrk.h: New file, based on lib/linebreak.h.
77379         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
77380         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
77381         modifications.
77382         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
77383         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
77384         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
77385         lib/linebreak.c.
77386         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
77387         lib/linebreak.c.
77388         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
77389         lib/linebreak.c.
77390         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
77391         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
77392         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
77393         lib/linebreak.c.
77394         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
77395         lib/linebreak.c.
77396         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
77397         lib/linebreak.c.
77398         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
77399         lib/linebreak.c.
77400         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
77401         lib/linebreak.c.
77402         * modules/unilbrk/base: New file.
77403         * modules/unilbrk/tables: New file.
77404         * modules/unilbrk/u8-possible-linebreaks: New file.
77405         * modules/unilbrk/u16-possible-linebreaks: New file.
77406         * modules/unilbrk/u32-possible-linebreaks: New file.
77407         * modules/unilbrk/ulc-common: New file.
77408         * modules/unilbrk/ulc-possible-linebreaks: New file.
77409         * modules/unilbrk/u8-width-linebreaks: New file.
77410         * modules/unilbrk/u16-width-linebreaks: New file.
77411         * modules/unilbrk/u32-width-linebreaks: New file.
77412         * modules/unilbrk/ulc-width-linebreaks: New file.
77413         * lib/linebreak.h: Remove file.
77414         * lib/linebreak.c: Remove file.
77415         * m4/linebreak.m4: Remove file.
77416         * modules/linebreak: Remove file.
77417         * NEWS: Mention the changes.
77419 2008-05-09  Eric Blake  <ebb9@byu.net>
77421         Add xmemdup0.
77422         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
77423         implementation.
77424         * lib/xmalloc.c (xmemdup0): New C implementation.
77426 2008-05-08  Bruno Haible  <bruno@clisp.org>
77428         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
77430 2008-05-07  Eric Blake  <ebb9@byu.net>
77432         Support cross-compilation of <wctype.h>.
77433         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
77434         AC_CACHE_CHECK.
77436 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
77438         * build-aux/vc-list-files: Add support for bzr.
77440 2008-05-03  Jim Meyering  <meyering@redhat.com>
77442         avoid failed assertion with tight malloc
77443         * tests/test-getndelim2.c: Correct an off-by-one assertion.
77445 2008-05-03  Simon Josefsson  <simon@josefsson.org>
77447         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
77448         are needed from arpa/inet.h.
77449         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
77450         Reported by Bruno Haible.
77452 2008-05-02  Jim Meyering  <meyering@redhat.com>
77454         avoid compilation error on FreeBSD 6
77455         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
77457 2008-05-01  Jim Meyering  <meyering@redhat.com>
77459         useless-if-before-free: correct --help's exit status description
77460         * build-aux/useless-if-before-free (usage): Like grep, exit 0
77461         for one or more matches, etc.  Reported by Bruno Haible.
77463         vc-list-files: make the stand-alone gnulib test work
77464         * modules/vc-list-files-tests (configure.ac):
77465         Define and AC_SUBST abs_aux_dir.
77466         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
77467         $(abs_top_srcdir) to each script and having each of them
77468         duplicate the work of setting PATH, set PATH here, using
77469         the new variable, abs_aux_dir instead.
77470         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
77471         * tests/test-vc-list-files-git.sh: Likewise.
77472         Reported by Bruno Haible.
77474 2008-05-01  Bruno Haible  <bruno@clisp.org>
77476         * lib/getndelim2.c (getndelim2): Fix newsize computation during
77477         reallocation. Rename 'done' to 'found_delimiter'.
77479 2008-05-01  Jim Meyering  <meyering@redhat.com>
77481         vc-list-files: accommodate /bin/sh like the one from Solaris 10
77482         * build-aux/vc-list-files: Use `...`, not $(...).
77484 2008-04-30  Jim Meyering  <meyering@redhat.com>
77486         add tests for vc-list-files
77487         * modules/vc-list-files-tests: New module.
77488         * tests/test-vc-list-files-cvs.sh: New file.
77489         * tests/test-vc-list-files-git.sh: New file.
77491         avoid a warning from gcc
77492         * lib/getndelim2.c (IF_LINT): Define.
77493         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
77495         vc-list-files: work properly with build-aux/cvsu, too
77496         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
77497         to all cvs-based clauses.
77499         vc-list-files: work properly in the CVS+awk case, too
77500         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
77502         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
77503         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
77504         take more than one file argument, so .  Add quotes, just in case $dir
77505         ever contains a shell meta-character.  Prompted by Soren Hansen in
77506         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
77508 2008-04-29  Eric Blake  <ebb9@byu.net>
77510         Optimize getndelim2 to use block operations when possible.
77511         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
77512         freadseek, and memchr2.
77513         * lib/getndelim2.c (getndelim2): Use them for block reads.
77515 2008-04-29  Bruno Haible  <bruno@clisp.org>
77517         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
77518         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
77519         * modules/inet_ntop (Depends-on): Add extensions.
77520         * modules/inet_pton (Depends-on): Likewise.
77521         Reported by Simon Josefsson.
77523 2008-04-29  Jim Meyering  <meyering@redhat.com>
77525         When the is more than one match in a block, match all of them.
77526         * build-aux/useless-if-before-free: Iterate through each block
77527         until there are no more matches.
77529         Fix broken useless-if-before-free script.
77530         * build-aux/useless-if-before-free: Fix typo: missing "?" after
77531         the expression to match cast of argument to free-like function.
77533 2008-04-29  Eric Blake  <ebb9@byu.net>
77535         Use new header.
77536         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
77538 2008-04-29  Jim Meyering  <meyering@redhat.com>
77540         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
77541         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
77542         by gnulib to exist and to declare e.g., inet_ntop.
77543         Don't include "inet_ntop.h", now removed.
77545         * m4/arpa_inet_h.m4: Remove trailing blanks.
77547 2008-04-29  Eric Blake  <ebb9@byu.net>
77549         Silence valgrind on safe reads beyond potential array bounds.
77550         * lib/rawmemchr.valgrind: New file.
77551         * lib/strchrnul.valgrind: Likewise.
77552         * modules/rawmemchr (Files): Distribute new file.
77553         * modules/strchrnul (Files): Likewise.
77554         Suggested by Bruno Haible.
77556 2008-04-29  Bruno Haible  <bruno@clisp.org>
77558         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
77559         (inet_ntop, inet_pton): Change portability warning's wording.
77560         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
77561         Invoke gl_CHECK_NEXT_HEADERS.
77562         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
77563         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
77564         set ARPA_INET_H.
77565         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
77566         * modules/arpa_inet (Description): No longer only for systems that
77567         lack it.
77568         (Depends-on): Add include_next.
77569         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
77570         HAVE_ARPA_INET_H.
77572 2008-04-29  Jim Meyering  <meyering@redhat.com>
77574         * modules/mkdir (License): Re-license as LGPLv2+.
77576 2008-04-29  Bruno Haible  <bruno@clisp.org>
77578         * modules/rawmemchr (Maintainer): Set to Eric.
77579         * modules/strchrnul (Maintainer): Likewise.
77581 2008-04-29  Simon Josefsson  <simon@josefsson.org>
77583         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
77584         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
77586         * modules/arpa_inet (arpa/inet.h): Use them.
77588 2008-04-28  Eric Blake  <ebb9@byu.net>
77590         Test getndelim2.
77591         * modules/getndelim2-tests: New file.
77592         * tests/test-getndelim2.c: Likewise.
77593         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
77594         stream.
77595         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
77597         * MODULES.html.sh: Document new module.
77599 2008-04-20  Bruno Haible  <bruno@clisp.org>
77601         * lib/c-stack.c (die): Use raise.
77602         * modules/c-stack (Depends-on): Add raise.
77604 2008-04-28  Bruno Haible  <bruno@clisp.org>
77606         Expect rpmatch to be declared.
77607         * lib/yesno.c (rpmatch): Remove declaration.
77609         Declare rpmatch.
77610         * lib/stdlib.in.h (rpmatch): New declaration.
77611         * lib/rpmatch.c: Include <stdlib.h> first.
77612         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
77613         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
77614         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
77615         HAVE_RPMATCH.
77616         * modules/rpmatch (Depends-on): Add stdlib, extensions.
77617         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
77618         (Include): Set to <stdlib.h>.
77619         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
77620         HAVE_RPMATCH.
77621         * NEWS: Document the change.
77623 2008-04-28  Bruno Haible  <bruno@clisp.org>
77625         Change rpmatch to use nl_langinfo when appropriate.
77626         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
77627         (N_): New macro.
77628         (localized_pattern): New function/macro.
77629         (try): Remove match, nomatch arguments. Copy the pattern into safe
77630         memory before caching it.
77631         (rpmatch): Use localized_pattern. Add translator comments.
77632         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
77633         Suggested by Eric Blake.
77634         * modules/rpmatch (Depends-on): Add stdbool.
77636 2008-04-28  Eric Blake  <ebb9@byu.net>
77638         Add rawmemchr module, matching glibc.
77639         * modules/string (Makefile.am): New indicator.
77640         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
77641         * lib/string.in.h (rawmemchr): Declare when appropriate.
77642         * modules/rawmemchr: New file.
77643         * m4/rawmemchr.m4: Likewise.
77644         * lib/rawmemchr.c: Likewise.
77645         * modules/rawmemchr-tests: Likewise.
77646         * tests/test-rawmemchr.c: Likewise.
77647         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
77648         module.
77649         * modules/strchrnul (Depends-on): Add rawmemchr.
77650         * lib/strchrnul.c (strchrnul): Optimize a corner case.
77652         Whitespace cleanup.
77653         * tests/test-strchrnul.c: Reindent.
77654         * lib/strchrnul.c: Likewise.
77656         Optimize and test strchrnul.
77657         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
77658         * modules/strchrnul-tests: New file.
77659         * tests/test-strchrnul.c: Likewise.
77661         Remove intprops dependency.
77662         * modules/memchr (Depends-on): Remove intprops.
77663         * modules/memrchr (Depends-on): Likewise.
77664         * modules/memchr2 (Depends-on): Likewise.
77665         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
77666         * lib/memrchr.c (__memrchr): Likewise.
77667         * lib/memrchr2.c (memchr2): Likewise.
77668         Reported by Simon Josefsson.
77670 2008-04-28  Simon Josefsson  <simon@josefsson.org>
77672         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
77673         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
77675 2008-04-28  Simon Josefsson  <simon@josefsson.org>
77677         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
77679         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
77681         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
77683         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
77684         declarations.
77685         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
77687         * m4/inet_pton.m4: Don't check for header files.
77689         * m4/inet_ntop.m4: Don't check for header files.
77691 2008-04-28  Simon Josefsson  <simon@josefsson.org>
77693         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
77694         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
77695         trigger for cygwin).
77696         Reported by Bruno Haible  <bruno@clisp.org>.
77698 2008-04-28  Bruno Haible  <bruno@clisp.org>
77700         * doc/posix-functions/strdup.texi: Mention mingw problem.
77702 2008-04-27  Bruno Haible  <bruno@clisp.org>
77704         * modules/stat-time-tests (Depends-on): Add sleep.
77705         * tests/test-stat-time.c (force_unlink): New function.
77706         (cleanup): Use it.
77707         (test_mtime): Remove the ctime related tests.
77708         (test_ctime): New function, containing the ctime related tests.
77709         (main): Call test_ctime, except on native Windows platforms.
77711 2008-04-27  Bruno Haible  <bruno@clisp.org>
77713         * lib/rpmatch.c (rpmatch): Add some comments.
77714         Reported by James Youngman <jay@gnu.org>.
77716 2008-04-27  Bruno Haible  <bruno@clisp.org>
77718         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
77719         quiet NaNs.
77721 2008-04-27  Bruno Haible  <bruno@clisp.org>
77723         Make test-yesno.sh work on mingw.
77724         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
77725         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
77726         (main): Set stdin to binary mode.
77727         * modules/yesno-tests (Depends-on): Add binary-io.
77729 2008-04-27  Bruno Haible  <bruno@clisp.org>
77731         Fix 'isfinite' on x86, x86_64, ia64 platforms.
77732         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
77733         argument that lie outside the IEEE 854 domain.
77734         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
77735         (gl_ISFINITE): Use it.
77736         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
77738 2008-04-27  Bruno Haible  <bruno@clisp.org>
77740         Allow local renaming in config.h.
77741         * lib/memrchr.c (memrchr): Don't undefine outside libc.
77743 2008-04-27  Bruno Haible  <bruno@clisp.org>
77745         * lib/memchr.c (__memchr): Change type of 'i'.
77746         * lib/memchr2.c (memchr2): Likewise.
77748 2008-04-26  Eric Blake  <ebb9@byu.net>
77749         and Bruno Haible  <bruno@clisp.org>
77751         Optimize and test memrchr.
77752         * modules/memrchr (Depends-on): Add intprops.
77753         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
77754         * modules/memrchr-tests: New file.
77755         * tests/test-memrchr.c: New file.
77757 2008-04-26  Bruno Haible  <bruno@clisp.org>
77759         Add tentative support for DragonFly BSD.
77760         * lib/stdio-impl.h: Add macros for DragonFly BSD.
77761         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
77762         fp.
77763         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
77764         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
77765         * lib/fpurge.c (fpurge): Likewise.
77766         * lib/freadable.c (freaadable): Likewise.
77767         * lib/freadahead.c (freadahead): Likewise.
77768         * lib/freading.c (freading): Likewise.
77769         * lib/freadptr.c (freadptr): Likewise.
77770         * lib/freadseek.c (freadptrinc): Likewise.
77771         * lib/fseeko.c (fseeko): Likewise.
77772         * lib/fseterr.c (fseterr): Likewise.
77773         * lib/fwritable.c (fwritable): Likewise.
77774         * lib/fwriting.c (fwriting): Likewise.
77776 2008-04-26  Bruno Haible  <bruno@clisp.org>
77778         * lib/stdio-impl.h: New file.
77779         * lib/fbufmode.c: Include stdio-impl.h.
77780         (fbufmode): Use fp_, remove redundant #defines.
77781         * lib/fflush.c: Include stdio-impl.h.
77782         (clear_ungetc_buffer): Remove redundant #defines.
77783         * lib/fpurge.c: Include stdio-impl.h.
77784         (fpurge): Remove redundant #defines.
77785         * lib/freadable.c: Include stdio-impl.h.
77786         (freadable): Remove redundant #defines.
77787         * lib/freadahead.c: Include stdio-impl.h.
77788         (freadahead): Remove redundant #defines.
77789         * lib/freading.c: Include stdio-impl.h.
77790         (freading): Remove redundant #defines.
77791         * lib/freadptr.c: Include stdio-impl.h.
77792         (freadptr): Remove redundant #defines.
77793         * lib/freadseek.c: Include stdio-impl.h.
77794         (freadptrinc): Remove redundant #defines.
77795         * lib/fseeko.c: Include stdio-impl.h.
77796         (rpl_fseeko): Remove redundant #defines.
77797         * lib/fseterr.c: Include stdio-impl.h.
77798         (fseterr): Remove redundant #defines.
77799         * lib/fwritable.c: Include stdio-impl.h.
77800         (fwritable: Remove redundant #defines.
77801         * lib/fwriting.c: Include stdio-impl.h.
77802         (fwriting): Remove redundant #defines.
77803         * modules/fbufmode (Files): Add lib/stdio-impl.h.
77804         * modules/fflush (Files): Likewise.
77805         * modules/fpurge (Files): Likewise.
77806         * modules/freadable (Files): Likewise.
77807         * modules/freadahead (Files): Likewise.
77808         * modules/freading (Files): Likewise.
77809         * modules/freadptr (Files): Likewise.
77810         * modules/freadseek (Files): Likewise.
77811         * modules/fseeko (Files): Likewise.
77812         * modules/fseterr (Files): Likewise.
77813         * modules/fwritable (Files): Likewise.
77814         * modules/fwriting (Files): Likewise.
77816 2008-04-26  Bruno Haible  <bruno@clisp.org>
77818         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
77819         restore_seek_optimization, update_fpos_cache): New functions, extracted
77820         from rpl_fflush.
77821         (rpl_fflush): Use them.
77822         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
77823         (gl_REPLACE_FFLUSH): Use it.
77825 2008-04-26  Bruno Haible  <bruno@clisp.org>
77827         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
77828         on Solaris.
77829         * tests/test-xstrtoimax.sh: Likewise.
77830         * tests/test-xstrtoumax.sh: Likewise.
77831         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
77833 2008-04-26  Bruno Haible  <bruno@clisp.org>
77835         * modules/memchr-tests: New file.
77836         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
77838 2008-04-26  Eric Blake  <ebb9@byu.net>
77839             Bruno Haible  <bruno@clisp.org>
77841         * lib/memchr.c: Include intprops.h.
77842         (__memchr): Optimize parallel detection of matching bytes. Rename local
77843         variables. Add explanatory comments.
77845 2008-04-26  Bruno Haible  <bruno@clisp.org>
77847         Fix module 'memchr', broken since 2000-10-28.
77848         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
77850 2008-04-26  Bruno Haible  <bruno@clisp.org>
77852         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
77853         comments.
77855 2008-04-25  Eric Blake  <ebb9@byu.net>
77857         Use native fstatat on cygwin 1.7.0.
77858         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
77859         first.
77861 2008-04-23  Eric Blake  <ebb9@byu.net>
77863         Improve memchr2 performance.
77864         * lib/memchr2.c (memchr2): Further optimize parallel detection of
77865         NUL bytes.
77866         * modules/memchr2 (Depends-on): Use intprops.h.
77868 2008-04-23  Simon Josefsson  <simon@josefsson.org>
77870         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
77871         an inline function instead of a CPP macro.  Patch by Ben Pfaff
77872         <blp@cs.stanford.edu>.
77874 2008-04-23  Simon Josefsson  <simon@josefsson.org>
77876         * lib/arpa_inet.in.h: New file.
77878         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
77879         (Makefile.am): Sed in substitute header file.
77881         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
77882         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
77884         * modules/inet_ntop (configure.ac): Use
77885         gl_ARPA_INET_MODULE_INDICATOR.
77887         * modules/inet_pton (configure.ac): Use
77888         gl_ARPA_INET_MODULE_INDICATOR.
77890 2008-04-22  Jim Meyering  <meyering@redhat.com>
77892         * modules/verify (License): Re-license as LGPLv2+.
77894 2008-04-22  Simon Josefsson  <simon@josefsson.org>
77896         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
77897         parameter to void* as per POSIX standard (MinGW uses char*).
77899 2008-04-21  Bruno Haible  <bruno@clisp.org>
77901         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
77902         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
77903         Define to replacements if REPLACE_ISWCNTRL is 1.
77904         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
77905         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
77906         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
77907         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
77908         what it fixes.
77909         * doc/posix-functions/iswalpha.texi: Likewise.
77910         * doc/posix-functions/iswblank.texi: Likewise.
77911         * doc/posix-functions/iswcntrl.texi: Likewise.
77912         * doc/posix-functions/iswdigit.texi: Likewise.
77913         * doc/posix-functions/iswgraph.texi: Likewise.
77914         * doc/posix-functions/iswlower.texi: Likewise.
77915         * doc/posix-functions/iswprint.texi: Likewise.
77916         * doc/posix-functions/iswpunct.texi: Likewise.
77917         * doc/posix-functions/iswspace.texi: Likewise.
77918         * doc/posix-functions/iswupper.texi: Likewise.
77919         * doc/posix-functions/iswxdigit.texi: Likewise.
77920         Reported by Alain Guibert.
77922 2008-04-21  Bruno Haible  <bruno@clisp.org>
77924         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
77925         Patch by Alain Guibert.
77927 2008-04-21  Bruno Haible  <bruno@clisp.org>
77929         Fix test failures on mingw.
77930         * tests/test-xstrtol.c (print_no_progname): New function.
77931         (main): Install it in error_print_progname hook.
77932         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
77933         * tests/test-xstrtoimax.sh: Likewise.
77934         * tests/test-xstrtoumax.sh: Likewise.
77936 2008-04-21  Bruno Haible  <bruno@clisp.org>
77938         Fix test failure on mingw.
77939         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
77941 2008-04-21  Bruno Haible  <bruno@clisp.org>
77943         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
77944         Actually assign a value.
77946 2008-04-20  Bruno Haible  <bruno@clisp.org>
77948         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
77949         take 2.
77950         * lib/canonicalize.c (canonicalize_file_name): Elide if the
77951         'canonicalize-lgpl' module is also used.
77952         * lib/canonicalize-lgpl.c: Undo last change.
77953         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
77955 2008-04-20  Bruno Haible  <bruno@clisp.org>
77957         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
77958         config.h. Provide _mkdir based fallback for mingw.
77959         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
77960         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
77961         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
77962         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
77963         rather than defining mkdir in config.h.
77964         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
77965         (gl_SYS_STAT_H_DEFAULTS): New macro.
77966         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
77967         HAVE_IO_H any more.
77968         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
77969         HAVE_DECL_MKDIR and HAVE_IO_H.
77971 2008-04-20  Bruno Haible  <bruno@clisp.org>
77973         * lib/isapipe.c: Port to native Windows platforms.
77975 2008-04-20  Bruno Haible  <bruno@clisp.org>
77977         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
77979 2008-04-21  Eric Blake  <ebb9@byu.net>
77981         Work around preprocessors that don't handle UINTMAX_MAX.
77982         * lib/memchr2.c (memchr2): Avoid embedded #if.
77983         Reported by Alain Guibert, fix suggested by Bruno Haible.
77985 2008-04-21  Simon Josefsson  <simon@josefsson.org>
77987         * doc/posix-functions/strftime.texi (strftime): Explain better
77988         Windows incompatibility.  Suggested by Micah Cowan
77989         <micah@cowan.name>.
77991 2008-04-20  Bruno Haible  <bruno@clisp.org>
77993         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
77994         unistr/u8-mblen.
77996 2008-04-20  Bruno Haible  <bruno@clisp.org>
77998         Fix test failure on platforms with non-GNU iconv.
77999         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
78000         (U_TO_U8): Use it, rather than u16_to_u8.
78001         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
78002         units at the end of the input string.
78003         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
78005 2008-04-20  Bruno Haible  <bruno@clisp.org>
78007         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
78008         when the resulting length is 0.
78009         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
78011 2008-04-20  Bruno Haible  <bruno@clisp.org>
78013         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
78014         works.
78015         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
78017 2008-04-20  Bruno Haible  <bruno@clisp.org>
78019         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
78020         * modules/tsearch-tests (configure.ac): Test for initstate function.
78022 2008-04-20  Bruno Haible  <bruno@clisp.org>
78024         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
78025         for nlink_t if missing.
78026         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
78028 2008-04-19  Bruno Haible  <bruno@clisp.org>
78030         Work around snprintf bug on Linux libc5.
78031         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
78032         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
78033         gl_SNPRINTF_SIZE1.
78034         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
78035         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
78036         that test failed.
78037         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
78038         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
78039         * modules/snprintf (Files): Add m4/printf.m4.
78040         * modules/vsnprintf (Files): Likewise.
78041         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
78042         * doc/posix-functions/vsnprintf.texi: Likewise.
78044 2008-04-19  Bruno Haible  <bruno@clisp.org>
78046         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
78047         from 0.0058 to less than 10^-7.
78049 2008-04-19  Bruno Haible  <bruno@clisp.org>
78051         Fix rounding when a precision is given.
78052         * lib/vasnprintf.c (is_borderline): New function.
78053         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
78054         9...9x.
78055         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
78056         %e, %g.
78057         * tests/test-vasprintf-posix.c (test_function): Likewise.
78058         * tests/test-snprintf-posix.h (test_function): Likewise.
78059         * tests/test-sprintf-posix.h (test_function): Likewise.
78060         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
78061         * tests/test-printf-posix.h (test_function): Likewise.
78062         * tests/test-printf-posix.output: Update.
78063         Reported by John Darrington <john@darrington.wattle.id.au> via
78064         Ben Pfaff <blp@cs.stanford.edu>.
78066 2008-04-18  Simon Josefsson  <simon@josefsson.org>
78068         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
78069         Suggested by Bruno Haible <bruno@clisp.org>.
78071 2008-04-17  Bruno Haible  <bruno@clisp.org>
78073         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
78074         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
78075         implementation.
78076         Patch by Bruce Merry <bmerry@gmail.com>.
78078 2008-04-17  Simon Josefsson  <simon@josefsson.org>
78080         * doc/posix-functions/strftime.texi (strftime): Mention that %e
78081         doesn't work under Windows.
78083 2008-04-16  Bruno Haible  <bruno@clisp.org>
78085         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
78086         New macros.
78087         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
78088         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
78089         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
78090         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
78091         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
78092         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
78093         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
78094         macros.
78095         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
78096         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
78097         Northern Sotho, Uighur.
78099 2008-04-16  Bruno Haible  <bruno@clisp.org>
78101         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
78102         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
78103         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
78104         Reported by Daniel Bergström <daniel@octocode.com>.
78106 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
78107             Bruno Haible  <bruno@clisp.org>
78109         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
78110         function.
78111         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
78112         New functions, mostly extracted from gl_locale_name_default.
78113         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
78115 2008-04-16  Eric Blake  <ebb9@byu.net>
78117         Adjust strtod detection to catch glibc 2.7 bug.
78118         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
78119         Reported by John Gatewood Ham.
78121 2008-04-16  Bruno Haible  <bruno@clisp.org>
78123         Add tentative support for Linux libc5.
78124         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
78125         * lib/fpurge.c (fpurge): Likewise.
78126         * lib/freadable.c (freadable): Likewise.
78127         * lib/freadahead.c (freadahead): Likewise.
78128         * lib/freading.c (freading): Likewise.
78129         * lib/freadptr.c (freadptr): Likewise.
78130         * lib/freadseek.c (freadptrinc): Likewise.
78131         * lib/fseeko.c (rpl_fseeko): Likewise.
78132         * lib/fseterr.c (fseterr): Likewise.
78133         * lib/fwritable.c (fwritable): Likewise.
78134         * lib/fwriting.c (fwriting): Likewise.
78135         Reported by Alain Guibert <alguibert+bts@free.fr>.
78137 2008-04-15  Bruno Haible  <bruno@clisp.org>
78139         * modules/mathl (configure.ac): Define module indicator.
78141 2008-04-15  Bruno Haible  <bruno@clisp.org>
78143         * lib/logl.c (logl): Remove unused variables.
78145 2008-04-15  Bruno Haible  <bruno@clisp.org>
78147         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
78148         fails.
78150 2008-04-15  Bruno Haible  <bruno@clisp.org>
78152         * lib/trim.c (trim2): Fix argument of isspace() macro.
78154 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
78156         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
78157         to 0.
78158         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
78160 2008-04-14  Bruno Haible  <bruno@clisp.org>
78162         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
78163         AC_LANG_PROGRAM argument.
78164         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
78165         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
78166         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
78167         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
78168         * m4/math_h.m4 (gl_MATH_H): Likewise.
78169         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
78170         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
78171         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
78172         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
78173         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
78174         * m4/regex.m4 (gl_REGEX): Likewise.
78175         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
78176         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
78177         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
78178         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
78179         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
78180         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
78181         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
78182         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
78184 2008-04-14  Jim Meyering  <meyering@redhat.com>
78186         test-strtod: fix typos: s/abs/fabs/
78187         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
78189 2008-04-13  Bruno Haible  <bruno@clisp.org>
78191         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
78192         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
78193         module is also used and while not building the reloc-wrapper.
78195 2008-04-13  Bruno Haible  <bruno@clisp.org>
78197         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
78199 2008-04-13  Bruno Haible  <bruno@clisp.org>
78201         Fix AIX compilation failure introduced on 2008-04-02.
78202         * tests/test-frexp.c (exp): Undefine before redefining.
78203         * tests/test-frexpl.c (exp): Likewise.
78205 2008-04-13  Bruno Haible  <bruno@clisp.org>
78207         Work around a HP-UX stdio bug.
78208         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
78209         * tests/test-ftello.c (main): Likewise.
78210         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
78211         * doc/posix-functions/ftello.texi: Likewise.
78213 2008-04-13  Bruno Haible  <bruno@clisp.org>
78215         Make test-signbit pass on HP-UX/hppa.
78216         * tests/test-signbit.c (minus_zerol): New variable.
78217         (test_signbitl): Use it.
78219 2008-04-13  Bruno Haible  <bruno@clisp.org>
78221         Make truncl work on OSF/1 4.0.
78222         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
78223         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
78224         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
78225         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
78226         HAVE_DECL_TRUNCL.
78227         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
78228         HAVE_DECL_TRUNCL.
78229         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
78231 2008-04-13  Bruno Haible  <bruno@clisp.org>
78233         * lib/unictype.h: Remove trailing comma from enumeration definitions.
78235 2008-04-13  Bruno Haible  <bruno@clisp.org>
78237         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
78238         expression, so as to avoid HP-UX 11 cc compiler bug.
78240 2008-04-13  Bruno Haible  <bruno@clisp.org>
78242         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
78244 2008-04-13  Bruno Haible  <bruno@clisp.org>
78246         * lib/git-merge-changelog.c: Remove empty declaration outside of
78247         functions.
78249 2008-04-13  Bruno Haible  <bruno@clisp.org>
78251         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
78253 2008-04-13  Bruno Haible  <bruno@clisp.org>
78255         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
78256         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
78257         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
78258         also if it exists but lacks definitions of the SHUT_* macros.
78259         * modules/sys_socket (Description): Update.
78260         Reported by Elbert Pol <e.pol@chello.nl>.
78262 2008-04-13  Bruno Haible  <bruno@clisp.org>
78264         * lib/localcharset.c (OS2): Don't redefine if already defined.
78265         Reported by Elbert Pol <e.pol@chello.nl>.
78267 2008-04-13  Bruno Haible  <bruno@clisp.org>
78269         * lib/binary-io.h [__EMX__]: Include <io.h>.
78270         Reported by Elbert Pol <e.pol@chello.nl>.
78272 2008-04-12  Bruno Haible  <bruno@clisp.org>
78274         * lib/fpucw.h: Enable the definitions also for x86_64.
78275         Needed for NetBSD/x86_64.
78276         Reported by Thomas Klausner <tk@giga.or.at>.
78278 2008-04-12  Bruno Haible  <bruno@clisp.org>
78280         * tests/test-strtod.c: Include isnand.h.
78281         (main): Use isnand instead of isnan.
78282         Reported by Jim Meyering.
78284 2008-04-12  Bruno Haible  <bruno@clisp.org>
78286         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
78287         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
78289 2008-04-12  Jim Meyering  <meyering@redhat.com>
78291         * m4/math_h.m4 (gl_MATH_H): Fix typos.
78293 2008-04-12  Bruno Haible  <bruno@clisp.org>
78295         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
78296         Reported by Elbert Pol <e.pol@chello.nl>.
78298 2008-04-12  Eric Blake  <ebb9@byu.net>
78300         Work around Solaris 10 math.h bug.
78301         * m4/math_h.m4 (gl_MATH_H): Check for bug.
78302         (gl_MATH_H_DEFAULTS): Set up default.
78303         * modules/math (Makefile.am): Replace new indicators.
78304         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
78305         * tests/test-math.c (main): Test this.
78306         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
78307         * doc/posix-headers/math.texi (math.h): Mention bug.
78308         Reported by Nelson H. F. Beebe and Jim Meyering.
78310 2008-04-11  Bruno Haible  <bruno@clisp.org>
78312         Adapt to future versions of Apple GCC.
78313         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
78314         Reported by Peter O'Gorman <peter@pogma.com>.
78316 2008-04-11  Bruno Haible  <bruno@clisp.org>
78318         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
78320 2008-04-11  Bruno Haible  <bruno@clisp.org>
78322         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
78324         * modules/getaddrinfo-tests (Makefile.am): Define
78325         test_getaddrinfo_LDADD.
78327 2008-04-11  Bruno Haible  <bruno@clisp.org>
78329         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
78330         (init): Fix syntax error.
78331         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
78332         is declared.
78334 2008-04-11  Bruno Haible  <bruno@clisp.org>
78336         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
78337         * modules/glob (Depends-on): Add stdbool.
78339 2008-04-11  Bruno Haible  <bruno@clisp.org>
78341         * lib/trim.c: Include <string.h>.
78343 2008-04-11  Eric Blake  <ebb9@byu.net>
78345         Avoid compile failure on OS/2.
78346         * lib/regex_internal.h (internal_function): Disable optimization
78347         on OS/2 (__EMX__), where it caused compiler error.
78348         Reported by Elbert Pol.
78350 2008-04-11  Bruno Haible  <bruno@clisp.org>
78352         Flush the standard error stream before aborting. Needed on mingw.
78353         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
78354         * tests/test-array_list.c (ASSERT): Likewise.
78355         * tests/test-array_oset.c (ASSERT): Likewise.
78356         * tests/test-avltree_list.c (ASSERT): Likewise.
78357         * tests/test-avltree_oset.c (ASSERT): Likewise.
78358         * tests/test-avltreehash_list.c (ASSERT): Likewise.
78359         * tests/test-binary-io.c (ASSERT): Likewise.
78360         * tests/test-byteswap.c (ASSERT): Likewise.
78361         * tests/test-c-ctype.c (ASSERT): Likewise.
78362         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
78363         * tests/test-c-strcasestr.c (ASSERT): Likewise.
78364         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
78365         * tests/test-c-strstr.c (ASSERT): Likewise.
78366         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
78367         * tests/test-canonicalize.c (ASSERT): Likewise.
78368         * tests/test-carray_list.c (ASSERT): Likewise.
78369         * tests/test-ceilf1.c (ASSERT): Likewise.
78370         * tests/test-ceilf2.c (ASSERT): Likewise.
78371         * tests/test-ceill.c (ASSERT): Likewise.
78372         * tests/test-count-one-bits.c (ASSERT): Likewise.
78373         * tests/test-fbufmode.c (ASSERT): Likewise.
78374         * tests/test-fflush2.c (ASSERT): Likewise.
78375         * tests/test-floorf1.c (ASSERT): Likewise.
78376         * tests/test-floorf2.c (ASSERT): Likewise.
78377         * tests/test-floorl.c (ASSERT): Likewise.
78378         * tests/test-fopen.c (ASSERT): Likewise.
78379         * tests/test-fpending.c (ASSERT): Likewise.
78380         * tests/test-fprintf-posix.c (ASSERT): Likewise.
78381         * tests/test-fpurge.c (ASSERT): Likewise.
78382         * tests/test-freadable.c (ASSERT): Likewise.
78383         * tests/test-freadahead.c (ASSERT): Likewise.
78384         * tests/test-freading.c (ASSERT): Likewise.
78385         * tests/test-freadptr.c (ASSERT): Likewise.
78386         * tests/test-freadptr2.c (ASSERT): Likewise.
78387         * tests/test-freadseek.c (ASSERT): Likewise.
78388         * tests/test-freopen.c (ASSERT): Likewise.
78389         * tests/test-frexp.c (ASSERT): Likewise.
78390         * tests/test-frexpl.c (ASSERT): Likewise.
78391         * tests/test-fseek.c (ASSERT): Likewise.
78392         * tests/test-fseeko.c (ASSERT): Likewise.
78393         * tests/test-fstrcmp.c (ASSERT): Likewise.
78394         * tests/test-ftell.c (ASSERT): Likewise.
78395         * tests/test-ftello.c (ASSERT): Likewise.
78396         * tests/test-func.c (ASSERT): Likewise.
78397         * tests/test-fwritable.c (ASSERT): Likewise.
78398         * tests/test-fwriting.c (ASSERT): Likewise.
78399         * tests/test-getdelim.c (ASSERT): Likewise.
78400         * tests/test-getline.c (ASSERT): Likewise.
78401         * tests/test-i-ring.c (ASSERT): Likewise.
78402         * tests/test-iconv-utf.c (ASSERT): Likewise.
78403         * tests/test-iconv.c (ASSERT): Likewise.
78404         * tests/test-isfinite.c (ASSERT): Likewise.
78405         * tests/test-isnand.c (ASSERT): Likewise.
78406         * tests/test-isnanf.c (ASSERT): Likewise.
78407         * tests/test-isnanl.h (ASSERT): Likewise.
78408         * tests/test-ldexpl.c (ASSERT): Likewise.
78409         * tests/test-linked_list.c (ASSERT): Likewise.
78410         * tests/test-linkedhash_list.c (ASSERT): Likewise.
78411         * tests/test-localename.c (ASSERT): Likewise.
78412         * tests/test-lseek.c (ASSERT): Likewise.
78413         * tests/test-mbscasecmp.c (ASSERT): Likewise.
78414         * tests/test-mbscasestr1.c (ASSERT): Likewise.
78415         * tests/test-mbscasestr2.c (ASSERT): Likewise.
78416         * tests/test-mbscasestr3.c (ASSERT): Likewise.
78417         * tests/test-mbscasestr4.c (ASSERT): Likewise.
78418         * tests/test-mbschr.c (ASSERT): Likewise.
78419         * tests/test-mbscspn.c (ASSERT): Likewise.
78420         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
78421         * tests/test-mbspbrk.c (ASSERT): Likewise.
78422         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
78423         * tests/test-mbsrchr.c (ASSERT): Likewise.
78424         * tests/test-mbsspn.c (ASSERT): Likewise.
78425         * tests/test-mbsstr1.c (ASSERT): Likewise.
78426         * tests/test-mbsstr2.c (ASSERT): Likewise.
78427         * tests/test-mbsstr3.c (ASSERT): Likewise.
78428         * tests/test-memchr2.c (ASSERT): Likewise.
78429         * tests/test-memmem.c (ASSERT): Likewise.
78430         * tests/test-open.c (ASSERT): Likewise.
78431         * tests/test-printf-frexp.c (ASSERT): Likewise.
78432         * tests/test-printf-frexpl.c (ASSERT): Likewise.
78433         * tests/test-printf-posix.c (ASSERT): Likewise.
78434         * tests/test-quotearg.c (ASSERT): Likewise.
78435         * tests/test-rbtree_list.c (ASSERT): Likewise.
78436         * tests/test-rbtree_oset.c (ASSERT): Likewise.
78437         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
78438         * tests/test-round1.c (ASSERT): Likewise.
78439         * tests/test-roundf1.c (ASSERT): Likewise.
78440         * tests/test-roundl.c (ASSERT): Likewise.
78441         * tests/test-signbit.c (ASSERT): Likewise.
78442         * tests/test-sleep.c (ASSERT): Likewise.
78443         * tests/test-snprintf-posix.c (ASSERT): Likewise.
78444         * tests/test-snprintf.c (ASSERT): Likewise.
78445         * tests/test-sprintf-posix.c (ASSERT): Likewise.
78446         * tests/test-stat-time.c (ASSERT): Likewise.
78447         * tests/test-strcasestr.c (ASSERT): Likewise.
78448         * tests/test-strerror.c (ASSERT): Likewise.
78449         * tests/test-striconv.c (ASSERT): Likewise.
78450         * tests/test-striconveh.c (ASSERT): Likewise.
78451         * tests/test-striconveha.c (ASSERT): Likewise.
78452         * tests/test-strsignal.c (ASSERT): Likewise.
78453         * tests/test-strstr.c (ASSERT): Likewise.
78454         * tests/test-strtod.c (ASSERT): Likewise.
78455         * tests/test-trunc1.c (ASSERT): Likewise.
78456         * tests/test-trunc2.c (ASSERT): Likewise.
78457         * tests/test-truncf1.c (ASSERT): Likewise.
78458         * tests/test-truncf2.c (ASSERT): Likewise.
78459         * tests/test-truncl.c (ASSERT): Likewise.
78460         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
78461         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
78462         * tests/test-vasnprintf.c (ASSERT): Likewise.
78463         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
78464         * tests/test-vasprintf.c (ASSERT): Likewise.
78465         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
78466         * tests/test-vprintf-posix.c (ASSERT): Likewise.
78467         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
78468         * tests/test-vsnprintf.c (ASSERT): Likewise.
78469         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
78470         * tests/test-wcwidth.c (ASSERT): Likewise.
78471         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
78472         * tests/test-xprintf-posix.c (ASSERT): Likewise.
78473         * tests/test-xvasprintf.c (ASSERT): Likewise.
78474         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
78475         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
78476         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
78477         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
78478         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
78479         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
78480         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
78481         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
78482         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
78483         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
78484         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
78485         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
78486         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
78487         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
78488         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
78489         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
78490         * tests/unictype/test-block_list.c (ASSERT): Likewise.
78491         * tests/unictype/test-block_of.c (ASSERT): Likewise.
78492         * tests/unictype/test-block_test.c (ASSERT): Likewise.
78493         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
78494         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
78495         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
78496         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
78497         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
78498         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
78499         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
78500         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
78501         * tests/unictype/test-combining.c (ASSERT): Likewise.
78502         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
78503         * tests/unictype/test-digit.c (ASSERT): Likewise.
78504         * tests/unictype/test-mirror.c (ASSERT): Likewise.
78505         * tests/unictype/test-numeric.c (ASSERT): Likewise.
78506         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
78507         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
78508         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
78509         * tests/unictype/test-scripts.c (ASSERT): Likewise.
78510         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
78511         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
78512         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
78513         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
78514         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
78515         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
78516         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
78517         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
78518         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
78519         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
78520         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
78521         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
78522         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
78523         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
78524         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
78525         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
78526         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
78527         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
78528         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
78529         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
78530         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
78531         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
78532         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
78533         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
78534         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
78535         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
78536         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
78537         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
78538         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
78539         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
78540         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
78541         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
78542         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
78543         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
78544         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
78545         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
78546         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
78547         Reported by Eric Blake.
78549 2008-04-11  Bruno Haible  <bruno@clisp.org>
78551         * lib/wchar.in.h: Tweak comment.
78553 2008-04-11  Bruno Haible  <bruno@clisp.org>
78555         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
78556         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
78557         gl_COMMON.
78558         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
78560 2008-04-11  Bruno Haible  <bruno@clisp.org>
78562         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
78564 2008-04-11  Simon Josefsson  <simon@josefsson.org>
78566         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
78567         of attempting to use non-existing /dev/*random.  Based on patch
78568         from Adam Strzelecki <ono@java.pl> in
78569         <http://lists.gnu.org/r/help-gsasl/2008-02/msg00000.html>.
78571 2008-04-08  Bruno Haible  <bruno@clisp.org>
78573         Add tentative support for emx+gcc.
78574         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
78575         * lib/fpurge.c (fpurge): Likewise.
78576         * lib/freadable.c (freadable): Likewise.
78577         * lib/freadahead.c (freadahead): Likewise.
78578         * lib/freading.c (freading): Likewise.
78579         * lib/freadptr.c (freadptr): Likewise.
78580         * lib/freadseek.c (freadptrinc): Likewise.
78581         * lib/fseeko.c (rpl_fseeko): Likewise.
78582         * lib/fseterr.c (fseterr): Likewise.
78583         * lib/fwritable.c (fwritable): Likewise.
78584         * lib/fwriting.c (fwriting): Likewise.
78585         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
78587 2008-04-09  Eric Blake  <ebb9@byu.net>
78589         Avoid some autoconf warnings.
78590         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
78591         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
78592         * m4/afs.m4 (gl_AFS): Likewise.
78593         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
78594         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
78595         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
78596         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
78597         (gl_INTEGER_TYPE_SUFFIX): Likewise.
78598         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
78599         (AC_CHECK_DECLS_ONCE): Likewise.
78600         Rename file...
78601         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
78602         gnulib-tool requires autoconf 2.59 or better.
78603         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
78605 2008-04-08  Eric Blake  <ebb9@byu.net>
78607         Use 'git describe --match' if present (added in git 1.5.5).
78608         * build-aux/git-version-gen: Limit result to tags that match 'v*'
78609         if possible.
78611 2008-04-08  Bruno Haible  <bruno@clisp.org>
78613         Add tentative support for OpenServer.
78614         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
78615         _ptr, _cnt.
78616         * lib/fpurge.c (fpurge): Likewise.
78617         * lib/freadable.c (freadable): Likewise.
78618         * lib/freadahead.c (freadahead): Likewise.
78619         * lib/freading.c (freading): Likewise.
78620         * lib/freadptr.c (freadptr): Likewise.
78621         * lib/freadseek.c (freadptrinc): Likewise.
78622         * lib/fseeko.c (rpl_fseeko): Likewise.
78623         * lib/fseterr.c (fseterr): Likewise.
78624         * lib/fwritable.c (fwritable): Likewise.
78625         * lib/fwriting.c (fwriting): Likewise.
78626         Reported by Roger Cornelius <rac@tenzing.org> and
78627         Brian K. White <brian@aljex.com>.
78629 2008-04-06  Jim Meyering  <meyering@redhat.com>
78631         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
78633 2008-04-06  Bruno Haible  <bruno@clisp.org>
78635         Avoid possible error with non-ASCII bytes in UTF-8 locales.
78636         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
78637         * tests/test-printf-posix.sh: Likewise.
78638         * tests/test-vfprintf-posix.sh: Likewise.
78639         * tests/test-vprintf-posix.sh: Likewise.
78640         * tests/test-xprintf-posix.sh: Likewise.
78642 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78644         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
78645         hide error from 'ls', needed on OS/2.
78646         Report by Elbert Pol <elbert.pol@gmail.com>.
78648 2008-04-04  Eric Blake  <ebb9@byu.net>
78650         Make test-fseeko.c failures meaningful.
78651         * tests/test-fseeko.c: Print line number on failure.
78652         * tests/test-fseek.c: Likewise.
78653         Reported by Nelson H. F. Beebe.
78655         Improve strtod bug detection check.
78656         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
78657         required for Solaris 10.
78658         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
78660 2008-04-04  Bruno Haible  <bruno@clisp.org>
78662         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
78663         by m4/setenv.m4.
78665 2008-04-03  Eric Blake  <ebb9@byu.net>
78667         Ensure sane .version contents.
78668         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
78669         version string.
78670         * build-aux/git-version-gen: Improve documentation.
78672         Make GNU make output nicer.
78673         * top/GNUmakefile [!_have-Makefile]: Add dependency on
78674         MAKECMDGOALS to enforce message for all command line targets.  Set
78675         srcdir for use in maint.mk.
78677         Another maintainer tweak.
78678         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
78679         a target that regenerates version.
78681 2008-04-03  Jim Meyering  <meyering@redhat.com>
78683         vc-list-files: don't cause coreutils "make po-check" failure
78684         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
78686 2008-04-03  Eric Blake  <ebb9@byu.net>
78688         Allow VPATH usage of vc-list-files.
78689         * build-aux/vc-list-files (scriptversion): Add timestamp.
78690         (options): Add --help, --version, -C.
78691         (CVS): Support installed cvsu.
78693 2008-04-02  Bruno Haible  <bruno@clisp.org>
78695         Avoid some "statement with no effect" warnings from gcc.
78696         * tests/test-wctype.c (main): Explicitly ignore unused values.
78697         Reported by Jim Meyering.
78699 2008-04-02  Jim Meyering  <meyering@redhat.com>
78701         Avoid some warnings from "gcc -Wshadow".
78702         * tests/test-frexp.c (exp): Define to a different identifier.
78703         * tests/test-frexpl.c (exp): Likewise.
78705 2008-04-03  Jim Meyering  <meyering@redhat.com>
78707         bootstrap: remove dangling *.[ch] symlinks from lib
78708         * build-aux/bootstrap [dangling symlink removal]: Move find's
78709         -depth option to precede all others, to avoid a warning.
78710         Remove *.[ch] files too, and from "$source_base" (usually lib/).
78712 2008-04-02  Bruno Haible  <bruno@clisp.org>
78714         Avoid some warnings from "gcc -Wshadow".
78715         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
78716         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
78717         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
78718         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
78719         Reported by Jim Meyering.
78721 2008-04-01  Bruno Haible  <bruno@clisp.org>
78723         Fix test to work on IRIX 6.5 with cc.
78724         * tests/test-math.c (numeric_equal): New function.
78725         (main): Use it.
78727 2008-04-01  Bruno Haible  <bruno@clisp.org>
78729         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
78731 2008-04-01  Bruno Haible  <bruno@clisp.org>
78733         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
78734         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
78735         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
78736         (Depends-on): Remove math.
78738         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
78739         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
78740         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
78741         (Depends-on): Remove math.
78743         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
78744         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
78745         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
78746         (Depends-on): Remove math.
78747         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
78748         (Depends-on): Remove math.
78750         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
78751         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
78752         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
78753         (Depends-on): Remove math.
78754         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
78755         (Depends-on): Remove math.
78757         * tests/test-round1.c: Include nan.h.
78758         (main): Use NaNd instead of NAN.
78759         * modules/round-tests (Files): Add tests/nan.h.
78761         * tests/test-trunc1.c: Include nan.h.
78762         (main): Use NaNd instead of NAN.
78763         * modules/trunc-tests (Files): Add tests/nan.h.
78765         * tests/test-roundf1.c: Include nan.h.
78766         (main): Use NaNf instead of NAN.
78767         * modules/roundf-tests (Files): Add tests/nan.h.
78769         * tests/test-truncf1.c: Include nan.h.
78770         (main): Use NaNf instead of NAN.
78771         * modules/truncf-tests (Files): Add tests/nan.h.
78773         * tests/test-ceilf1.c: Include nan.h.
78774         (main): Use NaNf instead of NAN.
78775         * modules/ceilf-tests (Files): Add tests/nan.h.
78777         * tests/test-floorf1.c: Include nan.h.
78778         (main): Use NaNf instead of NAN.
78779         * modules/floorf-tests (Files): Add tests/nan.h.
78781         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
78782         (main): Use NaNf instead of NAN.
78783         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
78785         * tests/test-isnand.c: Include nan.h instead of <math.h>.
78786         (main): Use NaNd instead of NAN.
78787         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
78789         * tests/test-frexp.c: Include nan.h.
78790         (main): Use NaNd instead of NAN.
78791         * modules/frexp-tests (Files): Add tests/nan.h.
78793         * lib/isnan.c: Don't include <math.h>.
78794         (FUNC): Don't use NAN macro.
78795         * modules/isnand-nolibm (Depends-on): Remove math.
78796         * modules/isnanf-nolibm (Depends-on): Remove math.
78797         * modules/isnanl (Depends-on): Remove math.
78798         * modules/isnanl-nolibm (Depends-on): Remove math.
78800         * tests/nan.h: New file.
78802 2008-04-01  Eric Blake  <ebb9@byu.net>
78804         Fix typos.
78805         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
78806         values to be the right type.
78808         For now, cater to gnulib strtod inaccuracies.
78809         * tests/test-strtod.c (main): Allow 1-ulp error on expected
78810         fractional results.  While not as nice from a QoI perspective, it
78811         is a quicker patch than correctly implementing decimal to binary
78812         rounding.
78814 2008-03-31  Eric Blake  <ebb9@byu.net>
78816         Guarantee a definition of NAN.
78817         * lib/math.in.h (NAN): Define if missing.
78818         * tests/test-math.c (main): Test it.
78819         * doc/posix-headers/math.texi (math.h): Document this.
78820         * lib/isnan.c (rpl_isnand): Use it.
78821         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
78822         * tests/test-floorf1.c (NaN): Likewise.
78823         * tests/test-frexp.c (NaN): Likewise.
78824         * tests/test-isnand.c (NaN): Likewise.
78825         * tests/test-isnanf.c (NaN): Likewise.
78826         * tests/test-round1.c (NaN): Likewise.
78827         * tests/test-roundf1.c (NaN): Likewise.
78828         * tests/test-snprintf-posix.h (NaN): Likewise.
78829         * tests/test-sprintf-posix.h (NaN): Likewise.
78830         * tests/test-trunc1.c (NaN): Likewise.
78831         * tests/test-truncf1.c (NaN): Likewise.
78832         * tests/test-vasnprintf-posix.c (NaN): Likewise.
78833         * tests/test-vasprintf-posix.c (NaN): Likewise.
78834         * modules/isnand-nolibm (Depends-on): Add math.
78835         * modules/isnanf-nolibm (Depends-on): Likewise.
78836         * modules/isnanl (Depends-on): Likewise.
78837         * modules/isnanl-nolibm (Depends-on): Likewise.
78838         * modules/snprintf-posix-tests (Depends-on): Likewise.
78839         * modules/sprintf-posix-tests (Depends-on): Likewise.
78840         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
78841         * modules/vsprintf-posix-tests (Depends-on): Likewise.
78842         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
78843         * modules/vasprintf-posix-tests (Depends-on): Likewise.
78845 2008-03-31  Bruno Haible  <bruno@clisp.org>
78847         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
78848         * doc/posix-functions/strtod.texi: Likewise.
78850 2008-03-31  Bruno Haible  <bruno@clisp.org>
78852         * tests/test-strtod.c (main): Don't use C99 syntax.
78854 2008-03-31  Bruno Haible  <bruno@clisp.org>
78856         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
78857         Reported by Eric Blake.
78859 2008-03-31  Jim Meyering  <meyering@redhat.com>
78861         Don't compare actual signbit return values.
78862         * tests/test-strtod.c (main): Rather, compare only their
78863         zero/non-zero nature.
78865 2008-03-31  Eric Blake  <ebb9@byu.net>
78867         More strtod documentation.
78868         * doc/posix-functions/strtod.texi (strtod): Interpret more test
78869         failures as distinct bugs.
78871 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
78873         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
78874         Problem reported by Erik Benada in
78875         <http://lists.gnu.org/r/bug-gnulib/2008-03/msg00249.html>.
78877 2008-03-30  Bruno Haible  <bruno@clisp.org>
78879         * tests/test-strtod.c: Add comments about which assertion fails on which
78880         platform.
78881         * doc/posix-functions/strtod.texi: Add info about many more platforms.
78883 2008-03-30  Eric Blake  <ebb9@byu.net>
78885         Test signbit behavior on zeros.
78886         * tests/test-signbit.c (test_signbitf): Add tests for zero.
78887         (test_signbitd, test_signbitl): Likewise.
78889         More strtod touchups.
78890         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
78891         sign of negative underflow, for now.  Use .5, not .1.
78892         * doc/posix-functions/strtod.texi (strtod): Mention these
78893         limitations.
78894         Reported by Jim Meyering.
78896 2008-03-30  Bruno Haible  <bruno@clisp.org>
78898         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
78899         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
78901 2008-03-30  Bruno Haible  <bruno@clisp.org>
78903         Avoid failure when attempting to return empty iconv results on some
78904         platforms.
78905         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
78906         allocation, don't report ENOMEM when the resulting string is empty.
78908 2008-03-30  Bruno Haible  <bruno@clisp.org>
78910         Fix buffer overrun.
78911         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
78912         Don't consider the width for tmp_length. Check count against tmp_length
78913         before doing the padding. Ensure enough allocation during padding.
78915 2008-03-30  Eric Blake  <ebb9@byu.net>
78917         strtod touchups.
78918         * lib/strtod.c (strtod): Avoid compiler warnings.
78919         Reported by Jim Meyering.
78921 2008-03-30  Bruno Haible  <bruno@clisp.org>
78923         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
78924         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
78925         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
78926         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
78927         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
78928         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
78929         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
78930         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
78932         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
78933         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
78934         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
78935         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
78936         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
78937         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
78938         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
78939         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
78941         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
78942         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
78943         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
78944         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
78945         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
78946         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
78947         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
78948         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
78950         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
78951         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
78953         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
78954         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
78956         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
78957         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
78959         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
78960         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
78961         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
78963         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
78964         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
78965         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
78967         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
78968         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
78969         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
78971         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
78972         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
78973         * modules/vasprintf (Depends-on): Add EOVERFLOW.
78975         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
78976         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
78977         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
78978         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
78979         (Depends-on): Add EOVERFLOW.
78980         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
78981         (Depends-on): Add EOVERFLOW.
78982         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
78983         (Depends-on): Add EOVERFLOW.
78984         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
78985         (Depends-on): Add EOVERFLOW.
78986         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
78987         (Depends-on): Add EOVERFLOW.
78988         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
78989         (Depends-on): Add EOVERFLOW.
78990         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
78991         (Depends-on): Add EOVERFLOW.
78992         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
78993         (Depends-on): Add EOVERFLOW.
78995         * lib/sprintf.c (EOVERFLOW): Remove fallback.
78996         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
78997         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
78999         * lib/snprintf.c (EOVERFLOW): Remove fallback.
79000         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
79001         * modules/snprintf (Depends-on): Add EOVERFLOW.
79003         * lib/poll.c (EOVERFLOW): Remove fallback.
79004         * modules/poll (Depends-on): Add EOVERFLOW.
79006         * lib/getugroups.c (EOVERFLOW): Remove fallback.
79007         * modules/getugroups (Depends-on): Add EOVERFLOW.
79009         * lib/getdelim.c (EOVERFLOW): Remove fallback.
79010         * modules/getdelim (Depends-on): Add EOVERFLOW.
79012         * lib/ftell.c (EOVERFLOW): Remove fallback.
79013         * modules/ftell (Depends-on): Add EOVERFLOW.
79015         * lib/fprintf.c (EOVERFLOW): Remove fallback.
79016         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
79017         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
79019         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
79021         * modules/EOVERFLOW-tests: New file.
79022         * tests/test-EOVERFLOW.c: New file.
79024         * modules/EOVERFLOW: New file.
79025         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
79027 2008-03-30  Bruno Haible  <bruno@clisp.org>
79029         Fix bug introduced on 2007-06-10.
79030         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
79031         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
79033 2008-03-30  Bruno Haible  <bruno@clisp.org>
79035         Improve freadseek's efficiency after ungetc.
79036         * lib/freadseek.c: Include freadahead.h.
79037         (freadptrinc): New function, extracted from freadseek.
79038         (freadseek): Use it in a loop. Use freadahead to determine the number
79039         of loop iterations.
79040         * modules/freadseek (Depends-on): Add freadahead.
79041         (configure.ac): Require AC_C_INLINE.
79043 2008-03-30  Bruno Haible  <bruno@clisp.org>
79045         * lib/freadseek.c (freadseek): Don't ignore the return value of
79046         freadptr.
79048 2008-03-29  Eric Blake  <ebb9@byu.net>
79050         Add hex float support.
79051         * modules/strtod (Depends-on): Add c-ctype.
79052         (Link): Mention POW_LIB.
79053         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
79054         whitespace between 'e' and exponent.
79055         * tests/test-strtod.c (main): Enable hex float tests.
79056         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
79057         now provides.
79059         Document various strtod bugs, with some fixes.
79060         * doc/posix-functions/strtod.texi (strtod): Document bugs with
79061         "-0x", "inf", "nan", and hex constants.
79062         * doc/posix-functions/atof.texi (atof): Likewise.
79063         * modules/stdlib (Makefile.am): Support strtod.
79064         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
79065         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
79066         detect additional strtod bugs.
79067         * lib/stdlib.in.h (rpl_strtod): Add declarations.
79068         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
79069         bool where appropriate.  Parse 'inf' and 'nan'.
79070         * tests/test-strtod.c: New file.
79071         * modules/strtod (Depends-on): Add stdbool, stdlib.
79072         (configure.ac): Turn on module indicator.
79073         * modules/strtod-tests: New module.
79075 2008-03-29  Eric Blake  <ebb9@byu.net>
79077         Fix ftell on mingw.
79078         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
79079         * modules/ftell-tests (Depends-on): Add binary-io.
79080         * modules/ftello-tests (Depends-on): Likewise.
79081         * tests/test-ftell.c (main): Enhance test to cover behavior after
79082         ungetc.  Enforce binary mode.
79083         * tests/test-ftello.c (main): Likewise.
79085         Pass test-freadseek on cygwin.
79086         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
79087         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
79088         ungetc buffer.
79090         * tests/test-fflush2.c (main): Fix typo.
79092 2008-03-29  Bruno Haible  <bruno@clisp.org>
79094         * tests/test-fflush2.c (main): Temporarily disable the contents of
79095         this test.
79096         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
79097         Reported by Eric Blake.
79099 2008-03-28  Simon Josefsson  <simon@josefsson.org>
79101         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
79102         (GC_SHA224_DIGEST_SIZE): Add.
79104         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
79105         (gc_hash_digest_length): Likewise.
79106         (gc_hash_buffer): Likewise.
79108 2008-03-25  Bruno Haible  <bruno@clisp.org>
79110         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
79111         detail which gettext release to use.
79112         Reported by Simon Josefsson.
79114 2008-03-26  Jim Meyering  <meyering@redhat.com>
79116         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
79117         * modules/gnumakefile (clean-GNUmakefile): Also, use
79118         test ... && ... || : syntax rather than if-then ... fi.
79120         gnumakefile: Don't double-quote-expand $(VPATH) value.
79121         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
79123 2008-03-24  Eric Blake  <ebb9@byu.net>
79125         Alter GNUmakefile to install into top directory.
79126         * modules/maintainer-makefile: Split, and add dependency...
79127         * modules/gnumakefile: to this new module.
79128         * build-aux/GNUmakefile: Move...
79129         * top/GNUmakefile: ...here.
79130         * build-aux/maint.mk: Move...
79131         * top/maint.mk: ...here.
79132         * MODULES.html.sh (Support for maintaining...): Document new
79133         module.
79135 2008-03-23  Bruno Haible  <bruno@clisp.org>
79137         * gnulib-tool: New options --vc-files, --no-vc-files.
79138         (func_usage): Document them.
79139         (vc_files): New variable.
79140         (func_import): Consider vc_files.
79141         (func_create_testdir): Set vc_files to empty.
79142         Suggested by Jim Meyering and Karl Berry.
79144 2008-03-23  Bruno Haible  <bruno@clisp.org>
79146         Fix regex compilation error on HP-UX 11.
79147         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
79148         * modules/regex (Files): Add m4/mbstate_t.m4.
79149         Reported by Ton Voon <ton.voon@altinity.com>.
79151 2008-03-23  Bruno Haible  <bruno@clisp.org>
79153         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
79155 2008-03-23  Eric Blake  <ebb9@byu.net>
79156             Bruno Haible  <bruno@clisp.org>
79158         Install files from top/ in the destination directory.
79159         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
79160         augmentation also for the files from top/.
79161         (func_import, func_create_testdir): Rewrite file names:
79162         top/filename -> filename.
79164 2008-03-23  Bruno Haible  <bruno@clisp.org>
79166         Tweak "gnulib --version" output.
79167         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
79169 2008-03-23  Bruno Haible  <bruno@clisp.org>
79171         Tweak "gnulib --version" output.
79172         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
79173         rather than contents of ChangeLog, when possible.
79175 2008-03-21  Eric Blake  <ebb9@byu.net>
79177         More --version tweaks.
79178         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
79179         date of last ChangeLog entry.
79181 2008-03-21  Jim Meyering  <meyering@redhat.com>
79183         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
79185 2008-03-20  Eric Blake  <ebb9@byu.net>
79187         VPATH fix.
79188         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
79190 2008-03-20  Simon Josefsson  <simon@josefsson.org>
79192         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
79193         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
79195 2008-03-20  Eric Blake  <ebb9@byu.net>
79197         Sync GNUmakefile with coreutils.
79198         * build-aux/GNUmakefile (have-Makefile): Rename...
79199         (_have-Makefile): ...to this, for namespace consideration.
79200         (GNUmakefile.cfg): Include, if present.
79201         (_autoreconf): Define a default.
79202         (_is-dist-target): New rule for rebuilds to pick up intra-release
79203         version.
79204         (maint-cfg.mk): Rename...
79205         (cfg.mk): ...to this.
79207 2008-03-18  Jim Meyering  <meyering@redhat.com>
79209         New script and module: mktempd
79210         * MODULES.html.sh (maint+release support): Add mktempd.
79211         * build-aux/mktempd: New file.
79212         * modules/mktempd: New file.
79214 2008-03-15  Jim Meyering  <meyering@redhat.com>
79216         Undo last change.
79217         * lib/sha1.c, lib/md5.c: 63 != ~63.
79218         Reported by Andreas Schwab.
79220         sha1.c, md5.c: Hoist a redundant expression.
79221         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
79222         "ctx->buflen" only once, before calling *_process_block.
79223         * lib/md5.c (md5_process_bytes): Likewise.
79225 2008-03-14  Eric Blake  <ebb9@byu.net>
79227         Bump copyright year in files generated by gnulib-tool.
79228         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
79229         gnulib-tool, rather than hard-coding it.
79231         Fix 'gnulib-tool --version' output to work with git.
79232         * gnulib-tool (func_gnulib_dir): New function, extracted from...
79233         (startup): ...here.
79234         (func_version): Use it to invoke git-version-gen, rather than
79235         relying on CVS keyword expansion.  Modernize wording.
79236         (cvsdatestamp, last_checkin_date, version): Kill unused
79237         variables.
79239 2008-03-12  Jim Meyering  <meyering@redhat.com>
79241         Recognize optional cast of the argument to free.
79242         * build-aux/useless-if-before-free: Update regexps.
79244         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
79246 2008-03-11  Bruno Haible  <bruno@clisp.org>
79248         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
79249         by a single package.
79250         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
79251         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
79252         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
79253         Reported by Sam Steingold <sds@gnu.org>.
79255 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
79257         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
79258         repositories.
79260 2008-03-11  Bruno Haible  <bruno@clisp.org>
79262         Avoid conflicts between local macro definitions.
79263         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
79264         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
79266 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
79267             Bruno Haible  <bruno@clisp.org>
79269         Make va_copy work with some version of xlc on AIX 5.1.
79270         * lib/stdarg.in.h: New file.
79271         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
79272         On AIX, use a <stdarg.h> file substitute.
79273         * modules/stdarg (Files): Add lib/stdarg.in.h.
79274         (Depends-on): Add include_next.
79275         (Makefile.am): Build a stdarg.h substitute if requested.
79276         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
79278 2008-03-10  Bruno Haible  <bruno@clisp.org>
79280         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
79281         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
79282         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
79284 2008-03-10  Bruno Haible  <bruno@clisp.org>
79286         * modules/stdlib (Depends-on): Add include_next, remove
79287         absolute-header.
79289 2008-03-09  Bruno Haible  <bruno@clisp.org>
79291         * lib/freadahead.h (freadahead): Document more precisely.
79292         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
79293         the sum of both buffer sizes.
79294         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
79295         * NEWS: Document the change.
79297 2008-03-09  Bruno Haible  <bruno@clisp.org>
79299         Extend freadptr to return also the buffer size.
79300         * lib/freadptr.h (freadptr): Add sizep argument.
79301         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
79302         (freadptr): Add sizep argument. Determine buffer size like freadahead
79303         does.
79304         * tests/test-freadptr.c: Don't include freadahead.h.
79305         (main): Adapt for new calling convention of freadptr.
79306         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
79307         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
79308         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
79309         tests/test-freadptr2.sh.
79310         (Depends): Remove freadahead.
79311         (TESTS): Add test-freadptr2.sh.
79312         (check_PROGRAMS): Add test-freadptr2.
79314 2008-03-09  Bruno Haible  <bruno@clisp.org>
79316         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
79317         Report and solution by Simon Josefsson.
79319 2008-03-06  Bruno Haible  <bruno@clisp.org>
79321         Make fflush after ungetc work on BSD platforms.
79322         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
79323         * tests/test-fflush2.c: New file.
79324         * tests/test-fflush2.sh: New file.
79325         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
79326         tests/test-fflush2.c.
79327         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
79328         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
79330 2008-03-06  Eric Blake  <ebb9@byu.net>
79332         Likewise for ftello.
79333         * modules/ftello (Dependencies): Add extensions.
79334         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
79336 2008-03-06  Bruno Haible  <bruno@clisp.org>
79338         * modules/fseeko (Dependencies): Add extensions.
79339         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
79340         Needed on glibc systems.
79342 2008-03-06  Bruno Haible  <bruno@clisp.org>
79344         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
79345         email address.
79346         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
79348 2008-03-06  Bruno Haible  <bruno@clisp.org>
79350         * users.txt: Add libgnupdf.
79352 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
79354         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
79355         (Header File Substitutes, Function Substitutes,
79356         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
79357         (Build robot for gnulib): Fix typo.
79359 2008-03-06  Bruno Haible  <bruno@clisp.org>
79361         * doc/gnulib-tool.texi (VCS Issues): Small updates.
79362         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
79364 2008-03-06  Bruno Haible  <bruno@clisp.org>
79366         * doc/func.texi: New file, extracted from doc/gnulib.texi.
79367         * doc/gnulib.texi: Include it.
79369 2008-03-06  Simon Josefsson  <simon@josefsson.org>
79371         * modules/func (License): Change license to unlimited; there was
79372         no LGPL parts in the module anyway.
79374 2008-03-06  Simon Josefsson  <simon@josefsson.org>
79376         * modules/__func__: Renamed to modules/func.
79377         * modules/__func__-tests: Renamed to modules/func-tests.
79378         * tests/test-__func__.c: Renamed to tests/test-func.c.
79379         * m4/__func__.m4: Renamed to m4/func.m4.
79380         * doc/gnulib.texi (__func__): Section renamed to func.
79381         Suggested by Eric Blake <ebb9@byu.net>.
79383 2008-03-06  Simon Josefsson  <simon@josefsson.org>
79385         * doc/gnulib.texi (__func__): Use C99 terminology when talking
79386         about __func__.  Make example self-contained.  Suggested by Eric
79387         Blake <ebb9@byu.net>.
79389         * tests/test-__func__.c (main): Avoid extraneous () around __func.
79390         Suggested by Eric Blake <ebb9@byu.net>.
79392 2008-03-06  Simon Josefsson  <simon@josefsson.org>
79394         * modules/__func__: New file.
79395         * modules/__func__-tests: New file.
79396         * tests/test-__func__.c: New file.
79397         * m4/__func__.m4: New file.
79398         * doc/gnulib.texi (__func__): Document __func__ module.
79400 2008-03-05  Simon Josefsson  <simon@josefsson.org>
79402         * modules/byteswap (License): Re-license as LGPLv2+.
79404 2008-03-05  Simon Josefsson  <simon@josefsson.org>
79406         * doc/Makefile: Add pdf target.
79408 2008-03-05  Simon Josefsson  <simon@josefsson.org>
79410         * modules/inline (License): Use 'unlimited', since there are only
79411         *.m4 files in this module.
79413 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
79414             Bruno Haible  <bruno@clisp.org>
79416         Add support for HP C 7.1 on OpenVMS 8.3.
79417         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
79419 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
79421         Update VMS specifics.
79422         * lib/getopt.c [VMS]: Remove include of unixlib.h.
79424 2008-03-02  Jim Meyering  <meyering@redhat.com>
79426         Remove the last dependency on the "free" module.
79427         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
79428         Reported by Bob Proulx.
79430         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
79432         Remove useless "if" tests before free.  Deprecate "free" module.
79433         * doc/posix-functions/free.texi: Mention that this
79434         module is no longer useful.
79435         * modules/free (Notice): Say this module is obsolete.
79436         * modules/readutmp (Depends-on): Remove free.
79437         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
79438         * lib/putenv.c (putenv): Likewise.
79439         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
79440         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
79441         * tests/test-c-strcasestr.c (main): Likewise.
79442         * tests/test-c-strstr.c (main): Likewise.
79443         * tests/test-mbscasestr1.c (main): Likewise.
79444         * tests/test-mbscasestr2.c (main): Likewise.
79445         * tests/test-mbsstr1.c (main): Likewise.
79446         * tests/test-mbsstr2.c (main): Likewise.
79447         * tests/test-memmem.c (main): Likewise.
79448         * tests/test-strcasestr.c (main): Likewise.
79449         * tests/test-striconv.c (main): Likewise.
79450         * tests/test-striconveh.c (main): Likewise.
79451         * tests/test-striconveha.c (main): Likewise.
79452         * tests/test-strstr.c (main): Likewise.
79454         * build-aux/git-version-gen: Adjust a comment and the Usage string.
79456         bootstrap: sync from coreutils again
79457         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
79459 2008-03-01  Jim Meyering  <meyering@redhat.com>
79461         bootstrap: sync from coreutils
79462         * build-aux/bootstrap (update_po_files): Copy a .po file into place
79463         also when the target doesn't exist.
79465 2008-03-01  Eric Blake  <ebb9@byu.net>
79467         Fix bugs in last patch.
79468         * lib/memchr2.c (memchr2): Fix typo.
79469         * tests/test-memchr2.c: Test previous bug, and don't use GNU
79470         extension.
79471         Reported by Bruce Korb.
79473         New module 'memchr2'.
79474         * modules/memchr2: New file.
79475         * modules/memchr2-tests: Likewise.
79476         * lib/memchr2.h: Likewise.
79477         * lib/memchr2.c: Likewise, based on memchr.c.
79478         * tests/test-memchr2.c: New test.
79479         * MODULES.html.sh (String handling): Add memchr2.
79481 2008-02-29  Bruno Haible  <bruno@clisp.org>
79483         * modules/freadseek-tests: New file.
79484         * tests/test-freadseek.sh: New file.
79485         * tests/test-freadseek.c: New file.
79487         New module 'freadseek'.
79488         * modules/freadseek: New file.
79489         * lib/freadseek.h: New file.
79490         * lib/freadseek.c: New file.
79491         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
79493 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
79495         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
79496         wydawca.
79498         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
79499         program_invocation_name and program_invocation_short_name are
79500         present.
79502 2008-02-28  Bruno Haible  <bruno@clisp.org>
79504         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
79505         * tests/test-freadptr.sh: Also test non-seekable stdin.
79507 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
79509         * build-aux/bootstrap (source_base, m4_base)
79510         (doc_base, tests_base): New variables.
79511         (gnulib_tool_options): Do not hardcode base directories, use
79512         the above variables instead.
79514 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
79516         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
79518 2008-02-28  Bruno Haible  <bruno@clisp.org>
79520         * modules/freadptr-tests: New file.
79521         * tests/test-freadptr.sh: New file.
79522         * tests/test-freadptr.c: New file.
79524         New module 'freadptr'.
79525         * modules/freadptr: New file.
79526         * lib/freadptr.h: New file.
79527         * lib/freadptr.c: New file.
79528         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
79530 2008-02-26  Karl Berry  <karl@freefriends.org>
79532         Sync from Libtool:
79533         * libltdl/argz.c (argz_add, argz_count): New functions.
79534         * libltdl/argz.in.h: Declare them.
79535         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
79537 2008-02-22  Bruno Haible  <bruno@clisp.org>
79539         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
79540         is a pointer type.  Needed for HP-UX 10.
79541         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
79542         * doc/posix-functions/gmtime_r.texi: Likewise.
79543         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
79545 2008-02-24  Bruno Haible  <bruno@clisp.org>
79547         * modules/environ-tests: New file.
79548         * tests/test-environ.c: New file.
79550         New module 'environ'.
79551         * modules/environ: New file.
79552         * lib/unistd.in.h (environ): New declaration.
79553         * m4/environ.m4: New file.
79554         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
79555         after use.
79556         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
79557         HAVE_DECL_ENVIRON.
79558         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
79559         HAVE_DECL_ENVIRON.
79560         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
79561         wrong claim that 'environ' is missing on some systems.
79562         * modules/execute (Depends-on): Add environ.
79563         * lib/execute.c (environ): Remove fallback declaration.
79564         * modules/pipe (Depends-on): Add environ.
79565         * lib/pipe.c (environ): Remove fallback declaration.
79566         * modules/setenv (Depends-on): Add environ.
79567         * lib/setenv.c (environ): Remove fallback declaration.
79568         * modules/unsetenv (Depends-on): Add environ.
79569         * lib/unsetenv.c (environ): Remove fallback declaration.
79570         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
79571         m4/environ.m4.
79572         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
79573         (gl_PREREQ_UNSETENV): Likewise.
79575 2008-02-24  Bruno Haible  <bruno@clisp.org>
79577         * doc/posix-functions/environ.texi: Document the MacOS X problem.
79579 2008-02-20  Bob Proulx  <bob@proulx.com>
79581         Enable use of older two part flavor 'git describe'.
79582         * build-aux/git-version-gen: If using the older two part flavor of
79583         git version then recreate the third part now present in the
79584         newer three part flavor of git describe.
79586 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
79588         * lib/fts.c (fts_build): Typo correction to comment.
79590 2008-02-17  Bruno Haible  <bruno@clisp.org>
79592         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
79593         generating no-op conflicts.
79595 2008-02-17  Bruno Haible  <bruno@clisp.org>
79597         Speed up by 10%.
79598         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
79599         result_entries, rather than an index-based loop.
79601 2008-02-17  Bruno Haible  <bruno@clisp.org>
79603         Speed up by 25%.
79604         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
79605         'hashcode_cached'.
79606         (entry_create): New function.
79607         (entry_hashcode): Use the cached hashcode if possible.
79608         (read_changelog_file, try_split_merged_entry): Use entry_create.
79610 2008-02-17  Bruno Haible  <bruno@clisp.org>
79612         Speed up from O(n^2) to O(n) for long ChangeLog files.
79613         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
79614         (read_changelog_file): Change implementation of entries_reversed list
79615         to rbtreehash.
79616         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
79618 2008-02-17  Bruno Haible  <bruno@clisp.org>
79620         New option --split-merged-entry.
79621         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
79622         (find_paragraph_end, try_split_merged_entry): New functions.
79623         (long_options): Add option --split-merged-entry.
79624         (usage): Document option --split-merged-entry.
79625         (main): Implement option --split-merged-entry.
79626         Reported by Eric Blake.
79628 2008-02-17  Bruno Haible  <bruno@clisp.org>
79630         * lib/git-merge-changelog.c: Include c-strstr.h.
79631         (main): Support the "git pull --rebase" situation.
79632         * modules/git-merge-changelog (Depends-on): Add c-strstr.
79633         Reported by Eric Blake.
79635 2008-02-16  Eric Blake  <ebb9@byu.net>
79637         Avoid doubling \ in common case of "c-maybe" quoting style.
79638         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
79639         eliding outer quotes.
79640         * lib/quotearg.h: Document this.
79641         * tests/test-quotearg.c (result_strings, inputs, results_g)
79642         (flag_results, locale_results): Test it by adding a new string to
79643         each test group.
79644         (compare_strings): Test new string.
79646 2008-02-13  Eric Blake  <ebb9@byu.net>
79648         Avoid trigraph quoting in default output.
79649         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
79650         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
79651         unless explicitly requested.
79652         * tests/test-quotearg.c (flag_results, main): Add additional tests.
79654 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
79656         Don't rely on signed integer overflowing to negative value.
79657         * lib/getugroups.c (getugroups): Include <limits.h>.
79658         Instead, compare against INT_MAX, and increment only if the test passes.
79660 2008-02-13  Jim Meyering  <meyering@redhat.com>
79661         and Eric Blake  <ebb9@byu.net>
79663         Avoid shadowing warning and compile errors on Linux.
79664         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
79665         forwarding macros on Linux.
79666         (dcgettext): Define a stub, for Linux.
79667         (results_g, main): Avoid warnings.
79669 2008-02-12  Eric Blake  <ebb9@byu.net>
79671         Silence warning in last patch.
79672         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
79674         Quotearg part 4: add tests, fix c-maybe colon quoting.
79675         * lib/quotearg.h: Improve documentation.
79676         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
79677         escapes when adding outer quotes.  When quoting trigraphs, use
79678         valid C notation.  When quoting NUL, omit extra characters if next
79679         character is not digit.  Alter prototype.
79680         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
79681         callers.
79682         * modules/quotearg-tests: New module.
79683         * tests/test-quotearg.c: New test.
79685 2008-02-07  Eric Blake  <ebb9@byu.net>
79687         Quotearg part 3: add flag to control outer quote elision.
79688         * lib/quotearg.h (c_maybe_quoting_style): New style.
79689         (enum quoting_flags): Better documentation of flags.
79690         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
79691         c-maybe style.
79692         (quotearg_buffer_restyled): Handle new flag to elide outer
79693         quotes.
79695         Quotearg part 2: add flag that can control NUL elision.
79696         * lib/quotearg.h (set_quoting_flags): New prototype.
79697         * lib/quotearg.c (struct quoting_options): Add flag field.
79698         (set_quoting_flags): New function.
79699         (quotearg_buffer_restyled): Add flags parameter.
79700         (quotearg_alloc_mem): Set the flag if length cannot be returned.
79701         (quotearg_n_options): Set the flag, since length cannot be
79702         returned.
79703         (quoting_options_from_style): Default flags correctly.
79705         Quotearg part 1: more wrappers, restore quotearg_char state.
79706         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
79707         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
79708         (quotearg_colon_mem): New wrappers.
79709         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
79710         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
79711         functions.
79712         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
79713         (quotearg_colon_mem): New functions.
79715 2008-02-11  Bruno Haible  <bruno@clisp.org>
79717         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
79718         library in the current directory: it does not work with parallel make.
79719         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
79721 2008-02-11  Bruno Haible  <bruno@clisp.org>
79723         * .gitattributes: New file.
79725 2008-02-11  Jim Meyering  <meyering@redhat.com>
79727         useless-if-before-free: Fix reversed exit values.
79728         * build-aux/useless-if-before-free: Use correct values
79729         for EXIT_MATCH and EXIT_NO_MATCH.
79731         * build-aux/useless-if-before-free: Close stdout carefully.
79733 2008-02-10  Bruno Haible  <bruno@clisp.org>
79735         New module 'git-merge-changelog'.
79736         * modules/git-merge-changelog: New file.
79737         * lib/git-merge-changelog.c: New file.
79739 2008-02-10  Jim Meyering  <meyering@redhat.com>
79741         useless-if-before-free: New option: --list (-l).
79743         useless-if-before-free: Don't exit immediately upon open failure.
79744         * build-aux/useless-if-before-free: Exit 2 for errors.
79745         Upon failure to open a file, don't exit immediately.
79746         Rather, just warn and continue with any remaining files.
79748 2008-02-10  Bruno Haible  <bruno@clisp.org>
79750         New abstract list operation 'node_set_value'.
79751         * lib/gl_list.h (gl_list_node_set_value): New function.
79752         (struct gl_list_implementation): New field node_set_value.
79753         * lib/gl_list.c (gl_list_node_set_value): New function.
79754         * lib/gl_array_list.c (gl_array_node_set_value): New function.
79755         (gl_array_list_implementation): Update.
79756         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
79757         (gl_carray_list_implementation): Update.
79758         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
79759         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
79760         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
79761         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
79762         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
79763         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
79764         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
79765         Update.
79766         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
79767         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
79768         (gl_sublist_list_implementation): Update.
79770 2008-02-10  Bruno Haible  <bruno@clisp.org>
79772         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
79773         Needed when ELEMENT is #defined to 'some_type *'.
79775 2008-02-10  Jim Meyering  <meyering@redhat.com>
79777         New script and module: useless-if-before-free
79778         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
79779         * build-aux/useless-if-before-free: New file.
79780         * modules/useless-if-before-free: New file.
79782         * build-aux/gitlog-to-changelog: Use committer date, not author date.
79784         xstrtol_error: Fix typo.
79785         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
79786         s/exit_failure/exit_status/.
79788 2008-02-09  Jim Meyering  <meyering@redhat.com>
79790         New script and module: gitlog-to-changelog
79791         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
79792         * modules/gitlog-to-changelog: New file.
79793         * build-aux/gitlog-to-changelog: New file.
79795 2008-02-08  Jim Meyering  <meyering@redhat.com>
79797         Avoid two "parameter unused" warnings.
79798         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
79799         Mark "st" as used.
79801         Use "git COMMAND", not "git-COMMAND".
79802         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
79803         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
79804         * build-aux/git-version-gen: Use "git status", not "git-status".
79806 2008-02-07  Bruno Haible  <bruno@clisp.org>
79808         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
79809         Avoids a crash on Windows Vista.
79810         Reported by Adam Strzelecki <ono@java.pl> via
79811         Simon Josefsson <simon@josefsson.org>.
79813 2008-02-06  Bruno Haible  <bruno@clisp.org>
79815         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
79816         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
79817         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
79818         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
79819         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
79820         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
79821         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
79822         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
79823         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
79824         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
79825         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
79826         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
79827         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
79828         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
79829         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
79830         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
79831         left-adjust flag.
79832         * tests/test-snprintf-posix.h (test_function): Likewise.
79833         * tests/test-sprintf-posix.h (test_function): Likewise.
79834         * tests/test-vasprintf-posix.c (test_function): Likewise.
79835         * doc/posix-functions/fprintf.texi: Update.
79836         * doc/posix-functions/printf.texi: Update.
79837         * doc/posix-functions/snprintf.texi: Update.
79838         * doc/posix-functions/sprintf.texi: Update.
79839         * doc/posix-functions/vfprintf.texi: Update.
79840         * doc/posix-functions/vprintf.texi: Update.
79841         * doc/posix-functions/vsnprintf.texi: Update.
79842         * doc/posix-functions/vsprintf.texi: Update.
79843         Reported by Peter Fales <psfales@alcatel-lucent.com>.
79845 2008-02-06  Bruno Haible  <bruno@clisp.org>
79847         Fix bug introduced on 2008-01-26.
79848         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
79850 2008-02-06  Bruno Haible  <bruno@clisp.org>
79852         Fix bug introduced on 2007-06-10.
79853         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
79854         !NEED_PRINTF_FLAG_ZERO.
79856 2008-02-05  Peter O'Gorman  <pogma@thewrittenword.com>
79858         getloadavg: use libperfstat on AIX5
79859         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
79861 2008-02-03  Bruno Haible  <bruno@clisp.org>
79863         * lib/diffseq.h: Add comments about required #includes.
79864         Reported by Michael Biggs <gnulib@doubleplum.net>.
79866 2008-02-01  Bruno Haible  <bruno@clisp.org>
79868         * users.txt: Add gnuit.
79870 2008-01-31  Bruno Haible  <bruno@clisp.org>
79872         * lib/md4.c (set_uint32): Mark as inline.
79873         * lib/md5.c (set_uint32): Likewise.
79874         * lib/sha1.c (set_uint32): Likewise.
79875         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
79876         * m4/md5.m4 (gl_MD5): Likewise.
79877         * m4/sha1.m4 (gl_SHA1): Likewise.
79879 2008-01-31  Jim Meyering  <meyering@redhat.com>
79881         Use "sizeof VAR", rather than a literal "4".
79882         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
79883         * lib/md4.c (md4_read_ctx): Likewise.
79884         * lib/sha1.c (sha1_read_ctx): Likewise.
79886 2008-01-31  Simon Josefsson  <simon@josefsson.org>
79888         * tests/test-sha1.c: New file, based on test-md5.c.
79890         * modules/crypto/sha1-tests: New file.
79892 2008-01-31  Simon Josefsson  <simon@josefsson.org>
79894         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
79896 2008-01-31  Jim Meyering  <meyering@redhat.com>
79898         Prefer "sizeof v" over the equivalent "4".
79899         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
79900         * lib/md5.c (set_uint32): Likewise.
79901         * lib/sha1.c (set_uint32): Likewise.
79903 2008-01-31  Simon Josefsson  <simon@josefsson.org>
79905         * lib/sha1.c (set_uint32): Mark function as static.
79907 2008-01-31  Simon Josefsson  <simon@josefsson.org>
79909         md2: clarify comments to say that alignment is not required.
79910         * lib/md2.h: Remove warning about alignment in comment.
79911         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
79912         never been required.
79914 2008-01-31  Simon Josefsson  <simon@josefsson.org>
79916         md4: adapt alignment constraint fix from sha1.
79917         * lib/md4.c (set_uint32): New function, from sha1.c
79918         (md4_read_ctx): Use it.
79919         (md4_finish_ctx): Doc fix.
79920         * lib/md4.h: Doc fix.
79922 2008-01-31  Simon Josefsson  <simon@josefsson.org>
79924         md5: adapt alignment constraint fix from sha1.
79925         * lib/md5.c (set_uint32): New function, from sha1.c
79926         (md5_read_ctx): Use it.
79927         (md5_finish_ctx): Doc fix.
79928         * lib/md5.h: Doc fix.
79930 2008-01-30  Peter Palfrader  <weasel@debian.org>
79932         sha1: remove the result buffer alignment constraint
79933         * lib/sha1.c (set_uint32): New function.
79934         (sha1_read_ctx): Rewrite to remove the result buffer alignment
79935         constraint.
79936         (sha1_finish_ctx): Remove comment warning about alignment constraint.
79937         * lib/sha1.h: Likewise.
79939 2008-01-30  Andreas Schwab  <schwab@suse.de>
79940             Bruno Haible  <bruno@clisp.org>
79942         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
79943         correct definition of LDBL_MIN_EXP.
79945 2008-01-30  Karl Berry  <karl@gnu.org>
79947         * config/srclist-update: try to preserve x bit on updates.
79948         * config/srclistvars.sh: update for karl.
79950 2008-01-29  Jim Meyering  <meyering@redhat.com>
79952         vasnprintf.c: Avoid warning about unused label
79953         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
79954         "overflow" label definition and associated code with the
79955         same cpp condition that guards the sole use of that label.
79957 2008-01-26  Bruno Haible  <bruno@clisp.org>
79959         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
79960         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
79961         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
79962         * lib/isnanl-nolibm.h (isnanl): Likewise.
79963         Reported by Paul Eggert <eggert@cs.ucla.edu>.
79965 2008-01-26  Bruno Haible  <bruno@clisp.org>
79967         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
79968         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
79970 2008-01-26  Bruno Haible  <bruno@clisp.org>
79972         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
79973         GCC >= 4.0 built-in.
79974         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
79976 2008-01-26  Bruno Haible  <bruno@clisp.org>
79978         Rename isnan, applicable to 'double' only, to isnand.
79979         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
79980         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
79981         (configure.ac): Update.
79982         (Include): Replace "isnan.h" with "isnand.h".
79983         * m4/isnand.m4: Renamed from m4/isnan.m4.
79984         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
79985         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
79986         instead of isnan.c.
79987         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
79988         instead of HAVE_ISNAN_IN_LIBC.
79989         (isnand): Renamed from isnan.
79990         * lib/isnand.c: New file.
79991         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
79992         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
79993         (Makefile.am): Update.
79994         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
79995         Include isnand.h instead of isnan.h.
79996         (main): Test isnand instead of isnan.
79997         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
79998         isnan-nolibm.
79999         * modules/frexp (Depends-on): Likewise.
80000         * modules/frexp-tests (Depends-on): Likewise.
80001         * modules/frexp-nolibm (Depends-on): Likewise.
80002         * modules/frexp-nolibm-tests (Depends-on): Likewise.
80003         * modules/isfinite (Depends-on): Likewise.
80004         * modules/round-tests (Depends-on): Likewise.
80005         * modules/signbit (Depends-on): Likewise.
80006         * modules/signbit-tests (Depends-on): Likewise.
80007         * modules/snprintf-posix (Depends-on): Likewise.
80008         * modules/sprintf-posix (Depends-on): Likewise.
80009         * modules/trunc-tests (Depends-on): Likewise.
80010         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
80011         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
80012         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
80013         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
80014         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
80015         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
80016         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
80017         * modules/vasnprintf-posix (Depends-on): Likewise.
80018         * modules/vasprintf-posix (Depends-on): Likewise.
80019         * modules/vfprintf-posix (Depends-on): Likewise.
80020         * modules/vsnprintf-posix (Depends-on): Likewise.
80021         * modules/vsprintf-posix (Depends-on): Likewise.
80022         * lib/frexp.c: Include isnand.h instead of isnan.h.
80023         (ISNAN): Set to isnand instead of isnan.
80024         * lib/isfinite.c: Include isnand.h instead of isnan.h.
80025         (gl_isfinited): Use isnand instead of isnan.
80026         * lib/signbitd.c: Include isnand.h instead of isnan.h.
80027         (gl_signbitd): Use isnand instead of isnan.
80028         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
80029         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
80030         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
80031         (main): Use isnand instead of isnan.
80032         * tests/test-round1.c: Include isnand.h.
80033         (main): Use isnand instead of isnan.
80034         * tests/test-round2.c: Include isnand.h instead of isnan.h.
80035         (ISNAN): Set to isnand instead of isnan.
80036         * tests/test-trunc1.c: Include isnand.h.
80037         (main): Use isnand instead of isnan.
80038         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
80039         (equal): Use isnand instead of isnan.
80040         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
80041         isnand-nolibm.
80042         * NEWS: Mention the change.
80044 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
80045             Bruno Haible  <bruno@clisp.org>
80047         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
80048         the GCC builtins for signbits are present and set
80049         REPLACE_SIGNBIT_USING_GCC if so.
80050         * lib/math.in.h (signbit): Define using GCC builtins if
80051         REPLACE_SIGNBIT_USING_GCC is set.
80052         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
80053         REPLACE_SIGNBIT_USING_GCC.
80054         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
80056 2008-01-25  Jim Meyering  <meyering@redhat.com>
80058         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
80059         * lib/poll.c: Include <config.h>, not "config.h".
80060         * tests/test-getaddrinfo.c: Likewise.
80062 2008-01-25  Simon Josefsson  <simon@josefsson.org>
80064         * modules/sockets-tests: New file.
80066 2008-01-24  Simon Josefsson  <simon@josefsson.org>
80068         * modules/sockets: New module, can be used to call WSA_Startup and
80069         WSA_Cleanup when needed.
80071         * lib/sockets.h, lib/sockets.c: New files.
80073         * m4/sockets.m4: New file.
80075         * tests/test-sockets.c: New file.
80077 2008-01-19  Bruno Haible  <bruno@clisp.org>
80079         * doc/posix-headers: Renamed from doc/headers.
80080         * doc/posix-functions: Renamed from doc/functions.
80081         * doc/gnulib.texi: Update.
80083 2008-01-19  Bruno Haible  <bruno@clisp.org>
80085         * doc/glibc-functions/strcasestr.texi: Include contents of
80086         doc/functions/strcasestr.texi, fixing the list of platforms.
80087         * doc/functions/strcasestr.texi: Remove file.
80089 2008-01-19  Bruno Haible  <bruno@clisp.org>
80091         * doc/glibc-functions/memmem.texi: Include contents of
80092         doc/functions/memmem.texi.
80093         * doc/functions/memmem.texi: Remove file.
80095 2008-01-18  Bruno Haible  <bruno@clisp.org>
80097         * doc/glibc-functions/*.texi: New files.
80098         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
80099         to use the new files.
80101 2008-01-17  Bruno Haible  <bruno@clisp.org>
80103         * tests/test-gethostname.c (main): Fix printf statement.
80105 2008-01-17  Simon Josefsson  <simon@josefsson.org>
80107         * modules/gethostname-tests: New file.
80109         * tests/test-gethostname.c: New file.
80111 2008-01-17  Simon Josefsson  <simon@josefsson.org>
80113         * lib/gethostname.c: Include string.h unconditionally, strncpy is
80114         used by the UNAME case.  Reported by Bruno Haible
80115         <bruno@clisp.org>.
80117 2008-01-17  Eric Blake  <ebb9@byu.net>
80119         Convert c-strcasestr to be more efficient.
80120         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
80121         (Depends-on): Add c-strcase, remove malloca, strnlen.
80122         * tests/test-c-strcasestr.c (main): Enhance test.
80123         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
80125 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
80127         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
80128         Use it in creating po/Makevars.
80130 2008-01-15  Simon Josefsson  <simon@josefsson.org>
80132         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
80133         Applications that requires it should initialize libgcrypt
80134         manually.
80136 2008-01-16  Simon Josefsson  <simon@josefsson.org>
80138         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
80140 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
80142         Fix problem with getdate on mingw32 reported by Simon Josefsson
80143         in <http://lists.gnu.org/r/bug-gnulib/2008-01/msg00192.html>.
80144         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
80145         tzname", when deciding whether to declare tzname.
80146         * lib/strftime.c (tzname): Likewise.
80148 2008-01-15  Bruno Haible  <bruno@clisp.org>
80150         Work around a MacOS X 10.5 bug in frexpl().
80151         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
80152         * doc/functions/frexpl.texi: Document the bug.
80153         Reported by Elias Pipping <pipping@gentoo.org>.
80155 2008-01-14  Eric Blake  <ebb9@byu.net>
80157         Touch up previous patch.
80158         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
80159         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
80161         Convert strcasestr module to use Two-Way algorithm.
80162         * modules/strcasestr-simple: New module, based on the old
80163         strcasestr, but with Two-Way rather than KMP.
80164         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
80165         * lib/string.in.h (rpl_strcasestr): Declare.
80166         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
80167         performance.
80168         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
80169         * modules/string (Makefile.am): Support strcasestr.
80170         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
80171         * modules/strcasestr-tests (Depends-on): Check for alarm.
80172         * tests/test-strcasestr.c: Augment test.
80173         * lib/str-two-way.h: Clean up stray macro.
80174         * NEWS: Document new module.
80175         * MODULES.html.sh (string handling): Likewise.
80176         * doc/functions/strcasestr.texi: New file.
80177         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
80178         here, since it is not a POSIX function.
80180 2008-01-14  Colin Watson  <cjwatson@debian.org>
80181             Bruno Haible  <bruno@clisp.org>
80183         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
80184         works fine; if not, set REPLACE_STRSIGNAL.
80185         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
80186         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
80187         REPLACE_STRSIGNAL.
80188         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
80189         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
80190         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
80192 2008-01-14  Bruno Haible  <bruno@clisp.org>
80194         * modules/strsignal (Include): Change to <string.h>.
80196 2008-01-14  Colin Watson  <cjwatson@debian.org>
80198         * modules/argp (Notice): Add a notice recommending to change
80199         XGETTEXT_OPTIONS.
80200         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
80202 2008-01-13  Colin Watson  <cjwatson@debian.org>
80204         * modules/strsignal-tests: New file.
80205         * tests/test-strsignal.c: New file.
80207         * lib/strsignal.c: New file, from glibc with modifications.
80208         * lib/siglist.h: New file, from glibc with modifications.
80209         * lib/string.in.h (strsignal): New declaration.
80210         * m4/strsignal.m4: New file.
80211         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
80212         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
80213         * modules/strsignal: New file.
80214         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
80215         HAVE_DECL_STRSIGNAL.
80217 2008-01-13  Bruno Haible  <bruno@clisp.org>
80219         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
80220         locale encoding is not ASCII. Needed for OpenBSD 4.0.
80221         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
80222         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
80224 2008-01-13  Bruno Haible  <bruno@clisp.org>
80226         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
80227         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
80228         * lib/argp.h (__attribute__): Likewise.
80229         * lib/c-stack.c (__attribute__): Likewise.
80230         * lib/error.h (__attribute__): Likewise.
80231         * lib/fts.c (__attribute__): Likewise.
80232         * lib/openat.h (__attribute__): Likewise.
80233         * lib/stdio.in.h (__attribute__): Likewise.
80234         * lib/string.in.h (__attribute__): Likewise.
80235         * lib/utimens.c (__attribute__): Likewise.
80236         * lib/vasnprintf.h (__attribute__): Likewise.
80237         * lib/xalloc.h (__attribute__): Likewise.
80238         * lib/xprintf.h (__attribute__): Likewise.
80239         * lib/xstrtol.h (__attribute__): Likewise.
80240         * lib/xvasprintf.h (__attribute__): Likewise.
80242 2008-01-12  Bruno Haible  <bruno@clisp.org>
80244         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
80245         * doc/glibc-headers/a.out.texi: New file.
80246         * doc/glibc-headers/aliases.texi: New file.
80247         * doc/glibc-headers/alloca.texi: New file.
80248         * doc/glibc-headers/ar.texi: New file.
80249         * doc/glibc-headers/argp.texi: New file.
80250         * doc/glibc-headers/argz.texi: New file.
80251         * doc/glibc-headers/byteswap.texi: New file.
80252         * doc/glibc-headers/crypt.texi: New file.
80253         * doc/glibc-headers/endian.texi: New file.
80254         * doc/glibc-headers/envz.texi: New file.
80255         * doc/glibc-headers/err.texi: New file.
80256         * doc/glibc-headers/error.texi: New file.
80257         * doc/glibc-headers/execinfo.texi: New file.
80258         * doc/glibc-headers/fpu_control.texi: New file.
80259         * doc/glibc-headers/fstab.texi: New file.
80260         * doc/glibc-headers/fts.texi: New file.
80261         * doc/glibc-headers/getopt.texi: New file.
80262         * doc/glibc-headers/ieee754.texi: New file.
80263         * doc/glibc-headers/ifaddrs.texi: New file.
80264         * doc/glibc-headers/libintl.texi: New file.
80265         * doc/glibc-headers/mcheck.texi: New file.
80266         * doc/glibc-headers/mntent.texi: New file.
80267         * doc/glibc-headers/obstack.texi: New file.
80268         * doc/glibc-headers/paths.texi: New file.
80269         * doc/glibc-headers/printf.texi: New file.
80270         * doc/glibc-headers/pty.texi: New file.
80271         * doc/glibc-headers/resolv.texi: New file.
80272         * doc/glibc-headers/shadow.texi: New file.
80273         * doc/glibc-headers/sysexits.texi: New file.
80274         * doc/glibc-headers/ttyent.texi: New file.
80276 2008-01-12  Jim Meyering  <meyering@redhat.com>
80278         announce-gen: emit Gnulib's git-based version string.
80279         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
80280         New option --gnulib-version=V, where V is expected to be
80281         the output of running git describe in the gnulib directory.
80282         (get_tool_versions): Request feedback on xdelta.  I suspect it's
80283         not useful, and plan to stop publishing an xdelta file with each
80284         coreutils release.
80286         * build-aux/announce-gen: Also check for lzma-compressed files.
80288 2008-01-11  Bruno Haible  <bruno@clisp.org>
80290         * tests/test-memmem.c (main): Increase maximum allowed time.
80291         * tests/test-strstr.c (main): Likewise.
80293 2008-01-11  Bruno Haible  <bruno@clisp.org>
80295         * doc/functions/memmem.texi: Add more precisions about platforms.
80296         * doc/functions/strstr.texi: Likewise.
80298 2008-01-10  Eric Blake  <ebb9@byu.net>
80300         * m4/strstr.m4: Delete cruft from copy-n-paste.
80301         Reported by Bruno Haible.
80303 2008-01-10  Bruno Haible  <bruno@clisp.org>
80305         Make c-strstr rely on strstr.
80306         * lib/c-strstr.c: Don't include str-kmp.h.
80307         (c_strstr): Define in terms of strstr.
80308         * modules/c-strstr (Files): Remove lib/str-kmp.h.
80309         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
80311 2008-01-10  Bruno Haible  <bruno@clisp.org>
80313         * doc/gnulib.texi (String Functions in C Locale): New section.
80314         * doc/c-ctype.texi: New file.
80315         * doc/c-strcase.texi: New file.
80316         * doc/c-strcaseeq.texi: New file.
80317         * doc/c-strcasestr.texi: New file.
80318         * doc/c-strstr.texi: New file.
80319         * doc/c-strtod.texi: New file.
80320         * doc/c-strtold.texi: New file.
80322 2008-01-10  Eric Blake  <ebb9@byu.net>
80324         * lib/relocatable.h: Fix a comment.
80326 2008-01-10  Eric Blake  <ebb9@byu.net>
80328         Share two-way algorithm.
80329         * lib/str-two-way.h: New file, merged from...
80330         * lib/memmem.c: ...here...
80331         * lib/strstr.c: ...and here.
80332         * modules/memmem (Files): Use it.
80333         * modules/strstr (Files): Likewise.
80335         Avoid quadratic strstr implementations.
80336         * lib/strstr.c: New file.
80337         * m4/strstr.m4: Likewise.
80338         * modules/strstr: Likewise.
80339         * modules/strstr-tests: Likewise.
80340         * tests/test-strstr.c: Likewise.
80341         * lib/string.in.h (rpl_strstr): Declare.
80342         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
80343         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
80344         * modules/string (Makefile.am): Likewise.
80345         * MODULES.html.sh (string handling): Mention new module.
80346         * doc/functions/strstr.texi (strstr): Document the bug.
80348 2008-01-10  Bruno Haible  <bruno@clisp.org>
80350         * lib/relocatable.h (relocate): State whether result is freshly
80351         allocated or not.
80352         * lib/relocatable.c (relocate): Return a freshly allocated string
80353         instead of a pointer to a privately held string.
80354         Reported by Sylvain Beucler <beuc@gnu.org>.
80356 2008-01-10  Colin Watson  <cjwatson@debian.org>
80358         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
80359         s/S_ISNLK/S_ISLNK/.
80361 2008-01-09  Bruno Haible  <bruno@clisp.org>
80363         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
80364         and other files.
80365         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
80366         if it's only a guess.
80367         * modules/memmem: Simplify by depending on memmem-simple.
80369 2008-01-09  Bruno Haible  <bruno@clisp.org>
80371         Work around OpenBSD 4.0 tdelete() bug.
80372         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
80373         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
80374         macros and don't redefine the enum values.
80375         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
80376         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
80377         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
80379 2008-01-09  Bruno Haible  <bruno@clisp.org>
80381         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
80382         (main): Don't perform the tests if setlocale did not install a UTF-8
80383         locale. Needed on OpenBSD 4.0.
80384         * modules/wcwidth-tests (Depends-on): Add localcharset.
80386 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
80388         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
80389         See <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00149.html>.
80390         * NEWS: announce this.
80391         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
80393 2008-01-09  Simon Josefsson  <simon@josefsson.org>
80394         and Eric Blake  <ebb9@byu.net>
80396         Add memmem-simple module.
80397         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
80398         (gl_FUNC_MEMMEM): Separate performance from presence checks.
80399         * modules/memmem-simple: New file.
80400         * modules/memmem (Description): Tweak.
80401         * MODULES.html.sh (string handling): Mention new module.
80402         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
80403         addressed by memmem-simple.
80404         * NEWS: Document the difference.
80406 2008-01-09  Eric Blake  <ebb9@byu.net>
80408         Give gcc some memmem optimization hints.
80409         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
80410         (strcasestr): Declare as pure.
80411         * modules/memmem (Maintainer): Claim my implementation.
80413 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80415         Support AIX 6.1 and higher.
80416         * build-aux/config.libpath: Likewise.
80417         * build-aux/config.rpath: Likewise.
80419 2008-01-08  Jim Meyering  <meyering@redhat.com>
80420             Bruno Haible  <bruno@clisp.org>
80422         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
80423         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
80424         Reported by Peter Fales in
80425         <http://lists.gnu.org/r/bug-coreutils/2007-12/msg00148.html>.
80427 2008-01-08  Bruno Haible  <bruno@clisp.org>
80429         * modules/unictype/category-of (Depends-on): Add
80430         unictype/category-none.
80431         * modules/unictype/category-and-tests (Depends-on): Add
80432         unictype/category-{L,N,Lu,Nd}.
80433         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
80434         * modules/unictype/category-or-tests (Depends-on): Add
80435         unictype/category-{L,N}.
80436         * modules/unictype/category-name-tests (Depends-on): Add
80437         unictype/category-{Z,Nl}.
80438         Reported by Simon Josefsson.
80440 2008-01-08  Bruno Haible  <bruno@clisp.org>
80442         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
80443         convention better.
80444         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
80445         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
80446         Reported by Peter Miller <millerp@canb.auug.org.au>.
80448 2008-01-08  Eric Blake  <ebb9@byu.net>
80450         Rewrite memmem to guarantee linear complexity without malloc.
80451         * lib/memmem.c (memmem): Use Two-Way rather than
80452         Knuth-Morris-Pratt, to allow O(1) space usage.
80453         (critical_factorization, two_way_short_needle)
80454         (two_way_long_needle): New functions.
80455         (knuth_morris_pratt): Delete.
80456         * modules/memmem (Depends-on): No longer need malloca or stdbool.
80457         Add stdint.
80458         * tests/test-memmem.c (main): Add tests for periodic needle and
80459         sublinear performance.
80460         * doc/functions/memmem.texi (memmem): Document other deficiencies
80461         in cygwin and older glibc.
80463 2008-01-08  Bruno Haible  <bruno@clisp.org>
80465         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
80466         augmentation.
80468 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
80470         Add a configure time option: --disable-acl.
80471         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
80472         AC_ARG_ENABLE(acl).
80474 2008-01-06  Simon Josefsson  <simon@josefsson.org>
80476         * tests/test-localename.c: Don't include obsolete "setenv.h".
80478         * modules/localename-tests (Depends-on): Need unsetenv.
80480 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80482         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
80484 2008-01-06  Colin Watson  <cjwatson@debian.org>
80486         * users.txt: Add man-db.
80488 2008-01-07  Bruno Haible  <bruno@clisp.org>
80490         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
80491         previous section name.
80493 2008-01-07  Bruno Haible  <bruno@clisp.org>
80495         * lib/progname.c (set_program_name): Don't strip off a leading
80496         "lt-" prefix outside a .libs directory.
80497         Suggested by Paul Eggert.
80499 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
80500             Bruno Haible  <bruno@clisp.org>
80502         Improve memory cleanup in 'relocatable' module.
80503         * lib/relocatable.h (compute_curr_prefix): Change return type to
80504         'char *'.
80505         * lib/relocatable.c (compute_curr_prefix): Change return type to
80506         'char *'. Free curr_installdir after use.
80507         (relocate): Free curr_prefix_better after use.
80508         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
80510 2008-01-01  Bruno Haible  <bruno@clisp.org>
80512         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
80513         failure on older glibc systems.
80514         Reported by Peter Fales <psfales@alcatel-lucent.com>.
80516 2008-01-05  Eric Blake  <ebb9@byu.net>
80518         Avoid quadratic system memmem.
80519         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
80520         Reported by Ralf Wildenhues.
80522         Fix memmem test for mingw.
80523         * modules/memmem-tests (configure.ac): Check for alarm.
80524         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
80525         it.
80526         * doc/functions/memmem.texi: New file.
80527         * doc/gnulib.texi (Function Substitutes): Add memmem.
80528         Reported by Bruno Haible.
80530 2008-01-04  Bruno Haible  <bruno@clisp.org>
80532         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
80533         Require gl_HEADER_STRINGS_H_DEFAULTS, not
80534         gl_HEADER_STRING_H_DEFAULTS.
80536 2008-01-04  Eric Blake  <ebb9@byu.net>
80538         Shorten duration of memmem test.
80539         * tests/test-memmem.c (main): Use alarm to declare failure if test
80540         is taking too long.
80541         Reported by Ralf Wildenhues.
80543 2007-12-21  Simon Josefsson  <simon@josefsson.org>
80545         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
80546         string, needed by strerror.
80548 2008-01-03  Colin Watson  <cjwatson@debian.org>
80549             Bruno Haible  <bruno@clisp.org>
80551         * doc/gnulib-tool.texi (Localization): New section.
80553 2008-01-02  Bruno Haible  <bruno@clisp.org>
80555         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
80556         variables to 'unsigned char *' type.
80557         Reported by Paul Eggert.
80559 2008-01-02  Jim Meyering  <jim@meyering.net>
80561         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
80563 2007-12-31  Jim Meyering  <jim@meyering.net>
80565         Avoid use of private FTS type name.
80566         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
80568 2007-12-30  Karl Berry  <karl@gnu.org>
80570         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
80571         work around defect in Texinfo and/or the standalone Info browser.
80573 2007-12-30  Bruno Haible  <bruno@clisp.org>
80575         Unify 5 copies of the KMP code.
80576         * lib/str-kmp.h: New file.
80577         * lib/c-strcasestr.c: Include str-kmp.h.
80578         (knuth_morris_pratt): Remove function.
80579         (c_strcasestr): Update.
80580         * lib/c-strstr.c: Include str-kmp.h.
80581         (knuth_morris_pratt): Remove function.
80582         (c_strcasestr): Update.
80583         * lib/mbscasestr.c: Include str-kmp.h.
80584         (knuth_morris_pratt_unibyte): Remove function.
80585         * lib/mbsstr.c: Include str-kmp.h.
80586         (knuth_morris_pratt_unibyte): Remove function.
80587         * lib/strcasestr.c: Include str-kmp.h.
80588         (knuth_morris_pratt): Remove function.
80589         (strcasestr): Update.
80590         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
80591         * modules/c-strstr (Files): Likewise.
80592         * modules/mbscasestr (Files): Likewise.
80593         * modules/mbsstr (Files): Likewise.
80594         * modules/strcasestr (Files): Likewise.
80595         Suggested by Paul Eggert.
80597 2007-12-30  Bruno Haible  <bruno@clisp.org>
80599         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
80600         defined.
80602 2007-12-30  Bruno Haible  <bruno@clisp.org>
80604         * lib/xmalloca.h: Include xalloc.h.
80605         (xnmalloca): New macro.
80607 2007-12-30  Bruno Haible  <bruno@clisp.org>
80609         * lib/malloca.h (nmalloca): New macro.
80610         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
80611         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
80612         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
80613         knuth_morris_pratt_multibyte): Likewise.
80614         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
80615         knuth_morris_pratt_multibyte): Likewise.
80616         * lib/memmem.c (knuth_morris_pratt): Likewise.
80617         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
80619 2007-12-25  Bruno Haible  <bruno@clisp.org>
80621         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
80622         * lib/glob.c: Don't include openat.h.
80623         (link_exists2_p): Add back the code that deals with the
80624         !GLOB_ALTDIRFUNC case.
80625         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
80626         let it do the filename concatenation.
80627         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
80628         * modules/glob (Depends-on): Remove openat.
80630 2007-12-31  Bruno Haible  <bruno@clisp.org>
80632         * modules/dirfd (License): Change to LGPLv2+.
80633         Approved by Jim Meyering.
80635 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
80637         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
80638         when multiplying M by sizeof (size_t).
80640 2007-12-10  Martin Lambers  <marlam@marlam.de>
80642         Override getpagesize on mingw.
80643         * lib/getpagesize.c: New file.
80644         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
80645         * modules/getpagesize (Files): Add lib/getpagesize.c.
80646         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
80647         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
80648         REPLACE_GETPAGESIZE.
80649         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
80651 2007-12-25  Bruno Haible  <bruno@clisp.org>
80653         * modules/localcharset (Notice): New field.
80654         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
80655         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
80657 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
80658             Bruno Haible  <bruno@clisp.org>
80660         Avoid using the syntax symbol() in formatted documentation.
80661         * MODULES.html.sh (func_module): When replacing symbol() with a
80662         hyperlink, remove the parentheses. Show an error if some remain.
80663         Recognize and render the '...' syntax.
80664         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
80665         Rework. Add paragraph about GCC's inlining.
80666         * doc/alloca.texi: Likewise.
80667         * doc/error.texi: Remove parentheses from symbol reference.
80668         * doc/gnulib-intro.texi: Likewise.
80669         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
80670         * modules/fnmatch (Description): Reword to say "the ... function".
80671         * modules/full-read (Description): Likewise.
80672         * modules/full-write (Description): Likewise.
80673         * modules/safe-read (Description): Likewise.
80674         * modules/safe-write (Description): Likewise.
80675         * modules/strchrnul (Description): Likewise.
80676         * modules/trim (Description): Likewise.
80677         * modules/error (Description): Remove parentheses from symbol
80678         references.
80679         * modules/verror (Description): Likewise.
80680         Reported by Karl Berry.
80682 2007-12-25  Bruno Haible  <bruno@clisp.org>
80684         Fixup after 2007-10-16 commit.
80685         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
80687 2007-12-24  Bruno Haible  <bruno@clisp.org>
80689         Make --enable-relocatable work with DESTDIR.
80690         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
80691         to compute installdir from destprog.
80692         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
80693         also set the RELOC_DESTDIR variable.
80694         Reported by Левашев Иван <octagram@bluebottle.com>.
80696 2007-12-24  Bruno Haible  <bruno@clisp.org>
80698         Fix link error due to xalloc_die().
80699         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
80700         of xreadlink.
80701         * lib/relocwrapper.c: Update comments.
80702         * build-aux/install-reloc: Remove xreadlink.c from file list.
80703         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
80704         xreadlink.c.
80705         Reported by Левашев Иван <octagram@bluebottle.com>.
80707 2007-12-24  Bruno Haible  <bruno@clisp.org>
80709         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
80710         * lib/setenv.h: Remove file.
80711         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
80712         lib/setenv.h.
80713         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
80714         (Depends-on): Add stdlib.
80715         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
80716         gl_FUNC_UNSETENV.
80717         (Include): Replace setenv.h with <stdlib.h>.
80718         * modules/unsetenv: New file.
80719         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
80720         * lib/unsetenv.c: Include <stdlib.h> first.
80721         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
80722         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
80723         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
80724         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
80725         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
80726         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
80727         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
80728         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
80729         * doc/functions/unsetenv.texi: Update.
80730         * modules/xsetenv (Depends-on): Add unsetenv.
80731         * modules/getdate (Depends-on): Likewise.
80732         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
80733         * lib/xsetenv.c: Don't include setenv.h.
80734         * lib/getdate.y: Likewise.
80735         * lib/relocwrapper.c: Likewise.
80736         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
80737         (Depends-on): Add stdlib.
80738         * NEWS: Mention the changes.
80739         Reported by Левашев Иван <octagram@bluebottle.com>.
80741 2007-12-23  Bruno Haible  <bruno@clisp.org>
80743         * lib/memmem.c (memmem): Use lowercase variable names. Tab
80744         indentation.
80746 2007-12-23  Bruno Haible  <bruno@clisp.org>
80748         * lib/c-strcasestr.c: Add more comments.
80749         * lib/c-strstr.c: Likewise.
80750         * lib/mbscasestr.c: Likewise.
80751         * lib/mbsstr.c: Likewise.
80752         * lib/strcasestr.c: Likewise.
80753         * lib/memmem.c: Likewise.
80755 2007-12-23  Bruno Haible  <bruno@clisp.org>
80757         * tests/test-memmem.c: Include <string.h> first.
80759 2007-12-22  Bruno Haible  <bruno@clisp.org>
80761         * gnulib-tool (func_create_testdir): Change $auxdir while generating
80762         the contents of $testsbase.
80763         Reported by Ralf Wildenhues.
80765 2007-12-22  Bruno Haible  <bruno@clisp.org>
80767         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
80768         two variables local_ldadd_before, local_ldadd_last.
80770 2007-12-20  Eric Blake  <ebb9@byu.net>
80772         Work around circular library issue when cross-compiling.
80773         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
80774         that progname.o does not need to pull in rpl_memcmp.
80776 2007-12-19  Eric Blake  <ebb9@byu.net>
80778         Fix memmem to avoid O(n^2) worst-case complexity.
80779         * lib/memmem.c (knuth_morris_pratt): New function.
80780         (memmem): Use it if first few naive iterations fail.
80781         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
80782         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
80783         * modules/memchr (License): Likewise.
80784         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
80785         malloca.
80786         * tests/test-memmem.c: Rewrite, borrowing ideas from
80787         test-mbsstr1.c; the old version wouldn't even compile!
80788         * modules/memmem-tests: New file.
80789         * lib/string.in.h (rpl_memmem): Add declaration.
80790         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
80791         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
80792         REPLACE_MEMMEM.
80794 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
80796         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
80797         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
80798         before any system include files, and undef after them all.  This
80799         should fix a problem on VMS reported by John E. Malmberg in
80800         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00118.html>.
80802 2007-12-17  Eric Blake  <ebb9@byu.net>
80804         Revert addition of verify, for BSD/OS.
80805         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
80806         can't handle large files, for the sake of obsolete platforms.
80807         * modules/fseeko (Depends-on): Remove verify.
80808         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
80809         * doc/functions/ftello.texi (ftello): Likewise.
80810         * doc/functions/fgetpos.texi (fgetpos): Likewise.
80811         Reported by Larry Jones.
80813 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
80815         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
80816         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
80818 2007-12-17  Jim Meyering  <meyering@redhat.com>
80820         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
80821         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
80822         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
80823         * modules/getcwd (Depends-on): Add openat.
80824         Reported by Petr Salinger.
80826 2007-12-17  Bruno Haible  <bruno@clisp.org>
80828         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
80829         avoid a segmentation fault of the configure test on x86_64 systems.
80831 2007-12-15  Jim Meyering  <meyering@redhat.com>
80833         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
80835 2007-12-13  Eric Blake  <ebb9@byu.net>
80837         Another fseek test.
80838         * tests/test-fseek.c (main): Also test ungetc handling.
80839         * tests/test-fseeko.c (main): Likewise.
80840         * modules/fseeko (Depends-on): Add verify.
80841         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
80842         large.
80843         Reported by Larry Jones.
80845         Fix fseeko on mingw.
80846         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
80847         seek.
80849         Beef up fseek tests.
80850         * tests/test-fseek.c (main): Also test eof handling.
80851         * tests/test-fseeko.c (main): Likewise.
80852         Reported by Larry Jones.
80854 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
80856         Fix fseeko on BSD-based platforms.
80857         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
80858         successful seek.
80860 2007-12-12  Eric Blake  <ebb9@byu.net>
80862         Allow circular dependency of separate libtests.a
80863         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
80864         when use_libtests.
80866 2007-12-11  Eric Blake  <ebb9@byu.net>
80868         Fix bug with -0.0L in previous patch.
80869         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
80870         * tests/test-isnan.c (main): Also test on zeroes.
80871         * tests/test-isnanf.c (main): Likewise.
80872         * tests/test-isnanl.h (main): Likewise.
80874         Detect pseudo-denormals on x86 even when cross-compiling.
80875         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
80876         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
80877         invalid bit patterns that happen to satisfy ==.
80879         Avoid link failures with separate libtests.a.
80880         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
80881         last, to satisfy circular dependencies.
80883 2007-12-11  Eric Blake  <ebb9@byu.net>
80884         and Bruno Haible  <bruno@clisp.org>
80886         Fix OpenBSD 4.0 <float.h> handling of long double.
80887         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
80888         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
80889         * doc/headers/float.texi (float.h): Document OpenBSD bug.
80891 2007-12-11  Jim Meyering  <meyering@redhat.com>
80893         * users.txt: Add libvirt.
80895         Support versions of autoconf prior to 2.59c.
80896         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
80897         if it is not already defined.
80899 2007-12-09  Bruno Haible  <bruno@clisp.org>
80901         Let 'gnulib-tool --import' collect sources needed for the tests in
80902         tests/ rather than in lib/.
80903         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
80904         argument. If true, add rules to generate libtests.a, and put libtests.a
80905         into $(LDADD). Consider source files in subdirectories and set
80906         uses_subdirs.
80907         (func_emit_initmacro_start, func_emit_initmacro_end,
80908         func_emit_initmacro_done): Pass all arguments explicitly.
80909         (func_import): Determine two module lists main_modules,
80910         testsrelated_modules. Determine use_libtests. Determine two variables
80911         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
80912         instead of just sed_transform_lib_file. Determine two variables
80913         main_files and testsrelated_files. Compute 'files' as the union of
80914         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
80915         func_add_or_update. In the generated gnulib-comp.m4, collect the
80916         object files for tests/ in different variables than those for lib/.
80917         Substitute LIBTESTS_LIBDEPS.
80918         (func_create_testdir): Combine the uses_subdirs results from
80919         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
80921 2007-12-09  Bruno Haible  <bruno@clisp.org>
80923         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
80924         the build-aux directory.
80926 2007-12-09  Bruno Haible  <bruno@clisp.org>
80928         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
80929         introduced on 2006-09-09.
80931 2007-12-07  Jim Meyering  <meyering@redhat.com>
80933         Let these macros work also with autoconf-2.59.
80934         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
80935         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
80936         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
80938 2007-12-06  Jim Meyering  <meyering@redhat.com>
80940         Avoid a configure-time syntax error in gl_FUNC_ACL.
80941         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
80942         function in each branch, before testing the cache variable.
80944 2007-12-04  Eric Blake  <ebb9@byu.net>
80946         Make scripts executable.
80947         * build-aux/config.guess: Add execute permissions.
80948         * build-aux/config.sub: Likewise.
80949         * build-aux/gendocs.sh: Likewise.
80951         Fix frexp on mingw.
80952         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
80953         cross-compiling.
80954         * doc/functions/frexp.texi (frexp): Document the bug.
80956         Make cygwin fseeko check more reliable.
80957         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
80958         version numbers, rather than unrelated feature check.
80959         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
80960         * doc/functions/ftello.texi (ftello): Likewise.
80961         Reported by Bruno Haible.
80963         * m4/strerror.m4: Bump version number.
80965 2007-12-03  Bruno Haible  <bruno@clisp.org>
80967         * doc/functions/mprotect.texi: Mention the mingw problem.
80969 2007-12-03  Eric Blake  <ebb9@byu.net>
80971         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
80972         REPLACE_STRERROR is initialized before this macro.
80974 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
80976         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
80977         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
80978         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
80979         put -lsec in even for programs other than 'ls'.  This fixes a problem
80980         for gettext reported by Bruno Haible in
80981         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00007.html>.
80982         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
80983         Add support for Solaris 10.  This isn't efficient, but should get the
80984         job done for now.
80986 2007-12-03  James Youngman  <jay@gnu.org>
80988         * doc/regexprops-generic.texi: change "an close-group" to "a
80989         close-group" and "illegal" to "not allowed".
80991 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80993         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
80994         pr_byname.h. Needed for the rare case when the maintainer has done
80995         "make maintainer-clean" in the source directory and then attempts a
80996         build outside the source directory.
80997         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
80998         scripts_byname.h.
81000 2007-12-02  Martin Lambers  <marlam@marlam.de>
81001             Bruno Haible  <bruno@clisp.org>
81003         * lib/getpagesize.h: Remove file.
81004         * lib/unistd.in.h: Include declaration of getpagesize here.
81005         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
81006         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
81007         HAVE_SYS_PARAM_H.
81008         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
81009         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
81010         * modules/getpagesize (Files): Remove lib/getpagesize.h.
81011         (Depends-on): Add unistd.
81012         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
81013         (Include): Use <unistd.h> instead of getpagesize.h.
81014         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
81015         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
81016         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
81017         gl_GETPAGESIZE invocation, already handled by module dependency.
81018         * lib/pagealign_alloc.c: Don't include getpagesize.h.
81020 2007-12-02  Bruno Haible  <bruno@clisp.org>
81022         * modules/strings-tests: New file.
81023         * tests/test-strings.c: New file.
81025         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
81026         * lib/strings.in.h: New file.
81027         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
81028         * m4/strings_h.m4: New file.
81029         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
81030         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
81031         * modules/strings: New file.
81032         * modules/string (Makefile.am): Update.
81033         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
81034         Reported by Karl Berry.
81036 2007-12-01  Eric Blake  <ebb9@byu.net>
81038         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
81039         accommodate fix in cygwin 1.5.25.
81041 2007-12-01  Jim Meyering  <meyering@redhat.com>
81043         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
81044         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
81045         that would inhibit utf8-optimization of a regexp containing line-
81046         or buffer-anchors, e.g., `^', `$'.
81048 2007-11-30  Bruno Haible  <bruno@clisp.org>
81050         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
81051         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
81052         glthread_recursive_lock_init.
81053         * lib/lock.c (glthread_recursive_lock_init)
81054         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
81055         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
81057 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
81059         New function qset_acl, like set_acl but with syscall semantics.
81060         * lib/acl.h (qset_acl): New decl.
81061         * lib/acl.c (qset_acl): New function.
81062         (set_acl): Use new function.  Use more-consistent diagnostics.
81064 2007-11-28  Jim Meyering  <meyering@redhat.com>
81066         * modules/physmem (License): Change from GPL to LGPLv2+.
81068 2007-11-26  Bruno Haible  <bruno@clisp.org>
81070         * lib/vasnprintf.c (decode_long_double): Don't abort if the
81071         'long double' type has excess precision.
81072         Reported by Jim Meyering in
81073         <http://lists.gnu.org/r/bug-gnulib/2007-11/msg00120.html>.
81075 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81077         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
81078         Sync from <http://gnu.org/licenses>.
81079         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
81080         with license text from same location.
81081         * doc/maintain.texi, doc/standards.texi:  Sync from
81082         <http://savannah.gnu.org/projects/gnustandards>.
81084 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
81085         and Jim Meyering  <meyering@redhat.com>
81087         Adjust getdate' grammar to accept a slightly more regular language.
81088         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
81089         Before, the former was rejected.
81090         * lib/getdate.y (digits_to_date_time): New function, factored
81091         out of ...
81092         (number): ...here.  Just call digits_to_date_time.
81093         (hybrid): New non-terminal to handle an <unsigned number,
81094         signed relative offset> sequence consistently.
81096 2007-11-18  Jim Meyering  <meyering@redhat.com>
81098         Pull my changes from coreutils:
81099         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
81100         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
81101         use of $gnulib_tool_option_extras, so that it's separated from the
81102         preceding argument.
81104         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
81105         * build-aux/bootstrap (cp_mark_as_generated): Create any required
81106         parent destination directories before copying a file into place.
81108 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
81110         bootstrap: work also with 4-argument variant of AC_INIT
81111         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
81113 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
81115         Port test-getaddrinfo to Solaris.
81116         Problem reported by Bruno Haible in
81117         <http://lists.gnu.org/r/bug-gnulib/2007-03/msg00171.html>.
81118         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
81119         explanation of setting 'hints'.
81120         Don't reject an implementation merely because it returns EAI_SERVICE.
81121         (EAI_SERVICE): Define to 0 if not defined.
81123 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
81125         The license of gnu-make and posix-shell is now "GPLed build tool".
81126         * modules/gnu-make (License): Likewise.
81127         * modules/posix-shell (License): Likewise.
81129         New module posix-shell, for determining a POSIX shell
81130         or perhaps something that is close enough to a POSIX shell.
81131         * m4/posix-shell.m4: New file.
81132         * modules/posix-shell: New file.
81134         * MODULES.html.sh: Mention new module.
81136         New module gnu-make, for determining whether we're using GNU Make.
81137         * m4/gnu-make.m4: New file.
81138         * modules/gnu-make: New file.
81139         * MODULES.html.sh: Mention new module.
81141 2007-11-14  Jim Meyering  <meyering@redhat.com>
81143         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
81144         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
81145         use this macro to create a function _definition_.
81146         Remove useless "#undef ARGMATCH_DIE".
81148 2007-11-14  Bruno Haible  <bruno@clisp.org>
81150         * lib/config.charset: Update for OpenBSD 4.1.
81151         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
81153 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
81155         Document 64-bit #if problems in stdint.texi.
81156         * doc/headers/stdint.texi (stdint.h): Mention problems with
81157         64-bit-#if, and how to work around them.
81159         Don't insist on 'long long int' support in the preprocessor.  It
81160         breaks too many things.  For example, PRIdMAX still uses a 'long
81161         long int' format with the latest Sun compiler, even though
81162         HAVE_LONG_LONG_INT isn't defined due to that compiler's
81163         preprocessor problem.  This causes the latest coreutils to dump
81164         core on Solaris 10 sparc with the Sun C compiler.
81165         Instead, fix the 2007-10-16 problem in a different way, by evaluating
81166         the troublesome expressions at configure-time, not at #if-time.
81167         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
81168         preprocessor.
81169         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
81170         compile-time C checks, done at 'configure'-time.
81171         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
81172         * modules/inttypes (Makefile): Substitute the new symbols that
81173         gl_INTTYPES_H now generates.
81174         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
81176 2007-11-12  Bruno Haible  <bruno@clisp.org>
81178         Tests for Unicode character classification functions.
81180         * modules/unictype/bidicategory-byname-tests: New file.
81181         * modules/unictype/bidicategory-name-tests: New file.
81182         * modules/unictype/bidicategory-of-tests: New file.
81183         * modules/unictype/bidicategory-test-tests: New file.
81184         * modules/unictype/block-list-tests: New file.
81185         * modules/unictype/block-of-tests: New file.
81186         * modules/unictype/block-test-tests: New file.
81187         * modules/unictype/category-C-tests: New file.
81188         * modules/unictype/category-Cc-tests: New file.
81189         * modules/unictype/category-Cf-tests: New file.
81190         * modules/unictype/category-Cn-tests: New file.
81191         * modules/unictype/category-Co-tests: New file.
81192         * modules/unictype/category-Cs-tests: New file.
81193         * modules/unictype/category-L-tests: New file.
81194         * modules/unictype/category-Ll-tests: New file.
81195         * modules/unictype/category-Lm-tests: New file.
81196         * modules/unictype/category-Lo-tests: New file.
81197         * modules/unictype/category-Lt-tests: New file.
81198         * modules/unictype/category-Lu-tests: New file.
81199         * modules/unictype/category-M-tests: New file.
81200         * modules/unictype/category-Mc-tests: New file.
81201         * modules/unictype/category-Me-tests: New file.
81202         * modules/unictype/category-Mn-tests: New file.
81203         * modules/unictype/category-N-tests: New file.
81204         * modules/unictype/category-Nd-tests: New file.
81205         * modules/unictype/category-Nl-tests: New file.
81206         * modules/unictype/category-No-tests: New file.
81207         * modules/unictype/category-P-tests: New file.
81208         * modules/unictype/category-Pc-tests: New file.
81209         * modules/unictype/category-Pd-tests: New file.
81210         * modules/unictype/category-Pe-tests: New file.
81211         * modules/unictype/category-Pf-tests: New file.
81212         * modules/unictype/category-Pi-tests: New file.
81213         * modules/unictype/category-Po-tests: New file.
81214         * modules/unictype/category-Ps-tests: New file.
81215         * modules/unictype/category-S-tests: New file.
81216         * modules/unictype/category-Sc-tests: New file.
81217         * modules/unictype/category-Sk-tests: New file.
81218         * modules/unictype/category-Sm-tests: New file.
81219         * modules/unictype/category-So-tests: New file.
81220         * modules/unictype/category-Z-tests: New file.
81221         * modules/unictype/category-Zl-tests: New file.
81222         * modules/unictype/category-Zp-tests: New file.
81223         * modules/unictype/category-Zs-tests: New file.
81224         * modules/unictype/category-and-not-tests: New file.
81225         * modules/unictype/category-and-tests: New file.
81226         * modules/unictype/category-byname-tests: New file.
81227         * modules/unictype/category-name-tests: New file.
81228         * modules/unictype/category-none-tests: New file.
81229         * modules/unictype/category-of-tests: New file.
81230         * modules/unictype/category-or-tests: New file.
81231         * modules/unictype/category-test-withtable-tests: New file.
81232         * modules/unictype/combining-class-tests: New file.
81233         * modules/unictype/ctype-alnum-tests: New file.
81234         * modules/unictype/ctype-alpha-tests: New file.
81235         * modules/unictype/ctype-blank-tests: New file.
81236         * modules/unictype/ctype-cntrl-tests: New file.
81237         * modules/unictype/ctype-digit-tests: New file.
81238         * modules/unictype/ctype-graph-tests: New file.
81239         * modules/unictype/ctype-lower-tests: New file.
81240         * modules/unictype/ctype-print-tests: New file.
81241         * modules/unictype/ctype-punct-tests: New file.
81242         * modules/unictype/ctype-space-tests: New file.
81243         * modules/unictype/ctype-upper-tests: New file.
81244         * modules/unictype/ctype-xdigit-tests: New file.
81245         * modules/unictype/decimal-digit-tests: New file.
81246         * modules/unictype/digit-tests: New file.
81247         * modules/unictype/mirror-tests: New file.
81248         * modules/unictype/numeric-tests: New file.
81249         * modules/unictype/property-alphabetic-tests: New file.
81250         * modules/unictype/property-ascii-hex-digit-tests: New file.
81251         * modules/unictype/property-bidi-arabic-digit-tests: New file.
81252         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
81253         * modules/unictype/property-bidi-block-separator-tests: New file.
81254         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
81255         * modules/unictype/property-bidi-common-separator-tests: New file.
81256         * modules/unictype/property-bidi-control-tests: New file.
81257         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
81258         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
81259         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
81260         * modules/unictype/property-bidi-european-digit-tests: New file.
81261         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
81262         * modules/unictype/property-bidi-left-to-right-tests: New file.
81263         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
81264         * modules/unictype/property-bidi-other-neutral-tests: New file.
81265         * modules/unictype/property-bidi-pdf-tests: New file.
81266         * modules/unictype/property-bidi-segment-separator-tests: New file.
81267         * modules/unictype/property-bidi-whitespace-tests: New file.
81268         * modules/unictype/property-byname-tests: New file.
81269         * modules/unictype/property-combining-tests: New file.
81270         * modules/unictype/property-composite-tests: New file.
81271         * modules/unictype/property-currency-symbol-tests: New file.
81272         * modules/unictype/property-dash-tests: New file.
81273         * modules/unictype/property-decimal-digit-tests: New file.
81274         * modules/unictype/property-default-ignorable-code-point-tests: New file.
81275         * modules/unictype/property-deprecated-tests: New file.
81276         * modules/unictype/property-diacritic-tests: New file.
81277         * modules/unictype/property-extender-tests: New file.
81278         * modules/unictype/property-format-control-tests: New file.
81279         * modules/unictype/property-grapheme-base-tests: New file.
81280         * modules/unictype/property-grapheme-extend-tests: New file.
81281         * modules/unictype/property-grapheme-link-tests: New file.
81282         * modules/unictype/property-hex-digit-tests: New file.
81283         * modules/unictype/property-hyphen-tests: New file.
81284         * modules/unictype/property-id-continue-tests: New file.
81285         * modules/unictype/property-id-start-tests: New file.
81286         * modules/unictype/property-ideographic-tests: New file.
81287         * modules/unictype/property-ids-binary-operator-tests: New file.
81288         * modules/unictype/property-ids-trinary-operator-tests: New file.
81289         * modules/unictype/property-ignorable-control-tests: New file.
81290         * modules/unictype/property-iso-control-tests: New file.
81291         * modules/unictype/property-join-control-tests: New file.
81292         * modules/unictype/property-left-of-pair-tests: New file.
81293         * modules/unictype/property-line-separator-tests: New file.
81294         * modules/unictype/property-logical-order-exception-tests: New file.
81295         * modules/unictype/property-lowercase-tests: New file.
81296         * modules/unictype/property-math-tests: New file.
81297         * modules/unictype/property-non-break-tests: New file.
81298         * modules/unictype/property-not-a-character-tests: New file.
81299         * modules/unictype/property-numeric-tests: New file.
81300         * modules/unictype/property-other-alphabetic-tests: New file.
81301         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
81302         * modules/unictype/property-other-grapheme-extend-tests: New file.
81303         * modules/unictype/property-other-id-continue-tests: New file.
81304         * modules/unictype/property-other-id-start-tests: New file.
81305         * modules/unictype/property-other-lowercase-tests: New file.
81306         * modules/unictype/property-other-math-tests: New file.
81307         * modules/unictype/property-other-uppercase-tests: New file.
81308         * modules/unictype/property-paired-punctuation-tests: New file.
81309         * modules/unictype/property-paragraph-separator-tests: New file.
81310         * modules/unictype/property-pattern-syntax-tests: New file.
81311         * modules/unictype/property-pattern-white-space-tests: New file.
81312         * modules/unictype/property-private-use-tests: New file.
81313         * modules/unictype/property-punctuation-tests: New file.
81314         * modules/unictype/property-quotation-mark-tests: New file.
81315         * modules/unictype/property-radical-tests: New file.
81316         * modules/unictype/property-sentence-terminal-tests: New file.
81317         * modules/unictype/property-soft-dotted-tests: New file.
81318         * modules/unictype/property-space-tests: New file.
81319         * modules/unictype/property-terminal-punctuation-tests: New file.
81320         * modules/unictype/property-test-tests: New file.
81321         * modules/unictype/property-titlecase-tests: New file.
81322         * modules/unictype/property-unassigned-code-value-tests: New file.
81323         * modules/unictype/property-unified-ideograph-tests: New file.
81324         * modules/unictype/property-uppercase-tests: New file.
81325         * modules/unictype/property-variation-selector-tests: New file.
81326         * modules/unictype/property-white-space-tests: New file.
81327         * modules/unictype/property-xid-continue-tests: New file.
81328         * modules/unictype/property-xid-start-tests: New file.
81329         * modules/unictype/property-zero-width-tests: New file.
81330         * modules/unictype/scripts-tests: New file.
81331         * modules/unictype/syntax-c-ident-tests: New file.
81332         * modules/unictype/syntax-c-whitespace-tests: New file.
81333         * modules/unictype/syntax-java-ident-tests: New file.
81334         * modules/unictype/syntax-java-whitespace-tests: New file.
81335         * tests/unictype/test-bidi_byname.c: New file.
81336         * tests/unictype/test-bidi_name.c: New file.
81337         * tests/unictype/test-bidi_of.c: New file.
81338         * tests/unictype/test-bidi_test.c: New file.
81339         * tests/unictype/test-block_list.c: New file.
81340         * tests/unictype/test-block_of.c: New file.
81341         * tests/unictype/test-block_test.c: New file.
81342         * tests/unictype/test-categ_and.c: New file.
81343         * tests/unictype/test-categ_and_not.c: New file.
81344         * tests/unictype/test-categ_byname.c: New file.
81345         * tests/unictype/test-categ_name.c: New file.
81346         * tests/unictype/test-categ_none.c: New file.
81347         * tests/unictype/test-categ_of.c: New file.
81348         * tests/unictype/test-categ_or.c: New file.
81349         * tests/unictype/test-categ_test_withtable.c: New file.
81350         * tests/unictype/test-combining.c: New file.
81351         * tests/unictype/test-decdigit.c: New file.
81352         * tests/unictype/test-digit.c: New file.
81353         * tests/unictype/test-mirror.c: New file.
81354         * tests/unictype/test-numeric.c: New file.
81355         * tests/unictype/test-pr_byname.c: New file.
81356         * tests/unictype/test-pr_test.c: New file.
81357         * tests/unictype/test-predicate-part1.h: New file.
81358         * tests/unictype/test-predicate-part2.h: New file.
81359         * tests/unictype/test-scripts.c: New file.
81360         * tests/unictype/test-sy_c_ident.c: New file.
81361         * tests/unictype/test-sy_java_ident.c: New file.
81363         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
81364         for Unicode 5.0.0.
81365         * tests/unictype/test-categ_Cc.c: Likewise.
81366         * tests/unictype/test-categ_Cf.c: Likewise.
81367         * tests/unictype/test-categ_Cn.c: Likewise.
81368         * tests/unictype/test-categ_Co.c: Likewise.
81369         * tests/unictype/test-categ_Cs.c: Likewise.
81370         * tests/unictype/test-categ_L.c: Likewise.
81371         * tests/unictype/test-categ_Ll.c: Likewise.
81372         * tests/unictype/test-categ_Lm.c: Likewise.
81373         * tests/unictype/test-categ_Lo.c: Likewise.
81374         * tests/unictype/test-categ_Lt.c: Likewise.
81375         * tests/unictype/test-categ_Lu.c: Likewise.
81376         * tests/unictype/test-categ_M.c: Likewise.
81377         * tests/unictype/test-categ_Mc.c: Likewise.
81378         * tests/unictype/test-categ_Me.c: Likewise.
81379         * tests/unictype/test-categ_Mn.c: Likewise.
81380         * tests/unictype/test-categ_N.c: Likewise.
81381         * tests/unictype/test-categ_Nd.c: Likewise.
81382         * tests/unictype/test-categ_Nl.c: Likewise.
81383         * tests/unictype/test-categ_No.c: Likewise.
81384         * tests/unictype/test-categ_P.c: Likewise.
81385         * tests/unictype/test-categ_Pc.c: Likewise.
81386         * tests/unictype/test-categ_Pd.c: Likewise.
81387         * tests/unictype/test-categ_Pe.c: Likewise.
81388         * tests/unictype/test-categ_Pf.c: Likewise.
81389         * tests/unictype/test-categ_Pi.c: Likewise.
81390         * tests/unictype/test-categ_Po.c: Likewise.
81391         * tests/unictype/test-categ_Ps.c: Likewise.
81392         * tests/unictype/test-categ_S.c: Likewise.
81393         * tests/unictype/test-categ_Sc.c: Likewise.
81394         * tests/unictype/test-categ_Sk.c: Likewise.
81395         * tests/unictype/test-categ_Sm.c: Likewise.
81396         * tests/unictype/test-categ_So.c: Likewise.
81397         * tests/unictype/test-categ_Z.c: Likewise.
81398         * tests/unictype/test-categ_Zl.c: Likewise.
81399         * tests/unictype/test-categ_Zp.c: Likewise.
81400         * tests/unictype/test-categ_Zs.c: Likewise.
81401         * tests/unictype/test-ctype_alnum.c: Likewise.
81402         * tests/unictype/test-ctype_alpha.c: Likewise.
81403         * tests/unictype/test-ctype_blank.c: Likewise.
81404         * tests/unictype/test-ctype_cntrl.c: Likewise.
81405         * tests/unictype/test-ctype_digit.c: Likewise.
81406         * tests/unictype/test-ctype_graph.c: Likewise.
81407         * tests/unictype/test-ctype_lower.c: Likewise.
81408         * tests/unictype/test-ctype_print.c: Likewise.
81409         * tests/unictype/test-ctype_punct.c: Likewise.
81410         * tests/unictype/test-ctype_space.c: Likewise.
81411         * tests/unictype/test-ctype_upper.c: Likewise.
81412         * tests/unictype/test-ctype_xdigit.c: Likewise.
81413         * tests/unictype/test-decdigit.h: Likewise.
81414         * tests/unictype/test-digit.h: Likewise.
81415         * tests/unictype/test-numeric.h: Likewise.
81416         * tests/unictype/test-pr_alphabetic.c: Likewise.
81417         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
81418         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
81419         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
81420         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
81421         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
81422         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
81423         * tests/unictype/test-pr_bidi_control.c: Likewise.
81424         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
81425         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
81426         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
81427         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
81428         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
81429         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
81430         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
81431         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
81432         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
81433         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
81434         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
81435         * tests/unictype/test-pr_combining.c: Likewise.
81436         * tests/unictype/test-pr_composite.c: Likewise.
81437         * tests/unictype/test-pr_currency_symbol.c: Likewise.
81438         * tests/unictype/test-pr_dash.c: Likewise.
81439         * tests/unictype/test-pr_decimal_digit.c: Likewise.
81440         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
81441         * tests/unictype/test-pr_deprecated.c: Likewise.
81442         * tests/unictype/test-pr_diacritic.c: Likewise.
81443         * tests/unictype/test-pr_extender.c: Likewise.
81444         * tests/unictype/test-pr_format_control.c: Likewise.
81445         * tests/unictype/test-pr_grapheme_base.c: Likewise.
81446         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
81447         * tests/unictype/test-pr_grapheme_link.c: Likewise.
81448         * tests/unictype/test-pr_hex_digit.c: Likewise.
81449         * tests/unictype/test-pr_hyphen.c: Likewise.
81450         * tests/unictype/test-pr_id_continue.c: Likewise.
81451         * tests/unictype/test-pr_id_start.c: Likewise.
81452         * tests/unictype/test-pr_ideographic.c: Likewise.
81453         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
81454         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
81455         * tests/unictype/test-pr_ignorable_control.c: Likewise.
81456         * tests/unictype/test-pr_iso_control.c: Likewise.
81457         * tests/unictype/test-pr_join_control.c: Likewise.
81458         * tests/unictype/test-pr_left_of_pair.c: Likewise.
81459         * tests/unictype/test-pr_line_separator.c: Likewise.
81460         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
81461         * tests/unictype/test-pr_lowercase.c: Likewise.
81462         * tests/unictype/test-pr_math.c: Likewise.
81463         * tests/unictype/test-pr_non_break.c: Likewise.
81464         * tests/unictype/test-pr_not_a_character.c: Likewise.
81465         * tests/unictype/test-pr_numeric.c: Likewise.
81466         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
81467         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
81468         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
81469         * tests/unictype/test-pr_other_id_continue.c: Likewise.
81470         * tests/unictype/test-pr_other_id_start.c: Likewise.
81471         * tests/unictype/test-pr_other_lowercase.c: Likewise.
81472         * tests/unictype/test-pr_other_math.c: Likewise.
81473         * tests/unictype/test-pr_other_uppercase.c: Likewise.
81474         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
81475         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
81476         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
81477         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
81478         * tests/unictype/test-pr_private_use.c: Likewise.
81479         * tests/unictype/test-pr_punctuation.c: Likewise.
81480         * tests/unictype/test-pr_quotation_mark.c: Likewise.
81481         * tests/unictype/test-pr_radical.c: Likewise.
81482         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
81483         * tests/unictype/test-pr_soft_dotted.c: Likewise.
81484         * tests/unictype/test-pr_space.c: Likewise.
81485         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
81486         * tests/unictype/test-pr_titlecase.c: Likewise.
81487         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
81488         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
81489         * tests/unictype/test-pr_uppercase.c: Likewise.
81490         * tests/unictype/test-pr_variation_selector.c: Likewise.
81491         * tests/unictype/test-pr_white_space.c: Likewise.
81492         * tests/unictype/test-pr_xid_continue.c: Likewise.
81493         * tests/unictype/test-pr_xid_start.c: Likewise.
81494         * tests/unictype/test-pr_zero_width.c: Likewise.
81495         * tests/unictype/test-sy_c_whitespace.c: Likewise.
81496         * tests/unictype/test-sy_java_whitespace.c: Likewise.
81498 2007-11-12  Bruno Haible  <bruno@clisp.org>
81500         Unicode character classification functions.
81501         * lib/unictype.h: New file.
81502         * modules/unictype/base: New file.
81503         * modules/unictype/category-L: New file.
81504         * modules/unictype/category-Lu: New file.
81505         * modules/unictype/category-Ll: New file.
81506         * modules/unictype/category-Lt: New file.
81507         * modules/unictype/category-Lm: New file.
81508         * modules/unictype/category-Lo: New file.
81509         * modules/unictype/category-M: New file.
81510         * modules/unictype/category-Mn: New file.
81511         * modules/unictype/category-Mc: New file.
81512         * modules/unictype/category-Me: New file.
81513         * modules/unictype/category-N: New file.
81514         * modules/unictype/category-Nd: New file.
81515         * modules/unictype/category-Nl: New file.
81516         * modules/unictype/category-No: New file.
81517         * modules/unictype/category-P: New file.
81518         * modules/unictype/category-Pc: New file.
81519         * modules/unictype/category-Pd: New file.
81520         * modules/unictype/category-Ps: New file.
81521         * modules/unictype/category-Pe: New file.
81522         * modules/unictype/category-Pi: New file.
81523         * modules/unictype/category-Pf: New file.
81524         * modules/unictype/category-Po: New file.
81525         * modules/unictype/category-S: New file.
81526         * modules/unictype/category-Sm: New file.
81527         * modules/unictype/category-Sc: New file.
81528         * modules/unictype/category-Sk: New file.
81529         * modules/unictype/category-So: New file.
81530         * modules/unictype/category-Z: New file.
81531         * modules/unictype/category-Zs: New file.
81532         * modules/unictype/category-Zl: New file.
81533         * modules/unictype/category-Zp: New file.
81534         * modules/unictype/category-C: New file.
81535         * modules/unictype/category-Cc: New file.
81536         * modules/unictype/category-Cf: New file.
81537         * modules/unictype/category-Cs: New file.
81538         * modules/unictype/category-Co: New file.
81539         * modules/unictype/category-Cn: New file.
81540         * modules/unictype/category-or: New file.
81541         * modules/unictype/category-of: New file.
81542         * modules/unictype/category-test: New file.
81543         * modules/unictype/category-test-withtable: New file.
81544         * modules/unictype/category-byname: New file.
81545         * modules/unictype/category-none: New file.
81546         * modules/unictype/category-and: New file.
81547         * modules/unictype/category-and-not: New file.
81548         * modules/unictype/category-name: New file.
81549         * modules/unictype/combining-class: New file.
81550         * modules/unictype/category-all: New file.
81551         * modules/unictype/bidicategory-all: New file.
81552         * modules/unictype/bidicategory-byname: New file.
81553         * modules/unictype/bidicategory-name: New file.
81554         * modules/unictype/bidicategory-of: New file.
81555         * modules/unictype/bidicategory-test: New file.
81556         * modules/unictype/decimal-digit: New file.
81557         * modules/unictype/digit: New file.
81558         * modules/unictype/numeric: New file.
81559         * modules/unictype/mirror: New file.
81560         * modules/unictype/property-white-space: New file.
81561         * modules/unictype/property-alphabetic: New file.
81562         * modules/unictype/property-other-alphabetic: New file.
81563         * modules/unictype/property-not-a-character: New file.
81564         * modules/unictype/property-default-ignorable-code-point: New file.
81565         * modules/unictype/property-other-default-ignorable-code-point: New
81566         file.
81567         * modules/unictype/property-deprecated: New file.
81568         * modules/unictype/property-logical-order-exception: New file.
81569         * modules/unictype/property-variation-selector: New file.
81570         * modules/unictype/property-private-use: New file.
81571         * modules/unictype/property-unassigned-code-value: New file.
81572         * modules/unictype/property-uppercase: New file.
81573         * modules/unictype/property-other-uppercase: New file.
81574         * modules/unictype/property-lowercase: New file.
81575         * modules/unictype/property-other-lowercase: New file.
81576         * modules/unictype/property-titlecase: New file.
81577         * modules/unictype/property-soft-dotted: New file.
81578         * modules/unictype/property-id-start: New file.
81579         * modules/unictype/property-other-id-start: New file.
81580         * modules/unictype/property-id-continue: New file.
81581         * modules/unictype/property-other-id-continue: New file.
81582         * modules/unictype/property-xid-start: New file.
81583         * modules/unictype/property-xid-continue: New file.
81584         * modules/unictype/property-pattern-white-space: New file.
81585         * modules/unictype/property-pattern-syntax: New file.
81586         * modules/unictype/property-join-control: New file.
81587         * modules/unictype/property-grapheme-base: New file.
81588         * modules/unictype/property-grapheme-extend: New file.
81589         * modules/unictype/property-other-grapheme-extend: New file.
81590         * modules/unictype/property-grapheme-link: New file.
81591         * modules/unictype/property-bidi-control: New file.
81592         * modules/unictype/property-bidi-left-to-right: New file.
81593         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
81594         * modules/unictype/property-bidi-arabic-right-to-left: New file.
81595         * modules/unictype/property-bidi-european-digit: New file.
81596         * modules/unictype/property-bidi-eur-num-separator: New file.
81597         * modules/unictype/property-bidi-eur-num-terminator: New file.
81598         * modules/unictype/property-bidi-arabic-digit: New file.
81599         * modules/unictype/property-bidi-common-separator: New file.
81600         * modules/unictype/property-bidi-block-separator: New file.
81601         * modules/unictype/property-bidi-segment-separator: New file.
81602         * modules/unictype/property-bidi-whitespace: New file.
81603         * modules/unictype/property-bidi-non-spacing-mark: New file.
81604         * modules/unictype/property-bidi-boundary-neutral: New file.
81605         * modules/unictype/property-bidi-pdf: New file.
81606         * modules/unictype/property-bidi-embedding-or-override: New file.
81607         * modules/unictype/property-bidi-other-neutral: New file.
81608         * modules/unictype/property-hex-digit: New file.
81609         * modules/unictype/property-ascii-hex-digit: New file.
81610         * modules/unictype/property-ideographic: New file.
81611         * modules/unictype/property-unified-ideograph: New file.
81612         * modules/unictype/property-radical: New file.
81613         * modules/unictype/property-ids-binary-operator: New file.
81614         * modules/unictype/property-ids-trinary-operator: New file.
81615         * modules/unictype/property-zero-width: New file.
81616         * modules/unictype/property-space: New file.
81617         * modules/unictype/property-non-break: New file.
81618         * modules/unictype/property-iso-control: New file.
81619         * modules/unictype/property-format-control: New file.
81620         * modules/unictype/property-dash: New file.
81621         * modules/unictype/property-hyphen: New file.
81622         * modules/unictype/property-punctuation: New file.
81623         * modules/unictype/property-line-separator: New file.
81624         * modules/unictype/property-paragraph-separator: New file.
81625         * modules/unictype/property-quotation-mark: New file.
81626         * modules/unictype/property-sentence-terminal: New file.
81627         * modules/unictype/property-terminal-punctuation: New file.
81628         * modules/unictype/property-currency-symbol: New file.
81629         * modules/unictype/property-math: New file.
81630         * modules/unictype/property-other-math: New file.
81631         * modules/unictype/property-paired-punctuation: New file.
81632         * modules/unictype/property-left-of-pair: New file.
81633         * modules/unictype/property-combining: New file.
81634         * modules/unictype/property-composite: New file.
81635         * modules/unictype/property-decimal-digit: New file.
81636         * modules/unictype/property-numeric: New file.
81637         * modules/unictype/property-diacritic: New file.
81638         * modules/unictype/property-extender: New file.
81639         * modules/unictype/property-ignorable-control: New file.
81640         * modules/unictype/property-test: New file.
81641         * modules/unictype/property-byname: New file.
81642         * modules/unictype/property-all: New file.
81643         * modules/unictype/scripts: New file.
81644         * modules/unictype/scripts-all: New file.
81645         * modules/unictype/block-of: New file.
81646         * modules/unictype/block-test: New file.
81647         * modules/unictype/block-list: New file.
81648         * modules/unictype/block-all: New file.
81649         * modules/unictype/syntax-c-whitespace: New file.
81650         * modules/unictype/syntax-java-whitespace: New file.
81651         * modules/unictype/syntax-c-ident: New file.
81652         * modules/unictype/syntax-java-ident: New file.
81653         * modules/unictype/ctype-alnum: New file.
81654         * modules/unictype/ctype-alpha: New file.
81655         * modules/unictype/ctype-cntrl: New file.
81656         * modules/unictype/ctype-digit: New file.
81657         * modules/unictype/ctype-graph: New file.
81658         * modules/unictype/ctype-lower: New file.
81659         * modules/unictype/ctype-print: New file.
81660         * modules/unictype/ctype-punct: New file.
81661         * modules/unictype/ctype-space: New file.
81662         * modules/unictype/ctype-upper: New file.
81663         * modules/unictype/ctype-xdigit: New file.
81664         * modules/unictype/ctype-blank: New file.
81665         * lib/unictype/bidi_byname.c: New file.
81666         * lib/unictype/bidi_name.c: New file.
81667         * lib/unictype/bidi_of.c: New file.
81668         * lib/unictype/bidi_test.c: New file.
81669         * lib/unictype/bitmap.h: New file.
81670         * lib/unictype/block_test.c: New file.
81671         * lib/unictype/blocks.c: New file.
81672         * lib/unictype/categ_C.c: New file.
81673         * lib/unictype/categ_Cc.c: New file.
81674         * lib/unictype/categ_Cf.c: New file.
81675         * lib/unictype/categ_Cn.c: New file.
81676         * lib/unictype/categ_Co.c: New file.
81677         * lib/unictype/categ_Cs.c: New file.
81678         * lib/unictype/categ_L.c: New file.
81679         * lib/unictype/categ_Ll.c: New file.
81680         * lib/unictype/categ_Lm.c: New file.
81681         * lib/unictype/categ_Lo.c: New file.
81682         * lib/unictype/categ_Lt.c: New file.
81683         * lib/unictype/categ_Lu.c: New file.
81684         * lib/unictype/categ_M.c: New file.
81685         * lib/unictype/categ_Mc.c: New file.
81686         * lib/unictype/categ_Me.c: New file.
81687         * lib/unictype/categ_Mn.c: New file.
81688         * lib/unictype/categ_N.c: New file.
81689         * lib/unictype/categ_Nd.c: New file.
81690         * lib/unictype/categ_Nl.c: New file.
81691         * lib/unictype/categ_No.c: New file.
81692         * lib/unictype/categ_P.c: New file.
81693         * lib/unictype/categ_Pc.c: New file.
81694         * lib/unictype/categ_Pd.c: New file.
81695         * lib/unictype/categ_Pe.c: New file.
81696         * lib/unictype/categ_Pf.c: New file.
81697         * lib/unictype/categ_Pi.c: New file.
81698         * lib/unictype/categ_Po.c: New file.
81699         * lib/unictype/categ_Ps.c: New file.
81700         * lib/unictype/categ_S.c: New file.
81701         * lib/unictype/categ_Sc.c: New file.
81702         * lib/unictype/categ_Sk.c: New file.
81703         * lib/unictype/categ_Sm.c: New file.
81704         * lib/unictype/categ_So.c: New file.
81705         * lib/unictype/categ_Z.c: New file.
81706         * lib/unictype/categ_Zl.c: New file.
81707         * lib/unictype/categ_Zp.c: New file.
81708         * lib/unictype/categ_Zs.c: New file.
81709         * lib/unictype/categ_and.c: New file.
81710         * lib/unictype/categ_and_not.c: New file.
81711         * lib/unictype/categ_byname.c: New file.
81712         * lib/unictype/categ_name.c: New file.
81713         * lib/unictype/categ_none.c: New file.
81714         * lib/unictype/categ_of.c: New file.
81715         * lib/unictype/categ_or.c: New file.
81716         * lib/unictype/categ_test.c: New file.
81717         * lib/unictype/combining.c: New file.
81718         * lib/unictype/ctype_alnum.c: New file.
81719         * lib/unictype/ctype_alpha.c: New file.
81720         * lib/unictype/ctype_blank.c: New file.
81721         * lib/unictype/ctype_cntrl.c: New file.
81722         * lib/unictype/ctype_digit.c: New file.
81723         * lib/unictype/ctype_graph.c: New file.
81724         * lib/unictype/ctype_lower.c: New file.
81725         * lib/unictype/ctype_print.c: New file.
81726         * lib/unictype/ctype_punct.c: New file.
81727         * lib/unictype/ctype_space.c: New file.
81728         * lib/unictype/ctype_upper.c: New file.
81729         * lib/unictype/ctype_xdigit.c: New file.
81730         * lib/unictype/decdigit.c: New file.
81731         * lib/unictype/digit.c: New file.
81732         * lib/unictype/identsyntaxmap.h: New file.
81733         * lib/unictype/mirror.c: New file.
81734         * lib/unictype/numeric.c: New file.
81735         * lib/unictype/pr_alphabetic.c: New file.
81736         * lib/unictype/pr_ascii_hex_digit.c: New file.
81737         * lib/unictype/pr_bidi_arabic_digit.c: New file.
81738         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
81739         * lib/unictype/pr_bidi_block_separator.c: New file.
81740         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
81741         * lib/unictype/pr_bidi_common_separator.c: New file.
81742         * lib/unictype/pr_bidi_control.c: New file.
81743         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
81744         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
81745         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
81746         * lib/unictype/pr_bidi_european_digit.c: New file.
81747         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
81748         * lib/unictype/pr_bidi_left_to_right.c: New file.
81749         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
81750         * lib/unictype/pr_bidi_other_neutral.c: New file.
81751         * lib/unictype/pr_bidi_pdf.c: New file.
81752         * lib/unictype/pr_bidi_segment_separator.c: New file.
81753         * lib/unictype/pr_bidi_whitespace.c: New file.
81754         * lib/unictype/pr_byname.c: New file.
81755         * lib/unictype/pr_byname.gperf: New file.
81756         * lib/unictype/pr_combining.c: New file.
81757         * lib/unictype/pr_composite.c: New file.
81758         * lib/unictype/pr_currency_symbol.c: New file.
81759         * lib/unictype/pr_dash.c: New file.
81760         * lib/unictype/pr_decimal_digit.c: New file.
81761         * lib/unictype/pr_default_ignorable_code_point.c: New file.
81762         * lib/unictype/pr_deprecated.c: New file.
81763         * lib/unictype/pr_diacritic.c: New file.
81764         * lib/unictype/pr_extender.c: New file.
81765         * lib/unictype/pr_format_control.c: New file.
81766         * lib/unictype/pr_grapheme_base.c: New file.
81767         * lib/unictype/pr_grapheme_extend.c: New file.
81768         * lib/unictype/pr_grapheme_link.c: New file.
81769         * lib/unictype/pr_hex_digit.c: New file.
81770         * lib/unictype/pr_hyphen.c: New file.
81771         * lib/unictype/pr_id_continue.c: New file.
81772         * lib/unictype/pr_id_start.c: New file.
81773         * lib/unictype/pr_ideographic.c: New file.
81774         * lib/unictype/pr_ids_binary_operator.c: New file.
81775         * lib/unictype/pr_ids_trinary_operator.c: New file.
81776         * lib/unictype/pr_ignorable_control.c: New file.
81777         * lib/unictype/pr_iso_control.c: New file.
81778         * lib/unictype/pr_join_control.c: New file.
81779         * lib/unictype/pr_left_of_pair.c: New file.
81780         * lib/unictype/pr_line_separator.c: New file.
81781         * lib/unictype/pr_logical_order_exception.c: New file.
81782         * lib/unictype/pr_lowercase.c: New file.
81783         * lib/unictype/pr_math.c: New file.
81784         * lib/unictype/pr_non_break.c: New file.
81785         * lib/unictype/pr_not_a_character.c: New file.
81786         * lib/unictype/pr_numeric.c: New file.
81787         * lib/unictype/pr_other_alphabetic.c: New file.
81788         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
81789         * lib/unictype/pr_other_grapheme_extend.c: New file.
81790         * lib/unictype/pr_other_id_continue.c: New file.
81791         * lib/unictype/pr_other_id_start.c: New file.
81792         * lib/unictype/pr_other_lowercase.c: New file.
81793         * lib/unictype/pr_other_math.c: New file.
81794         * lib/unictype/pr_other_uppercase.c: New file.
81795         * lib/unictype/pr_paired_punctuation.c: New file.
81796         * lib/unictype/pr_paragraph_separator.c: New file.
81797         * lib/unictype/pr_pattern_syntax.c: New file.
81798         * lib/unictype/pr_pattern_white_space.c: New file.
81799         * lib/unictype/pr_private_use.c: New file.
81800         * lib/unictype/pr_punctuation.c: New file.
81801         * lib/unictype/pr_quotation_mark.c: New file.
81802         * lib/unictype/pr_radical.c: New file.
81803         * lib/unictype/pr_sentence_terminal.c: New file.
81804         * lib/unictype/pr_soft_dotted.c: New file.
81805         * lib/unictype/pr_space.c: New file.
81806         * lib/unictype/pr_terminal_punctuation.c: New file.
81807         * lib/unictype/pr_test.c: New file.
81808         * lib/unictype/pr_titlecase.c: New file.
81809         * lib/unictype/pr_unassigned_code_value.c: New file.
81810         * lib/unictype/pr_unified_ideograph.c: New file.
81811         * lib/unictype/pr_uppercase.c: New file.
81812         * lib/unictype/pr_variation_selector.c: New file.
81813         * lib/unictype/pr_white_space.c: New file.
81814         * lib/unictype/pr_xid_continue.c: New file.
81815         * lib/unictype/pr_xid_start.c: New file.
81816         * lib/unictype/pr_zero_width.c: New file.
81817         * lib/unictype/scripts.c: New file.
81818         * lib/unictype/sy_c_ident.c: New file.
81819         * lib/unictype/sy_c_whitespace.c: New file.
81820         * lib/unictype/sy_java_ident.c: New file.
81821         * lib/unictype/sy_java_whitespace.c: New file.
81823         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
81824         Unicode 5.0.0.
81825         * lib/unictype/blocks.h: Likewise.
81826         * lib/unictype/categ_C.h: Likewise.
81827         * lib/unictype/categ_Cc.h: Likewise.
81828         * lib/unictype/categ_Cf.h: Likewise.
81829         * lib/unictype/categ_Cn.h: Likewise.
81830         * lib/unictype/categ_Co.h: Likewise.
81831         * lib/unictype/categ_Cs.h: Likewise.
81832         * lib/unictype/categ_L.h: Likewise.
81833         * lib/unictype/categ_Ll.h: Likewise.
81834         * lib/unictype/categ_Lm.h: Likewise.
81835         * lib/unictype/categ_Lo.h: Likewise.
81836         * lib/unictype/categ_Lt.h: Likewise.
81837         * lib/unictype/categ_Lu.h: Likewise.
81838         * lib/unictype/categ_M.h: Likewise.
81839         * lib/unictype/categ_Mc.h: Likewise.
81840         * lib/unictype/categ_Me.h: Likewise.
81841         * lib/unictype/categ_Mn.h: Likewise.
81842         * lib/unictype/categ_N.h: Likewise.
81843         * lib/unictype/categ_Nd.h: Likewise.
81844         * lib/unictype/categ_Nl.h: Likewise.
81845         * lib/unictype/categ_No.h: Likewise.
81846         * lib/unictype/categ_P.h: Likewise.
81847         * lib/unictype/categ_Pc.h: Likewise.
81848         * lib/unictype/categ_Pd.h: Likewise.
81849         * lib/unictype/categ_Pe.h: Likewise.
81850         * lib/unictype/categ_Pf.h: Likewise.
81851         * lib/unictype/categ_Pi.h: Likewise.
81852         * lib/unictype/categ_Po.h: Likewise.
81853         * lib/unictype/categ_Ps.h: Likewise.
81854         * lib/unictype/categ_S.h: Likewise.
81855         * lib/unictype/categ_Sc.h: Likewise.
81856         * lib/unictype/categ_Sk.h: Likewise.
81857         * lib/unictype/categ_Sm.h: Likewise.
81858         * lib/unictype/categ_So.h: Likewise.
81859         * lib/unictype/categ_Z.h: Likewise.
81860         * lib/unictype/categ_Zl.h: Likewise.
81861         * lib/unictype/categ_Zp.h: Likewise.
81862         * lib/unictype/categ_Zs.h: Likewise.
81863         * lib/unictype/categ_of.h: Likewise.
81864         * lib/unictype/combining.h: Likewise.
81865         * lib/unictype/ctype_alnum.h: Likewise.
81866         * lib/unictype/ctype_alpha.h: Likewise.
81867         * lib/unictype/ctype_blank.h: Likewise.
81868         * lib/unictype/ctype_cntrl.h: Likewise.
81869         * lib/unictype/ctype_digit.h: Likewise.
81870         * lib/unictype/ctype_graph.h: Likewise.
81871         * lib/unictype/ctype_lower.h: Likewise.
81872         * lib/unictype/ctype_print.h: Likewise.
81873         * lib/unictype/ctype_punct.h: Likewise.
81874         * lib/unictype/ctype_space.h: Likewise.
81875         * lib/unictype/ctype_upper.h: Likewise.
81876         * lib/unictype/ctype_xdigit.h: Likewise.
81877         * lib/unictype/decdigit.h: Likewise.
81878         * lib/unictype/digit.h: Likewise.
81879         * lib/unictype/mirror.h: Likewise.
81880         * lib/unictype/numeric.h: Likewise.
81881         * lib/unictype/pr_alphabetic.h: Likewise.
81882         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
81883         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
81884         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
81885         * lib/unictype/pr_bidi_block_separator.h: Likewise.
81886         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
81887         * lib/unictype/pr_bidi_common_separator.h: Likewise.
81888         * lib/unictype/pr_bidi_control.h: Likewise.
81889         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
81890         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
81891         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
81892         * lib/unictype/pr_bidi_european_digit.h: Likewise.
81893         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
81894         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
81895         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
81896         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
81897         * lib/unictype/pr_bidi_pdf.h: Likewise.
81898         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
81899         * lib/unictype/pr_bidi_whitespace.h: Likewise.
81900         * lib/unictype/pr_combining.h: Likewise.
81901         * lib/unictype/pr_composite.h: Likewise.
81902         * lib/unictype/pr_currency_symbol.h: Likewise.
81903         * lib/unictype/pr_dash.h: Likewise.
81904         * lib/unictype/pr_decimal_digit.h: Likewise.
81905         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
81906         * lib/unictype/pr_deprecated.h: Likewise.
81907         * lib/unictype/pr_diacritic.h: Likewise.
81908         * lib/unictype/pr_extender.h: Likewise.
81909         * lib/unictype/pr_format_control.h: Likewise.
81910         * lib/unictype/pr_grapheme_base.h: Likewise.
81911         * lib/unictype/pr_grapheme_extend.h: Likewise.
81912         * lib/unictype/pr_grapheme_link.h: Likewise.
81913         * lib/unictype/pr_hex_digit.h: Likewise.
81914         * lib/unictype/pr_hyphen.h: Likewise.
81915         * lib/unictype/pr_id_continue.h: Likewise.
81916         * lib/unictype/pr_id_start.h: Likewise.
81917         * lib/unictype/pr_ideographic.h: Likewise.
81918         * lib/unictype/pr_ids_binary_operator.h: Likewise.
81919         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
81920         * lib/unictype/pr_ignorable_control.h: Likewise.
81921         * lib/unictype/pr_iso_control.h: Likewise.
81922         * lib/unictype/pr_join_control.h: Likewise.
81923         * lib/unictype/pr_left_of_pair.h: Likewise.
81924         * lib/unictype/pr_line_separator.h: Likewise.
81925         * lib/unictype/pr_logical_order_exception.h: Likewise.
81926         * lib/unictype/pr_lowercase.h: Likewise.
81927         * lib/unictype/pr_math.h: Likewise.
81928         * lib/unictype/pr_non_break.h: Likewise.
81929         * lib/unictype/pr_not_a_character.h: Likewise.
81930         * lib/unictype/pr_numeric.h: Likewise.
81931         * lib/unictype/pr_other_alphabetic.h: Likewise.
81932         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
81933         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
81934         * lib/unictype/pr_other_id_continue.h: Likewise.
81935         * lib/unictype/pr_other_id_start.h: Likewise.
81936         * lib/unictype/pr_other_lowercase.h: Likewise.
81937         * lib/unictype/pr_other_math.h: Likewise.
81938         * lib/unictype/pr_other_uppercase.h: Likewise.
81939         * lib/unictype/pr_paired_punctuation.h: Likewise.
81940         * lib/unictype/pr_paragraph_separator.h: Likewise.
81941         * lib/unictype/pr_pattern_syntax.h: Likewise.
81942         * lib/unictype/pr_pattern_white_space.h: Likewise.
81943         * lib/unictype/pr_private_use.h: Likewise.
81944         * lib/unictype/pr_punctuation.h: Likewise.
81945         * lib/unictype/pr_quotation_mark.h: Likewise.
81946         * lib/unictype/pr_radical.h: Likewise.
81947         * lib/unictype/pr_sentence_terminal.h: Likewise.
81948         * lib/unictype/pr_soft_dotted.h: Likewise.
81949         * lib/unictype/pr_space.h: Likewise.
81950         * lib/unictype/pr_terminal_punctuation.h: Likewise.
81951         * lib/unictype/pr_titlecase.h: Likewise.
81952         * lib/unictype/pr_unassigned_code_value.h: Likewise.
81953         * lib/unictype/pr_unified_ideograph.h: Likewise.
81954         * lib/unictype/pr_uppercase.h: Likewise.
81955         * lib/unictype/pr_variation_selector.h: Likewise.
81956         * lib/unictype/pr_white_space.h: Likewise.
81957         * lib/unictype/pr_xid_continue.h: Likewise.
81958         * lib/unictype/pr_xid_start.h: Likewise.
81959         * lib/unictype/pr_zero_width.h: Likewise.
81960         * lib/unictype/scripts.h: Likewise.
81961         * lib/unictype/scripts_byname.gperf: Likewise.
81962         * lib/unictype/sy_c_ident.h: Likewise.
81963         * lib/unictype/sy_c_whitespace.h: Likewise.
81964         * lib/unictype/sy_java_ident.h: Likewise.
81965         * lib/unictype/sy_java_whitespace.h: Likewise.
81967         * lib/unictype/Makefile: New file.
81968         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
81969         glibc.
81970         * lib/unictype/3level.h: New file, copied from glibc.
81971         * lib/unictype/3levelbit.h: New file.
81973 2007-11-11  Bruno Haible  <bruno@clisp.org>
81975         * modules/gperf: New file.
81976         * modules/iconv_open (Depends-on): Add it.
81977         (Makefile.am): Remove the GPERF definition.
81979 2007-11-11  Bruno Haible  <bruno@clisp.org>
81981         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
81982         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
81984 2007-11-11  Bruno Haible  <bruno@clisp.org>
81986         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
81987         (usage): Remove function.
81989 2007-11-11  Bruno Haible  <bruno@clisp.org>
81991         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
81992         gl_FUNC_CEILF_LIBS.
81993         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
81994         gl_FUNC_CEIL_LIBS.
81995         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
81996         gl_FUNC_CEILL_LIBS.
81997         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
81998         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
81999         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
82001 2007-11-11  Bruno Haible  <bruno@clisp.org>
82003         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
82004         roundf were declared but do not exist on functions.
82005         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
82006         roundl were declared but do not exist on functions.
82007         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
82008         HAVE_FLOORL_AND_CEILL, respectively.
82009         Needed for Sun C on Solaris 10.
82011 2007-11-11  Bruno Haible  <bruno@clisp.org>
82013         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
82014         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
82015         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
82016         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
82017         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
82018         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
82019         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
82020         HAVE_DECL_ROUNDF.
82021         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
82022         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
82023         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
82024         of HAVE_DECL_ROUND*.
82025         * modules/math (Makefile.am): Update.
82027 2007-11-10  Bruno Haible  <bruno@clisp.org>
82029         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
82030         ptrdiff_t as m4/intl.m4.
82032 2007-11-10  Jim Meyering  <meyering@redhat.com>
82034         Avoid link failure for the argmatch test.
82035         * tests/test-argmatch.c (usage): Define function to avoid a link
82036         failure: argmatch_die requires a usage function.
82038 2007-11-09  Bruno Haible  <bruno@clisp.org>
82040         * doc/functions/snprintf.texi: Mention BeOS deficiency.
82041         * doc/functions/vsnprintf.texi: Likewise.
82042         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
82043         with a size argument < 2.
82045 2007-11-09  Bruno Haible  <bruno@clisp.org>
82047         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
82048         buffer. Fixes an inefficiency introduced on 2007-11-03.
82050 2007-11-09  Bruno Haible  <bruno@clisp.org>
82052         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
82053         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
82055 2007-11-08  Jim Meyering  <meyering@redhat.com>
82057         Change cache variable name prefix "jm_" to "gl_" everywhere.
82058         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
82059         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
82060         * m4/uptime.m4: s/gl_/jm_/
82062 2007-11-07  Bruno Haible  <bruno@clisp.org>
82064         Update to GNU gettext 0.17.
82065         * m4/intl.m4: Update to GNU gettext 0.17.
82066         * m4/po.m4: Likewise.
82067         * modules/gettext (Files): Remove m4/ulonglong.m4.
82068         (configure.ac): Require gettext infrastructure from version 0.17.
82070 2007-11-06  Bruno Haible  <bruno@clisp.org>
82072         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
82073         symbolic values are not defined in a public header.
82074         * lib/freadable.c (freadable) [QNX]: Likewise.
82075         * lib/freadahead.c (freadahead) [QNX]: Likewise.
82076         * lib/freading.c (freading) [QNX]: Likewise.
82077         * lib/fseterr.c (fseterr) [QNX]: Likewise.
82078         * lib/fwritable.c (fwritable) [QNX]: Likewise.
82079         * lib/fwriting.c (fwriting) [QNX]: Likewise.
82080         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
82081         Reported by Alain Magloire.
82083         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
82085 2007-11-05  Bruno Haible  <bruno@clisp.org>
82087         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
82088         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
82089         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
82090         Reported by Eric Blake.
82092 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82093             Bruno Haible  <bruno@clisp.org>
82095         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
82096         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
82097         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
82098         (malloc): Undefine also before including <stdlib.h>.
82099         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
82100         Needed on OSF/1 4.0.
82102 2007-11-05  Jim Meyering  <meyering@redhat.com>
82104         git-version-gen: sync from coreutils.
82105         * build-aux/git-version-gen: Add comments.
82106         Change the first '-' to '.' in the snapshot version string,
82107         e.g., 6.9-377-08144 -> 6.9.377-08144
82108         Remove first parameter.
82109         Don't declare a version "-dirty" merely because a time
82110         stamp has changed.
82112 2007-11-04  Bruno Haible  <bruno@clisp.org>
82114         * lib/lock.h: Protect all macro definitions containing an 'if'
82115         statement through a "do { ... } while (0)".
82116         * lib/tls.h: Likewise.
82118 2007-11-04  Bruno Haible  <bruno@clisp.org>
82120         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
82122 2007-11-04  Bruno Haible  <bruno@clisp.org>
82124         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
82125         * modules/fprintf-posix (Depends-on): Add nocrash.
82126         * modules/snprintf-posix (Depends-on): Likewise.
82127         * modules/sprintf-posix (Depends-on): Likewise.
82128         * modules/vasnprintf-posix (Depends-on): Likewise.
82129         * modules/vasprintf-posix (Depends-on): Likewise.
82130         * modules/vfprintf-posix (Depends-on): Likewise.
82131         * modules/vsnprintf-posix (Depends-on): Likewise.
82132         * modules/vsprintf-posix (Depends-on): Likewise.
82133         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
82134         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
82135         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
82136         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
82137         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
82138         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
82139         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
82141 2007-11-04  Bruno Haible  <bruno@clisp.org>
82143         * modules/nocrash: New file.
82144         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
82145         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
82147 2007-11-04  Bruno Haible  <bruno@clisp.org>
82149         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
82150         precision handling.
82151         * tests/test-vasprintf-posix.c (test_function): Likewise.
82152         * tests/test-snprintf-posix.h (test_function): Likewise.
82153         * tests/test-sprintf-posix.h (test_function): Likewise.
82155         Fix *printf behaviour for large precisions on mingw and BeOS.
82156         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
82157         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
82158         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
82159         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
82160         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
82161         gl_PRINTF_PRECISION and test its result. Invoke
82162         gl_PREREQ_VASNPRINTF_PRECISION.
82163         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
82164         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
82165         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
82166         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
82167         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
82168         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
82169         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
82170         * doc/functions/fprintf.texi: Update.
82171         * doc/functions/printf.texi: Update.
82172         * doc/functions/snprintf.texi: Update.
82173         * doc/functions/sprintf.texi: Update.
82174         * doc/functions/vfprintf.texi: Update.
82175         * doc/functions/vprintf.texi: Update.
82176         * doc/functions/vsnprintf.texi: Update.
82177         * doc/functions/vsprintf.texi: Update.
82179 2007-11-04  Bruno Haible  <bruno@clisp.org>
82181         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
82183 2007-11-04  Bruno Haible  <bruno@clisp.org>
82185         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
82186         Reported by Sylvain Beucler <beuc@gnu.org>.
82188 2007-11-03  Bruno Haible  <bruno@clisp.org>
82190         * tests/test-fprintf-posix2.sh: New file.
82191         * tests/test-fprintf-posix2.c: New file.
82192         * modules/fprintf-posix-tests (Files): Add them.
82193         (TESTS): Add test-fprintf-posix2.sh.
82194         (configure.ac): Check for getrlimit and setrlimit.
82195         (check_PROGRAMS): Add test-fprintf-posix2.
82197         * tests/test-printf-posix2.sh: New file.
82198         * tests/test-printf-posix2.c: New file.
82199         * modules/printf-posix-tests (Files): Add them.
82200         (TESTS): Add test-printf-posix2.sh.
82201         (configure.ac): Check for getrlimit and setrlimit.
82202         (check_PROGRAMS): Add test-printf-posix2.
82204         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
82205         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
82206         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
82207         (decode_double): New function, copied from decode_long_double.
82208         (scale10_round_decimal_decoded): New function, extracted from
82209         scale10_round_decimal_long_double.
82210         (scale10_round_decimal_long_double): Use it.
82211         (scale10_round_decimal_double): New function.
82212         (floorlog10): New function.
82213         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
82214         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
82215         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
82216         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
82217         gl_PRINTF_ENOMEM and test its result. Invoke
82218         gl_PREREQ_VASNPRINTF_ENOMEM.
82219         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
82220         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
82221         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
82222         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
82223         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
82224         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
82225         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
82226         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
82227         * modules/snprintf-posix (Depends-on): Likewise.
82228         * modules/sprintf-posix (Depends-on): Likewise.
82229         * modules/vasnprintf-posix (Depends-on): Likewise.
82230         * modules/vasprintf-posix (Depends-on): Likewise.
82231         * modules/vfprintf-posix (Depends-on): Likewise.
82232         * modules/vsnprintf-posix (Depends-on): Likewise.
82233         * modules/vsprintf-posix (Depends-on): Likewise.
82234         * doc/functions/fprintf.texi: Update.
82235         * doc/functions/printf.texi: Update.
82236         * doc/functions/snprintf.texi: Update.
82237         * doc/functions/sprintf.texi: Update.
82238         * doc/functions/vfprintf.texi: Update.
82239         * doc/functions/vprintf.texi: Update.
82240         * doc/functions/vsnprintf.texi: Update.
82241         * doc/functions/vsprintf.texi: Update.
82243 2007-11-03  Bruno Haible  <bruno@clisp.org>
82245         * modules/frexp-nolibm-tests: New file.
82247         * modules/frexp-nolibm: New file.
82248         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
82250 2007-11-03  Bruno Haible  <bruno@clisp.org>
82252         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
82253         value is C99 compliant.
82254         Needed for OSF/1 5.1.
82256 2007-11-03  Bruno Haible  <bruno@clisp.org>
82258         Fix out-of-memory handling of vasnprintf.
82259         * lib/printf-parse.c: Include <errno.h>.
82260         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
82261         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
82262         is already set.
82264 2007-11-02  Eric Blake  <ebb9@byu.net>
82266         Fix tests on cygwin.
82267         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
82269 2007-11-01  Bruno Haible  <bruno@clisp.org>
82271         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
82272         warning.
82273         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
82274         needed for POSIX compatibility.
82276 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
82278         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
82279         for compatibility with GNU.
82281 2007-11-01  Bruno Haible  <bruno@clisp.org>
82283         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
82284         (putenv): Renamed from rpl_putenv. Change argument type from
82285         'const char *' to 'char *'.
82286         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
82287         of defining putenv in config.h, just set REPLACE_PUTENV.
82288         * modules/putenv (Depends-on): Add stdlib.
82289         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
82290         (Include): Use <stdlib.h>.
82291         * lib/stdlib.in.h (putenv): New declaration.
82292         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
82293         REPLACE_PUTENV.
82294         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
82295         REPLACE_PUTENV.
82296         Needed for MacOS X 10.5.0.
82297         Reported by Peter O'Gorman <peter@pogma.com>.
82299 2007-11-01  Jim Meyering  <meyering@redhat.com>
82301         Treat an empty date string exactly like "0".
82302         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
82303         if the remaining date string (to be parsed) is empty, use "0".
82304         Reported by Mischa Molhoek and discussed in this thread:
82305         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
82307 2007-10-31  Bruno Haible  <bruno@clisp.org>
82309         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
82310         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
82311         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
82312         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
82313         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
82314         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
82316 2007-10-31  Bruno Haible  <bruno@clisp.org>
82318         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
82319         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
82320         (AC_TYPE_LONG_LONG_INT): Use it.
82321         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
82322         it as well.
82323         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
82324         to m4/longlong.m4.
82325         * modules/stdint (Files): Remove m4/ulonglong.m4.
82326         * modules/strtoull (Files): Use m4/longlong.m4 instead of
82327         m4/ulonglong.m4.
82328         * modules/strtoumax (Files): Likewise.
82330 2007-10-30  Bruno Haible  <bruno@clisp.org>
82332         * modules/xvasprintf-posix: New file.
82333         Suggested by Eric Blake.
82335 2007-10-30  Bruno Haible  <bruno@clisp.org>
82337         * modules/xprintf-posix-tests: New file.
82338         * tests/test-xprintf-posix.sh: New file.
82339         * tests/test-xprintf-posix.c: New file.
82340         * tests/test-xfprintf-posix.c: New file.
82342         * modules/xprintf-posix: New file.
82344 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82346         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
82347         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
82348         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
82350 2007-10-29  Bruno Haible  <bruno@clisp.org>
82352         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
82353         contain the special marker '_cv_'.
82354         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
82355         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
82356         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
82357         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
82358         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
82359         Reported by Ralf Wildenhues.
82361 2007-10-29  Bruno Haible  <bruno@clisp.org>
82363         * gnulib-tool (func_import): When --lgpl is not specified, set
82364         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
82365         GPLv3.
82366         Reported by Simon Josefsson.
82368 2007-10-28  Bruno Haible  <bruno@clisp.org>
82370         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
82371         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
82372         HAVE_DECL_ISFINITE.
82373         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
82374         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
82375         HAVE_DECL_ISFINITE.
82377 2007-10-28  Bruno Haible  <bruno@clisp.org>
82379         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
82380         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
82382 2007-10-28  Bruno Haible  <bruno@clisp.org>
82384         Fix link errors with Sun C 5.0 on Solaris 10.
82385         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
82386         function is declared but not present in the compiler's libm.
82387         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
82388         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
82389         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
82390         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
82391         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
82392         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
82393         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
82394         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
82395         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
82396         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
82397         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
82398         HAVE_DECL_FLOORL.
82400 2007-10-28  Bruno Haible  <bruno@clisp.org>
82402         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
82403         gl_FUNC_FLOORL. Cache the result.
82404         (gl_FUNC_FLOORL): Use it.
82405         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
82406         gl_FUNC_CEILL. Cache the result.
82407         (gl_FUNC_CEILL): Use it.
82409         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
82410         gl_FUNC_FLOOR. Cache the result.
82411         (gl_FUNC_FLOOR): Use it.
82412         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
82413         gl_FUNC_CEIL. Cache the result.
82414         (gl_FUNC_CEIL): Use it.
82416         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
82417         gl_FUNC_FLOORF. Cache the result.
82418         (gl_FUNC_FLOORF): Use it.
82419         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
82420         gl_FUNC_CEILF. Cache the result.
82421         (gl_FUNC_CEILF): Use it.
82423 2007-10-28  Bruno Haible  <bruno@clisp.org>
82425         * gnulib-tool: Allow specifying the LGPL version number through
82426         --lgpl=2 or --lgpl=3.
82427         (func_usage): Document --lgpl with argument.
82428         Handle --lgpl=... arguments.
82429         (func_import): Recognize also gl_LGPL calls with an argument. When
82430         --lgpl=2 is used and the module's license is just LGPL, report an
82431         error. Set sed_transform_lib_file according to the lgpl variable. In
82432         the generated files, use --lgpl or gl_LGPL invocations with argument,
82433         if necessary.
82434         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
82435         an LGPv2+ license.
82436         * doc/gnulib-tool.texi (Modified imports): Update explanation of
82437         gl_LGPL macro.
82439 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82440             Bruno Haible  <bruno@clisp.org>
82442         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
82443         (u16_uctomb_aux): Likewise.
82444         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
82445         !HAVE_INLINE.
82446         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
82448 2007-10-28  Bruno Haible  <bruno@clisp.org>
82450         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
82451         Invoke AM_GETTEXT_OPTION if it exists.
82452         * modules/vasprintf: Likewise.
82453         * modules/verror: Likewise.
82454         * modules/xprintf: Likewise.
82455         * modules/xvasprintf: Likewise.
82457 2007-10-27  Ben Pfaff  <blp@gnu.org>
82459         * lib/math.in.h: Define isfinite macro and prototypes for
82460         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
82461         implementations.
82462         * m4/math_h.m4: New substitutions for isfinite module.
82463         * lib/isfinite.c: New file.
82464         * m4/isfinite.m4: New file.
82465         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
82466         * modules/isfinite: New file.
82467         * modules/isfinite-tests: New file.
82468         * tests/tests-isfinite.c: New file.
82469         * doc/functions/isfinite.texi: Mention isfinite module.
82470         * MODULES.html.sh: Mention new module.
82472 2007-10-27  Ben Pfaff  <blp@gnu.org>
82474         Ralf Wildenhues reported that Tru64 4.0D declares the round
82475         functions but does not have definitions.
82476         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
82477         cannot be found in any library, set the output variable to
82478         "missing" instead of "".
82479         * m4/round.m4: Also use our substitute if we cannot find round in
82480         any library, even if it is declared.
82481         * m4/roundf.m4: Likewise for roundf.
82482         * m4/roundl.m4: Likewise for roundl.
82483         * lib/math.in.h: Undefine roundf, round, roundl before defining
82484         their replacements, to allow for hypothetical systems where these
82485         may be defined as macros but not available in libraries.
82487 2007-10-27  Bruno Haible  <bruno@clisp.org>
82489         * doc/gnulib.texi: Invoke @firstparagraphindent.
82490         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
82491         changes in gnulib.
82492         (Source changes): New section.
82494 2007-10-26  Bruno Haible  <bruno@clisp.org>
82496         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
82497         borrowed from autoconf.
82499 2007-10-26  Bruno Haible  <bruno@clisp.org>
82501         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
82502         strerror returned the empty string. Needed on HP-UX 11.00.
82504 2007-10-24  Micah Cowan  <micah@cowan.name>
82506         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
82507         * build-aux/bootstrap: Remove support for now-unnecessary option,
82508         --cvs-user, and envvars CVS_USER, CVS_RSH.
82510 2007-10-24  Jim Meyering  <meyering@redhat.com>
82512         Avoid diagnostics from sha1sum when there is no cached checksum.
82513         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
82514         if the po.s1 file hasn't been created yet.
82516         * build-aux/bootstrap: Sync from coreutils:
82517         2007-10-24  Jim Meyering  <meyering@redhat.com>
82518         Get gnulib from the git repository, not from an obsolete cvs one.
82519         * build-aux/bootstrap: Suggestion from Micah Cowan.
82520         2007-10-04  Jim Meyering  <jim@meyering.net>
82521         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
82522         (update_po_files): Work also when there are no .po files in po/.
82524 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
82526         * README: Append ".git" to git and cg examples.
82527         Problem reported by Benoit Sigoure.
82529 2007-10-23  Micah Cowan  <micah@cowan.name>
82531         * users.txt: Add wget.
82533 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82535         Fix linking of some unistdio tests on FreeBSD.
82536         * modules/unistdio/u16-vsnprintf-tests
82537         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
82538         * modules/unistdio/u16-vsprintf-tests
82539         (test_u16_vsnprintf1_LDADD): Likewise.
82540         * modules/unistdio/u32-vsnprintf-tests
82541         (test_u32_vsnprintf1_LDADD): Likewise.
82542         * modules/unistdio/u32-vsprintf-tests
82543         (test_u32_vsprintf1_LDADD): Likewise.
82544         * modules/unistdio/u8-vsnprintf-tests
82545         (test_u8_vsnprintf1_LDADD): Likewise.
82546         * modules/unistdio/u8-vsprintf-tests
82547         (test_u8_vsprintf1_LDADD): Likewise.
82548         * modules/unistdio/ulc-vsnprintf-tests
82549         (test_ulc_vsnprintf1_LDADD): Likewise.
82550         * modules/unistdio/ulc-vsprintf-tests
82551         (test_ulc_vsprintf1_LDADD): Likewise.
82553         Fix linking of some uniconv tests on FreeBSD.
82554         * modules/uniconv/u16-conv-from-enc-tests
82555         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
82556         * modules/uniconv/u16-conv-to-enc-tests
82557         (test_u16_conv_to_enc_LDADD): Likewise.
82558         * modules/uniconv/u16-strconv-from-enc-tests
82559         (test_u16_strconv_from_enc_LDADD): Likewise.
82560         * modules/uniconv/u16-strconv-to-enc-tests
82561         (test_u16_strconv_to_enc_LDADD): Likewise.
82562         * modules/uniconv/u32-conv-from-enc-tests
82563         (test_u32_conv_from_enc_LDADD): Likewise.
82564         * modules/uniconv/u32-conv-to-enc-tests
82565         (test_u32_conv_to_enc_LDADD): Likewise.
82566         * modules/uniconv/u32-strconv-from-enc-tests
82567         (test_u32_strconv_from_enc_LDADD): Likewise.
82568         * modules/uniconv/u32-strconv-to-enc-tests
82569         (test_u32_strconv_to_enc_LDADD): Likewise.
82570         * modules/uniconv/u8-conv-from-enc-tests
82571         (test_u8_conv_from_enc_LDADD): Likewise.
82572         * modules/uniconv/u8-conv-to-enc-tests
82573         (test_u8_conv_to_enc_LDADD): Likewise.
82574         * modules/uniconv/u8-strconv-from-enc-tests
82575         (test_u8_strconv_from_enc_LDADD): Likewise.
82576         * modules/uniconv/u8-strconv-to-enc-tests
82577         (test_u8_strconv_to_enc_LDADD): Likewise.
82579 2007-10-22  Bruno Haible  <bruno@clisp.org>
82581         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
82582         size.
82584 2007-10-22  Eric Blake  <ebb9@byu.net>
82586         Tweak x*printf documentation.
82587         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
82588         variable name and comments.
82589         Suggested by Bruno Haible.
82591 2007-10-22  Bruno Haible  <bruno@clisp.org>
82593         * lib/acl.c (copy_acl): Fix file name in comment.
82595 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
82597         Fix Tru64 problem with stdbool.h.
82598         * lib/stdbool.in.h (false, true):
82599         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
82600         Don't declare as an enum in this situation; it runs afoul of Tru64.
82601         Problem reported by Steven M. Schweda in
82602         <http://lists.gnu.org/r/bug-autoconf/2007-10/msg00019.html>.
82604 2007-10-22  Eric Blake  <ebb9@byu.net>
82606         Also wrap vf?printf.
82607         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
82608         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
82609         (xvprintf, xvfprintf): New functions.
82611 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82613         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
82614         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
82616         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
82617         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
82619 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
82621         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
82622         by Bruno Haible.
82624 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82626         * lib/getloadavg.c
82627         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
82628         Undef `sys' after including sys/table.h, for Tru64 4.0D.
82630         * tests/test-i-ring.c: Work for C89.
82632 2007-10-22  Bruno Haible  <bruno@clisp.org>
82634         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
82635         -1u, in preprocessor expression, so that we don't test for the bug
82636         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
82637         <http://lists.gnu.org/r/bug-gnulib/2007-10/msg00329.html>.
82639 2007-10-22  Eric Blake  <ebb9@byu.net>
82641         * tests/test-yesno.sh: Silence stderr during test.
82643 2007-10-22  Simon Josefsson  <simon@josefsson.org>
82645         * modules/crypto/gc-camellia: New file.
82647         * m4/gc-camellia.m4: New file.
82649         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
82651         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
82653 2007-10-22  Simon Josefsson  <simon@josefsson.org>
82655         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
82656         --help to stdout.  Reported by sms@antinode.org (Steven
82657         M. Schweda).
82659 2007-10-22  Simon Josefsson  <simon@josefsson.org>
82661         * users.txt: Fix link to libksba.
82663 2007-10-21  Ben Pfaff  <blp@gnu.org>
82665         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
82666         round.c roundf implementation that depends on floorf and ceilf to
82667         be tested unconditionally.
82669 2007-10-21  Ben Pfaff  <blp@gnu.org>
82671         * m4/check-libm-func.m4: Removed.
82672         * m4/check-math-lib.m4: New file.
82673         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
82674         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
82675         definition and lack of AC_LIBOBJ([roundf]).
82676         * m4/roundl.m4: Ditto, and similarly for roundl.
82677         * modules/round: Reference new m4 file.
82678         * modules/roundf: Ditto.
82679         * modules/roundl: Ditto.
82680         * tests/test-round2.c (main): Use ROUND instead of round.
82681         Bug report from Bruno Haible.
82683 2007-10-21  Bruno Haible  <bruno@clisp.org>
82685         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
82686         context.
82688 2007-10-21  Bruno Haible  <bruno@clisp.org>
82690         * tests/test-wcwidth.c (main): Allow negative result for some control
82691         characters.
82693         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
82694         Needed on OSF/1 5.1.
82696 2007-10-21  Bruno Haible  <bruno@clisp.org>
82698         * tests/test-floorf1.c: Include isnanf.h.
82699         (main): Use isnanf() instead of isnan().
82700         * tests/test-ceilf1.c: Include isnanf.h.
82701         (main): Use isnanf() instead of isnan().
82702         * tests/test-truncf1.c: Include isnanf.h.
82703         (main): Use isnanf() instead of isnan().
82704         * tests/test-roundf1.c: Include isnanf.h.
82705         (main): Use isnanf() instead of isnan().
82707 2007-10-21  Eric Blake  <ebb9@byu.net>
82709         * users.txt: Update URL for m4.
82711 2007-10-21  Bruno Haible  <bruno@clisp.org>
82713         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
82715 2007-10-21  Bruno Haible  <bruno@clisp.org>
82717         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
82718         Git's management files if the CVS files are not present.
82720 2007-10-20  Bruno Haible  <bruno@clisp.org>
82722         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
82723         gcc-3.4.x.
82725 2007-10-20  Ben Pfaff  <blp@gnu.org>
82727         * lib/math.in.h: Declare round, roundf, roundl if we are providing
82728         implementations.
82729         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
82730         * lib/round.c: New file.
82731         * lib/roundf.c: New file.
82732         * lib/roundl.c: New file.
82733         * m4/round.m4: New file.
82734         * m4/roundf.m4: New file.
82735         * m4/roundl.m4: New file.
82736         * m4/check-libm-func-m4: New file.
82737         * modules/math: Replace round, roundf, roundl related @VARS@ in
82738         math.in.h.
82739         * modules/round: New file.
82740         * modules/round-tests: New file.
82741         * modules/roundf: New file.
82742         * modules/roundf-tests: New file.
82743         * modules/roundl: New file.
82744         * modules/roundl-tests: New file.
82745         * tests/test-round1.c: New file.
82746         * tests/test-round2.c: New file.
82747         * tests/test-roundf1.c: New file.
82748         * tests/test-roundf2.c: New file.
82749         * tests/test-roundl.c: New file.
82750         * doc/functions/round.texi: Mention round module.
82751         * doc/functions/roundf.texi: Mention roundf module.
82752         * doc/functions/roundl.texi: Mention roundl module.
82753         * MODULES.html.sh: Mention new modules.
82754         Thanks to Bruno Haible for suggestions.
82756 2007-10-20  Jim Meyering  <meyering@redhat.com>
82758         * lib/xprintf.c: Include <config.h> unconditionally.
82760         Change xprintf's license to GPL.
82761         * modules/xprintf (License): s/LGPL/GPL/, since this module
82762         depends on modules (exit and exitfail) which are GPL.
82763         Suggestion from Bruno Haible.
82765         xprintf fixes.
82766         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
82767         Use a clearer diagnostic.
82768         Patch from Bruno Haible.
82770 2007-10-20  Bruno Haible  <bruno@clisp.org>
82772         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
82773         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
82774         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82776 2007-10-20  Bruno Haible  <bruno@clisp.org>
82778         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
82779         precision in the comparison result > x - 1 or similar.
82780         * tests/test-ceilf2.c (correct_result_p): Likewise.
82781         * tests/test-truncf2.c (correct_result_p): Likewise.
82782         * tests/test-trunc2.c (correct_result_p): Likewise.
82783         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82785 2007-10-20  Bruno Haible  <bruno@clisp.org>
82787         * modules/ceil: New file.
82788         * m4/ceil.m4: New file.
82789         * doc/functions/ceil.texi: Mention the 'ceil' module.
82791 2007-10-20  Bruno Haible  <bruno@clisp.org>
82793         * modules/floor: New file.
82794         * m4/floor.m4: New file.
82795         * doc/functions/floor.texi: Mention the 'floor' module.
82797 2007-10-20  Bruno Haible  <bruno@clisp.org>
82799         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
82800         of %a.
82801         * modules/floorf-tests (Depends-on): Likewise.
82802         * modules/truncf-tests (Depends-on): Likewise.
82803         * modules/trunc-tests (Depends-on): Likewise.
82804         Reported by Ben Pfaff.
82806 2007-10-19  Jim Meyering  <meyering@redhat.com>
82808         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
82809         Don't bother testing specific errno values.  Just test ferror.
82811         New module: xprintf
82812         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
82814 2007-10-19  Bruno Haible  <bruno@clisp.org>
82816         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
82817         syntax.
82818         * modules/javaexec (Makefile.am): Likewise.
82819         * modules/relocatable-prog (Makefile.am): Likewise.
82820         Suggested by Jim Meyering.
82822 2007-10-18  Bruno Haible  <bruno@clisp.org>
82824         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
82825         Reported by Jim Meyering.
82827 2007-10-18  Eric Blake  <ebb9@byu.net>
82829         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
82831 2007-10-18  Bruno Haible  <bruno@clisp.org>
82833         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
82834         the format string into writable memory. Needed in Fortify conditions.
82836 2007-10-18  Colin Watson  <cjwatson@debian.org>  (tiny change)
82837             Bruno Haible  <bruno@clisp.org>
82839         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
82840         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
82841         * modules/trim (Depends-on): Add mbchar.
82842         (configure.ac): Add gl_FUNC_MBRTOWC.
82843         (Makefile.am): Augment lib_SOURCES.
82845 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
82847         Modify glob.c to use fstatat and dirfd, to simplify it.
82848         Suggested by Eric Blake.
82849         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
82850         Don't include <stdbool.h>; not used.
82851         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
82852         (link_exists_p): Simplify implementation, since we can now assume
82853         dirfd and fstatat.
82854         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
82856 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82858         * gnulib-tool (func_get_dependencies): Fix sed script to
82859         match only tests.
82861 2007-10-17  Bruno Haible  <bruno@clisp.org>
82863         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
82864         allow locale names without encoding suffix.
82865         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
82866         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
82868 2007-10-16  Bruno Haible  <bruno@clisp.org>
82870         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
82871         * lib/getgroups.c (getgroups): Likewise.
82872         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
82874 2007-10-16  Bruno Haible  <bruno@clisp.org>
82876         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
82877         * modules/malloc-posix (License): Likewise.
82878         * modules/realloc-posix (License): Likewise.
82879         * modules/calloc-posix (License): Likewise.
82880         * modules/intprops (License): Change from GPL to LGPL, with
82881         Paul Eggert's approval.
82883 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
82885         Merge glibc changes into lib/glob.c.
82887         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
82888         2007-10-15 04:59:03 UTC.  Here are the changes:
82890         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
82892         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
82894         * lib/glob.c: Add some branch prediction throughout.
82896         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
82898         [BZ #5103]
82899         * lib/glob.c (glob): Recognize patterns starting \/.
82901         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
82903         [BZ #3996]
82904         * lib/glob.c (attribute_hidden): Define if not defined.
82905         (glob): Unescape dirname, filename or username when needed and not
82906         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
82907         is NULL.  Handle unescaped [ in pattern without closing ].
82908         Don't pass GLOB_CHECK down to recursive glob for directories.
82909         (__glob_pattern_type): New function.
82910         (__glob_pattern_p): Implement using __glob_pattern_type.
82911         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
82912         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
82913         Remove unreachable code.
82915         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
82917         * lib/glob.c (glob_in_dir): Add some comments and asserts to
82918         explain why there are no leaks.
82920         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
82922         [BZ #3253]
82923         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
82924         time, rather allocate increasingly bigger arrays of pointers, if
82925         possible with alloca, if too large with malloc.
82927 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
82929         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
82930         Problem reported by H.Merijn Brand in
82931         <http://lists.gnu.org/r/bug-tar/2007-10/msg00018.html>.
82932         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
82933         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
82935 2007-10-15  Bruno Haible  <bruno@clisp.org>
82937         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
82938         with explicit rpl_ prefix.
82939         * lib/fopen.c (fopen): Likewise.
82940         * lib/freopen.c (freopen): Likewise.
82941         * lib/iconv.c (iconv): Likewise.
82942         * lib/iconv_close.c (iconv_close): Likewise.
82944 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82946         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
82948 2007-10-15  Bruno Haible  <bruno@clisp.org>
82950         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
82951         <stddef.h> instead of <stdlib.h> since we only need NULL.
82952         Reported by Ben Pfaff <blp@cs.stanford.edu>.
82954 2007-10-15  Bruno Haible  <bruno@clisp.org>
82956         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
82957         Replace paragraph talking about LIBOBJS.
82958         Reported by Colin Watson <cjwatson@debian.org>.
82960 2007-10-15  Bruno Haible  <bruno@clisp.org>
82962         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
82963         <stdlib.h> before using NULL.
82965 2007-10-15  Simon Josefsson  <simon@josefsson.org>
82967         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
82968         Reported by Albert Chin <china@thewrittenword.com>.
82970 2007-10-14  Bruno Haible  <bruno@clisp.org>
82972         * modules/iconv_open-utf-tests: New file.
82973         * tests/test-iconv-utf.c: New file.
82975         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
82976         * modules/iconv_open-utf: New file.
82977         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
82978         (iconv, iconv_close): New declarations.
82979         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
82980         be defined.
82981         (iconv_open): Add special handling of conversion between UTF-8 and
82982         UTF-{16,32}{BE,LE}.
82983         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
82984         * lib/iconv_close.c: New file.
82985         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
82986         gl_FUNC_ICONV_OPEN.
82987         (gl_FUNC_ICONV_OPEN): Use it.
82988         (gl_FUNC_ICONV_OPEN_UTF): New macro.
82989         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
82990         and REPLACE_ICONV_UTF.
82991         * modules/iconv_open (Depends-on): Add c-strcase.
82992         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
82993         ICONV_CONST.
82994         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
82996 2007-10-13  Albert Chin  <china@thewrittenword.com>
82997             Bruno Haible  <bruno@clisp.org>
82999         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
83000         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
83002 2007-10-13  Bruno Haible  <bruno@clisp.org>
83004         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
83005         defined, use the ISO C99 inline semantics.
83006         * lib/argp.h (ARGP_EI): Likewise.
83008 2007-10-13  Bruno Haible  <bruno@clisp.org>
83010         Handle 'inline' change in gcc 4.3.0.
83011         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
83012         argp_fmtstream_write, argp_fmtstream_set_lmargin,
83013         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
83014         argp_fmtstream_point): Disable 'extern' declaration if the function
83015         definition is going to be provided inline.
83016         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
83017         semantics, not the ISO C99 inline semantics.
83018         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
83019         'extern' declaration if the function definition is going to be provided
83020         inline.
83021         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
83022         the GNU C inline semantics, not the ISO C99 inline semantics. With
83023         GCC 4.2, avoid a warning.
83025 2007-10-13  Bruno Haible  <bruno@clisp.org>
83027         * lib/freading.h (freading): Enable the use of __freading for
83028         glibc >= 2.7.
83029         * lib/freading.c (freading): Likewise.
83031 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
83033         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
83034         "warning: C99 inline functions are not supported; using GNU89".
83036 2007-10-12  Bruno Haible  <bruno@clisp.org>
83038         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
83039         of 2.
83040         * tests/test-ceilf2.c: New file.
83041         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
83043         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
83044         * modules/ceilf-tests: Update.
83046 2007-10-12  Bruno Haible  <bruno@clisp.org>
83048         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
83049         of 2.
83050         * tests/test-floorf2.c: New file.
83051         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
83053         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
83054         * modules/floorf-tests: Update.
83056 2007-10-12  Bruno Haible  <bruno@clisp.org>
83058         * tests/test-trunc2.c: New file.
83059         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
83061         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
83062         * modules/trunc-tests: Update.
83064 2007-10-12  Bruno Haible  <bruno@clisp.org>
83066         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
83067         of 2.
83068         * tests/test-truncf2.c: New file.
83069         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
83071         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
83072         * modules/truncf-tests: Update.
83074 2007-10-11  Eric Blake  <ebb9@byu.net>
83076         Don't claim strerror is broken on Interix.
83077         * doc/functions/strerror.texi (strerror): Known broken systems are
83078         now Solaris 8, and not Interix.
83079         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
83080         Interix on cross-compile.
83081         Reported by Martin Koeppe in
83082         http://lists.gnu.org/r/bug-gnulib/2007-10/msg00005.html.
83084 2007-10-11  Bruno Haible  <bruno@clisp.org>
83086         * modules/i-ring-tests: New file.
83087         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
83088         instead of assert.
83090 2007-10-11  Bruno Haible  <bruno@clisp.org>
83092         * modules/filenamecat-tests: New file.
83093         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
83094         * lib/filenamecat.c: Remove test code.
83096 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
83098         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
83100         * lib/strerror.c: Include <string.h> always, to test interface,
83101         and to remove the need for the dummy.
83102         Include intprops.h to compute width instead of doing it ourselves
83103         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
83104         (strerror): Define it to return NULL if there's no system strerror.
83105         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
83106         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
83107         ancient pre-strerror Unix systems well any more.  Saying "unknown
83108         system error" is enough.
83109         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
83110         simpler strerror.c implementation.
83111         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
83112         Simplify the tests to reflect the simpler strerror implementation.
83113         * modules/strerror (Depends-on): Add intprops.
83115 2007-10-09  Eric Blake  <ebb9@byu.net>
83117         Silence test-fpending.
83118         * modules/fpending-tests (Files): Add wrapper script.
83119         * tests/test-fpending.sh: New file.
83121 2007-10-09  Bruno Haible  <bruno@clisp.org>
83123         * MODULES.html.sh (func_module): Don't create a hyperlink for
83124         function names like 'printf_frexp'.
83125         (Misc): Add crc, memxor.
83126         (Characteristics of floating types): New section.
83127         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
83128         isnanf-nolibm, signbit, trunc, truncf, truncl.
83129         (Enhancements for ISO C 99 functions): New subsection Input/output.
83130         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
83131         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
83132         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
83133         (Compatibility checks for POSIX:2001 functions): Add clock-time.
83134         (Enhancements for POSIX:2001 functions): Add chdir-long.
83135         (File system functions): Add areadlink, chdir-safer, read-file.
83136         Remove cycle-check.
83137         (File system as inode set): New section.
83138         (Date and time): Add gethrxtime.
83139         (Multithreading): Add openmp.
83140         (Internationalization functions): Add localename.
83141         (Unicode string functions): Add unistr/u*-mbsnlen.
83142         (Support for maintaining and releasing projects): Add git-version-gen.
83143         (Lone files): Remove directories.
83145 2007-10-08  Ben Pfaff  <blp@gnu.org>
83147         * lib/xmalloca.h: Fix typo in comment.
83149 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
83151         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
83152         when avoiding problems with integer overflow.  Use a portable test
83153         instead.
83155 2007-10-08  Simon Josefsson  <simon@josefsson.org>
83157         * modules/dummy (License): Change to LGPLv2+.
83158         * modules/float (License): Likewise
83159         * modules/realloc (License): Likewise
83160         * modules/stdlib (License): Likewise
83162 2007-10-07  Bruno Haible  <bruno@clisp.org>
83164         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
83165         * floor.c (TWO_MANT_DIG): Likewise.
83166         * ceil.c (TWO_MANT_DIG): Likewise.
83167         Reported by Ben Pfaff.
83169 2007-10-07  Bruno Haible  <bruno@clisp.org>
83171         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
83172         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
83173         * lib/frexp.c (FUNC): Likewise.
83174         * lib/printf-frexp.h (printf_frexp): Likewise.
83175         * lib/printf-frexpl.h (printf_frexpl): Likewise.
83176         * lib/printf-frexp.c (FUNC): Likewise.
83177         Suggested by Jim Meyering.
83179 2007-10-07  Jim Meyering  <meyering@redhat.com>
83181         Make xnanosleep's integer overflow test more robust.
83182         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
83183         so that gcc-4.3.0 doesn't optimize away this test for overflow.
83185 2007-10-07  Bruno Haible  <bruno@clisp.org>
83187         * NEWS: Mention the license change.
83189         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
83190         abbreviations in the modules files.
83192         Change copyright notice from GPLv2+ to GPLv3+.
83193         * README: Change copyright notice.
83194         * MODULES.html.sh: Likewise.
83195         * build-aux/bootstrap.conf: Likewise.
83196         * build-aux/config.libpath: Likewise.
83197         * build-aux/csharpcomp.sh.in: Likewise.
83198         * build-aux/csharpexec.sh.in: Likewise.
83199         * build-aux/install-reloc: Likewise.
83200         * build-aux/javacomp.sh.in: Likewise.
83201         * build-aux/javaexec.sh.in: Likewise.
83202         * build-aux/ldd.sh.in: Likewise.
83203         * build-aux/reloc-ldflags: Likewise.
83204         * build-aux/relocatable.sh.in: Likewise.
83205         * build-aux/x-to-1.in: Likewise.
83206         * check-module: Likewise.
83207         * config/srclistvars.sh: Likewise.
83208         * gnulib-tool: Likewise.
83209         * lib/acl-internal.h: Likewise.
83210         * lib/acl.c: Likewise.
83211         * lib/acl.h: Likewise.
83212         * lib/acl_entries.c: Likewise.
83213         * lib/areadlink-with-size.c: Likewise.
83214         * lib/areadlink.c: Likewise.
83215         * lib/areadlink.h: Likewise.
83216         * lib/argmatch.c: Likewise.
83217         * lib/argmatch.h: Likewise.
83218         * lib/argp-ba.c: Likewise.
83219         * lib/argp-eexst.c: Likewise.
83220         * lib/argp-fmtstream.c: Likewise.
83221         * lib/argp-fmtstream.h: Likewise.
83222         * lib/argp-fs-xinl.c: Likewise.
83223         * lib/argp-help.c: Likewise.
83224         * lib/argp-namefrob.h: Likewise.
83225         * lib/argp-parse.c: Likewise.
83226         * lib/argp-pin.c: Likewise.
83227         * lib/argp-pv.c: Likewise.
83228         * lib/argp-pvh.c: Likewise.
83229         * lib/argp-xinl.c: Likewise.
83230         * lib/argp.h: Likewise.
83231         * lib/at-func.c: Likewise.
83232         * lib/atanl.c: Likewise.
83233         * lib/backupfile.c: Likewise.
83234         * lib/backupfile.h: Likewise.
83235         * lib/basename.c: Likewise.
83236         * lib/binary-io.h: Likewise.
83237         * lib/byteswap.in.h: Likewise.
83238         * lib/c-stack.c: Likewise.
83239         * lib/c-stack.h: Likewise.
83240         * lib/c-strcasestr.c: Likewise.
83241         * lib/c-strcasestr.h: Likewise.
83242         * lib/c-strstr.c: Likewise.
83243         * lib/c-strstr.h: Likewise.
83244         * lib/c-strtod.c: Likewise.
83245         * lib/calloc.c: Likewise.
83246         * lib/canon-host.c: Likewise.
83247         * lib/canon-host.h: Likewise.
83248         * lib/canonicalize-lgpl.c: Likewise.
83249         * lib/canonicalize.c: Likewise.
83250         * lib/canonicalize.h: Likewise.
83251         * lib/ceil.c: Likewise.
83252         * lib/ceilf.c: Likewise.
83253         * lib/ceill.c: Likewise.
83254         * lib/chdir-long.c: Likewise.
83255         * lib/chdir-long.h: Likewise.
83256         * lib/chdir-safer.c: Likewise.
83257         * lib/chdir-safer.h: Likewise.
83258         * lib/chown.c: Likewise.
83259         * lib/classpath.c: Likewise.
83260         * lib/classpath.h: Likewise.
83261         * lib/clean-temp.c: Likewise.
83262         * lib/clean-temp.h: Likewise.
83263         * lib/cloexec.c: Likewise.
83264         * lib/close-stream.c: Likewise.
83265         * lib/closein.c: Likewise.
83266         * lib/closein.h: Likewise.
83267         * lib/closeout.c: Likewise.
83268         * lib/closeout.h: Likewise.
83269         * lib/concat-filename.c: Likewise.
83270         * lib/copy-file.c: Likewise.
83271         * lib/copy-file.h: Likewise.
83272         * lib/count-one-bits.h: Likewise.
83273         * lib/crc.c: Likewise.
83274         * lib/crc.h: Likewise.
83275         * lib/creat-safer.c: Likewise.
83276         * lib/csharpcomp.c: Likewise.
83277         * lib/csharpcomp.h: Likewise.
83278         * lib/csharpexec.c: Likewise.
83279         * lib/csharpexec.h: Likewise.
83280         * lib/cycle-check.c: Likewise.
83281         * lib/cycle-check.h: Likewise.
83282         * lib/diacrit.c: Likewise.
83283         * lib/diacrit.h: Likewise.
83284         * lib/diffseq.h: Likewise.
83285         * lib/dirchownmod.c: Likewise.
83286         * lib/dirent.in.h: Likewise.
83287         * lib/dirfd.c: Likewise.
83288         * lib/dirfd.h: Likewise.
83289         * lib/dirname.c: Likewise.
83290         * lib/dirname.h: Likewise.
83291         * lib/dummy.c: Likewise.
83292         * lib/dup-safer.c: Likewise.
83293         * lib/dup2.c: Likewise.
83294         * lib/eealloc.h: Likewise.
83295         * lib/error.c: Likewise.
83296         * lib/error.h: Likewise.
83297         * lib/euidaccess.c: Likewise.
83298         * lib/exclude.c: Likewise.
83299         * lib/exclude.h: Likewise.
83300         * lib/execute.c: Likewise.
83301         * lib/execute.h: Likewise.
83302         * lib/exitfail.c: Likewise.
83303         * lib/exitfail.h: Likewise.
83304         * lib/expl.c: Likewise.
83305         * lib/fatal-signal.c: Likewise.
83306         * lib/fatal-signal.h: Likewise.
83307         * lib/fbufmode.c: Likewise.
83308         * lib/fbufmode.h: Likewise.
83309         * lib/fchdir.c: Likewise.
83310         * lib/fchmodat.c: Likewise.
83311         * lib/fchownat.c: Likewise.
83312         * lib/fcntl--.h: Likewise.
83313         * lib/fcntl-safer.h: Likewise.
83314         * lib/fcntl.in.h: Likewise.
83315         * lib/fd-safer.c: Likewise.
83316         * lib/fflush.c: Likewise.
83317         * lib/file-has-acl.c: Likewise.
83318         * lib/file-set.c: Likewise.
83319         * lib/file-type.c: Likewise.
83320         * lib/file-type.h: Likewise.
83321         * lib/fileblocks.c: Likewise.
83322         * lib/filemode.c: Likewise.
83323         * lib/filemode.h: Likewise.
83324         * lib/filename.h: Likewise.
83325         * lib/filenamecat.c: Likewise.
83326         * lib/filenamecat.h: Likewise.
83327         * lib/findprog.c: Likewise.
83328         * lib/findprog.h: Likewise.
83329         * lib/float.in.h: Likewise.
83330         * lib/floor.c: Likewise.
83331         * lib/floorf.c: Likewise.
83332         * lib/floorl.c: Likewise.
83333         * lib/fopen-safer.c: Likewise.
83334         * lib/fopen.c: Likewise.
83335         * lib/fpending.c: Likewise.
83336         * lib/fpending.h: Likewise.
83337         * lib/fprintf.c: Likewise.
83338         * lib/fprintftime.h: Likewise.
83339         * lib/fpucw.h: Likewise.
83340         * lib/fpurge.c: Likewise.
83341         * lib/fpurge.h: Likewise.
83342         * lib/freadable.c: Likewise.
83343         * lib/freadable.h: Likewise.
83344         * lib/freadahead.c: Likewise.
83345         * lib/freadahead.h: Likewise.
83346         * lib/freading.c: Likewise.
83347         * lib/freading.h: Likewise.
83348         * lib/free.c: Likewise.
83349         * lib/freopen.c: Likewise.
83350         * lib/frexp.c: Likewise.
83351         * lib/frexpl.c: Likewise.
83352         * lib/fseek.c: Likewise.
83353         * lib/fseterr.c: Likewise.
83354         * lib/fseterr.h: Likewise.
83355         * lib/fstatat.c: Likewise.
83356         * lib/fstrcmp.c: Likewise.
83357         * lib/fstrcmp.h: Likewise.
83358         * lib/fsusage.c: Likewise.
83359         * lib/fsusage.h: Likewise.
83360         * lib/ftell.c: Likewise.
83361         * lib/ftello.c: Likewise.
83362         * lib/fts-cycle.c: Likewise.
83363         * lib/fts.c: Likewise.
83364         * lib/fts_.h: Likewise.
83365         * lib/full-read.c: Likewise.
83366         * lib/full-read.h: Likewise.
83367         * lib/full-write.c: Likewise.
83368         * lib/full-write.h: Likewise.
83369         * lib/fwritable.c: Likewise.
83370         * lib/fwritable.h: Likewise.
83371         * lib/fwriteerror.c: Likewise.
83372         * lib/fwriteerror.h: Likewise.
83373         * lib/fwriting.c: Likewise.
83374         * lib/fwriting.h: Likewise.
83375         * lib/gcd.c: Likewise.
83376         * lib/gcd.h: Likewise.
83377         * lib/getcwd.c: Likewise.
83378         * lib/getdate.h: Likewise.
83379         * lib/getdate.y: Likewise.
83380         * lib/getdomainname.c: Likewise.
83381         * lib/getdomainname.h: Likewise.
83382         * lib/getgroups.c: Likewise.
83383         * lib/gethostname.c: Likewise.
83384         * lib/gethrxtime.c: Likewise.
83385         * lib/gethrxtime.h: Likewise.
83386         * lib/getloadavg.c: Likewise.
83387         * lib/getndelim2.c: Likewise.
83388         * lib/getndelim2.h: Likewise.
83389         * lib/getnline.c: Likewise.
83390         * lib/getnline.h: Likewise.
83391         * lib/getopt.c: Likewise.
83392         * lib/getopt.in.h: Likewise.
83393         * lib/getopt1.c: Likewise.
83394         * lib/getopt_int.h: Likewise.
83395         * lib/getpagesize.h: Likewise.
83396         * lib/getsubopt.c: Likewise.
83397         * lib/gettime.c: Likewise.
83398         * lib/getugroups.c: Likewise.
83399         * lib/getugroups.h: Likewise.
83400         * lib/getusershell.c: Likewise.
83401         * lib/gl_anyavltree_list1.h: Likewise.
83402         * lib/gl_anyavltree_list2.h: Likewise.
83403         * lib/gl_anyhash_list1.h: Likewise.
83404         * lib/gl_anyhash_list2.h: Likewise.
83405         * lib/gl_anylinked_list1.h: Likewise.
83406         * lib/gl_anylinked_list2.h: Likewise.
83407         * lib/gl_anyrbtree_list1.h: Likewise.
83408         * lib/gl_anyrbtree_list2.h: Likewise.
83409         * lib/gl_anytree_list1.h: Likewise.
83410         * lib/gl_anytree_list2.h: Likewise.
83411         * lib/gl_anytree_oset.h: Likewise.
83412         * lib/gl_anytreehash_list1.h: Likewise.
83413         * lib/gl_anytreehash_list2.h: Likewise.
83414         * lib/gl_array_list.c: Likewise.
83415         * lib/gl_array_list.h: Likewise.
83416         * lib/gl_array_oset.c: Likewise.
83417         * lib/gl_array_oset.h: Likewise.
83418         * lib/gl_avltree_list.c: Likewise.
83419         * lib/gl_avltree_list.h: Likewise.
83420         * lib/gl_avltree_oset.c: Likewise.
83421         * lib/gl_avltree_oset.h: Likewise.
83422         * lib/gl_avltreehash_list.c: Likewise.
83423         * lib/gl_avltreehash_list.h: Likewise.
83424         * lib/gl_carray_list.c: Likewise.
83425         * lib/gl_carray_list.h: Likewise.
83426         * lib/gl_linked_list.c: Likewise.
83427         * lib/gl_linked_list.h: Likewise.
83428         * lib/gl_linkedhash_list.c: Likewise.
83429         * lib/gl_linkedhash_list.h: Likewise.
83430         * lib/gl_list.c: Likewise.
83431         * lib/gl_list.h: Likewise.
83432         * lib/gl_oset.c: Likewise.
83433         * lib/gl_oset.h: Likewise.
83434         * lib/gl_rbtree_list.c: Likewise.
83435         * lib/gl_rbtree_list.h: Likewise.
83436         * lib/gl_rbtree_oset.c: Likewise.
83437         * lib/gl_rbtree_oset.h: Likewise.
83438         * lib/gl_rbtreehash_list.c: Likewise.
83439         * lib/gl_rbtreehash_list.h: Likewise.
83440         * lib/gl_sublist.c: Likewise.
83441         * lib/gl_sublist.h: Likewise.
83442         * lib/group-member.c: Likewise.
83443         * lib/group-member.h: Likewise.
83444         * lib/hard-locale.c: Likewise.
83445         * lib/hard-locale.h: Likewise.
83446         * lib/hash-pjw.c: Likewise.
83447         * lib/hash-pjw.h: Likewise.
83448         * lib/hash-triple.c: Likewise.
83449         * lib/hash.c: Likewise.
83450         * lib/hash.h: Likewise.
83451         * lib/human.c: Likewise.
83452         * lib/human.h: Likewise.
83453         * lib/i-ring.c: Likewise.
83454         * lib/i-ring.h: Likewise.
83455         * lib/idcache.c: Likewise.
83456         * lib/imaxabs.c: Likewise.
83457         * lib/imaxdiv.c: Likewise.
83458         * lib/inet_pton.c: Likewise.
83459         * lib/inet_pton.h: Likewise.
83460         * lib/intprops.h: Likewise.
83461         * lib/inttostr.c: Likewise.
83462         * lib/inttostr.h: Likewise.
83463         * lib/inttypes.in.h: Likewise.
83464         * lib/isapipe.c: Likewise.
83465         * lib/isdir.c: Likewise.
83466         * lib/isnan.c: Likewise.
83467         * lib/isnan.h: Likewise.
83468         * lib/isnanf.c: Likewise.
83469         * lib/isnanf.h: Likewise.
83470         * lib/isnanl-nolibm.h: Likewise.
83471         * lib/isnanl.c: Likewise.
83472         * lib/isnanl.h: Likewise.
83473         * lib/javacomp.c: Likewise.
83474         * lib/javacomp.h: Likewise.
83475         * lib/javaexec.c: Likewise.
83476         * lib/javaexec.h: Likewise.
83477         * lib/javaversion.c: Likewise.
83478         * lib/javaversion.h: Likewise.
83479         * lib/javaversion.java: Likewise.
83480         * lib/lbrkprop.h: Likewise.
83481         * lib/lchmod.h: Likewise.
83482         * lib/lchown.c: Likewise.
83483         * lib/ldexpl.c: Likewise.
83484         * lib/linebreak.c: Likewise.
83485         * lib/linebreak.h: Likewise.
83486         * lib/linebuffer.c: Likewise.
83487         * lib/linebuffer.h: Likewise.
83488         * lib/locale.in.h: Likewise.
83489         * lib/logl.c: Likewise.
83490         * lib/long-options.c: Likewise.
83491         * lib/long-options.h: Likewise.
83492         * lib/lstat.c: Likewise.
83493         * lib/lstat.h: Likewise.
83494         * lib/math.in.h: Likewise.
83495         * lib/mbchar.c: Likewise.
83496         * lib/mbchar.h: Likewise.
83497         * lib/mbfile.h: Likewise.
83498         * lib/mbiter.h: Likewise.
83499         * lib/mbscasecmp.c: Likewise.
83500         * lib/mbscasestr.c: Likewise.
83501         * lib/mbschr.c: Likewise.
83502         * lib/mbscspn.c: Likewise.
83503         * lib/mbslen.c: Likewise.
83504         * lib/mbsncasecmp.c: Likewise.
83505         * lib/mbsnlen.c: Likewise.
83506         * lib/mbspbrk.c: Likewise.
83507         * lib/mbspcasecmp.c: Likewise.
83508         * lib/mbsrchr.c: Likewise.
83509         * lib/mbssep.c: Likewise.
83510         * lib/mbsspn.c: Likewise.
83511         * lib/mbsstr.c: Likewise.
83512         * lib/mbstok_r.c: Likewise.
83513         * lib/mbswidth.c: Likewise.
83514         * lib/mbswidth.h: Likewise.
83515         * lib/mbuiter.h: Likewise.
83516         * lib/memcasecmp.c: Likewise.
83517         * lib/memcasecmp.h: Likewise.
83518         * lib/memchr.c: Likewise.
83519         * lib/memcmp.c: Likewise.
83520         * lib/memcoll.c: Likewise.
83521         * lib/memcoll.h: Likewise.
83522         * lib/memcpy.c: Likewise.
83523         * lib/memrchr.c: Likewise.
83524         * lib/mkancesdirs.c: Likewise.
83525         * lib/mkdir-p.c: Likewise.
83526         * lib/mkdir-p.h: Likewise.
83527         * lib/mkdir.c: Likewise.
83528         * lib/mkdirat.c: Likewise.
83529         * lib/mkdtemp.c: Likewise.
83530         * lib/mkstemp-safer.c: Likewise.
83531         * lib/mkstemp.c: Likewise.
83532         * lib/modechange.c: Likewise.
83533         * lib/modechange.h: Likewise.
83534         * lib/mountlist.c: Likewise.
83535         * lib/mountlist.h: Likewise.
83536         * lib/mpsort.c: Likewise.
83537         * lib/nanosleep.c: Likewise.
83538         * lib/obstack.c: Likewise.
83539         * lib/obstack.h: Likewise.
83540         * lib/open-safer.c: Likewise.
83541         * lib/open.c: Likewise.
83542         * lib/openat-die.c: Likewise.
83543         * lib/openat-priv.h: Likewise.
83544         * lib/openat-proc.c: Likewise.
83545         * lib/openat.c: Likewise.
83546         * lib/openat.h: Likewise.
83547         * lib/pagealign_alloc.c: Likewise.
83548         * lib/pagealign_alloc.h: Likewise.
83549         * lib/physmem.c: Likewise.
83550         * lib/physmem.h: Likewise.
83551         * lib/pipe-safer.c: Likewise.
83552         * lib/pipe.c: Likewise.
83553         * lib/pipe.h: Likewise.
83554         * lib/posixtm.c: Likewise.
83555         * lib/posixtm.h: Likewise.
83556         * lib/posixver.c: Likewise.
83557         * lib/printf-frexp.c: Likewise.
83558         * lib/printf-frexp.h: Likewise.
83559         * lib/printf-frexpl.c: Likewise.
83560         * lib/printf-frexpl.h: Likewise.
83561         * lib/printf.c: Likewise.
83562         * lib/progname.c: Likewise.
83563         * lib/progname.h: Likewise.
83564         * lib/progreloc.c: Likewise.
83565         * lib/putenv.c: Likewise.
83566         * lib/quote.c: Likewise.
83567         * lib/quote.h: Likewise.
83568         * lib/quotearg.c: Likewise.
83569         * lib/quotearg.h: Likewise.
83570         * lib/raise.c: Likewise.
83571         * lib/readline.c: Likewise.
83572         * lib/readline.h: Likewise.
83573         * lib/readlink.c: Likewise.
83574         * lib/readtokens.c: Likewise.
83575         * lib/readtokens.h: Likewise.
83576         * lib/readtokens0.c: Likewise.
83577         * lib/readtokens0.h: Likewise.
83578         * lib/readutmp.c: Likewise.
83579         * lib/readutmp.h: Likewise.
83580         * lib/realloc.c: Likewise.
83581         * lib/relocwrapper.c: Likewise.
83582         * lib/rename-dest-slash.c: Likewise.
83583         * lib/rename.c: Likewise.
83584         * lib/rmdir.c: Likewise.
83585         * lib/rpmatch.c: Likewise.
83586         * lib/safe-read.c: Likewise.
83587         * lib/safe-read.h: Likewise.
83588         * lib/safe-write.c: Likewise.
83589         * lib/safe-write.h: Likewise.
83590         * lib/same-inode.h: Likewise.
83591         * lib/same.c: Likewise.
83592         * lib/same.h: Likewise.
83593         * lib/save-cwd.c: Likewise.
83594         * lib/save-cwd.h: Likewise.
83595         * lib/savedir.c: Likewise.
83596         * lib/savedir.h: Likewise.
83597         * lib/savewd.c: Likewise.
83598         * lib/savewd.h: Likewise.
83599         * lib/search.in.h: Likewise.
83600         * lib/setenv.c: Likewise.
83601         * lib/setenv.h: Likewise.
83602         * lib/settime.c: Likewise.
83603         * lib/sh-quote.c: Likewise.
83604         * lib/sh-quote.h: Likewise.
83605         * lib/sig2str.c: Likewise.
83606         * lib/sig2str.h: Likewise.
83607         * lib/signal.in.h: Likewise.
83608         * lib/signbitd.c: Likewise.
83609         * lib/signbitf.c: Likewise.
83610         * lib/signbitl.c: Likewise.
83611         * lib/sigprocmask.c: Likewise.
83612         * lib/sincosl.c: Likewise.
83613         * lib/sleep.c: Likewise.
83614         * lib/sprintf.c: Likewise.
83615         * lib/sqrtl.c: Likewise.
83616         * lib/stat-time.h: Likewise.
83617         * lib/stdio--.h: Likewise.
83618         * lib/stdio-safer.h: Likewise.
83619         * lib/stdlib--.h: Likewise.
83620         * lib/stdlib-safer.h: Likewise.
83621         * lib/stdlib.in.h: Likewise.
83622         * lib/stpcpy.c: Likewise.
83623         * lib/stpncpy.c: Likewise.
83624         * lib/strchrnul.c: Likewise.
83625         * lib/strcspn.c: Likewise.
83626         * lib/strerror.c: Likewise.
83627         * lib/strftime.c: Likewise.
83628         * lib/strftime.h: Likewise.
83629         * lib/striconveh.c: Likewise.
83630         * lib/striconveh.h: Likewise.
83631         * lib/striconveha.c: Likewise.
83632         * lib/striconveha.h: Likewise.
83633         * lib/stripslash.c: Likewise.
83634         * lib/strnlen1.c: Likewise.
83635         * lib/strnlen1.h: Likewise.
83636         * lib/strtod.c: Likewise.
83637         * lib/strtoimax.c: Likewise.
83638         * lib/strtok_r.c: Likewise.
83639         * lib/strtol.c: Likewise.
83640         * lib/strtoll.c: Likewise.
83641         * lib/strtoul.c: Likewise.
83642         * lib/strtoull.c: Likewise.
83643         * lib/sysexits.in.h: Likewise.
83644         * lib/tempname.c: Likewise.
83645         * lib/tempname.h: Likewise.
83646         * lib/timespec.h: Likewise.
83647         * lib/tls.c: Likewise.
83648         * lib/tls.h: Likewise.
83649         * lib/tmpdir.c: Likewise.
83650         * lib/tmpdir.h: Likewise.
83651         * lib/tmpfile-safer.c: Likewise.
83652         * lib/tmpfile.c: Likewise.
83653         * lib/trigl.c: Likewise.
83654         * lib/trigl.h: Likewise.
83655         * lib/trim.c: Likewise.
83656         * lib/trim.h: Likewise.
83657         * lib/trunc.c: Likewise.
83658         * lib/truncf.c: Likewise.
83659         * lib/truncl.c: Likewise.
83660         * lib/tsearch.c: Likewise.
83661         * lib/unicodeio.c: Likewise.
83662         * lib/unicodeio.h: Likewise.
83663         * lib/unistd--.h: Likewise.
83664         * lib/unistd-safer.h: Likewise.
83665         * lib/unistdio/ulc-fprintf.c: Likewise.
83666         * lib/unistdio/ulc-vfprintf.c: Likewise.
83667         * lib/unlinkdir.c: Likewise.
83668         * lib/unlinkdir.h: Likewise.
83669         * lib/unlocked-io.h: Likewise.
83670         * lib/unsetenv.c: Likewise.
83671         * lib/userspec.c: Likewise.
83672         * lib/utime.c: Likewise.
83673         * lib/utimecmp.c: Likewise.
83674         * lib/utimecmp.h: Likewise.
83675         * lib/utimens.c: Likewise.
83676         * lib/verify.h: Likewise.
83677         * lib/verror.c: Likewise.
83678         * lib/verror.h: Likewise.
83679         * lib/version-etc-fsf.c: Likewise.
83680         * lib/version-etc.c: Likewise.
83681         * lib/version-etc.h: Likewise.
83682         * lib/vfprintf.c: Likewise.
83683         * lib/vprintf.c: Likewise.
83684         * lib/vsprintf.c: Likewise.
83685         * lib/w32spawn.h: Likewise.
83686         * lib/wait-process.c: Likewise.
83687         * lib/wait-process.h: Likewise.
83688         * lib/wcwidth.c: Likewise.
83689         * lib/write-any-file.c: Likewise.
83690         * lib/xalloc-die.c: Likewise.
83691         * lib/xalloc.h: Likewise.
83692         * lib/xasprintf.c: Likewise.
83693         * lib/xgetcwd.c: Likewise.
83694         * lib/xgetcwd.h: Likewise.
83695         * lib/xgetdomainname.c: Likewise.
83696         * lib/xgetdomainname.h: Likewise.
83697         * lib/xgethostname.c: Likewise.
83698         * lib/xmalloc.c: Likewise.
83699         * lib/xmalloca.c: Likewise.
83700         * lib/xmalloca.h: Likewise.
83701         * lib/xmemcoll.c: Likewise.
83702         * lib/xnanosleep.c: Likewise.
83703         * lib/xreadlink.c: Likewise.
83704         * lib/xreadlink.h: Likewise.
83705         * lib/xsetenv.c: Likewise.
83706         * lib/xsetenv.h: Likewise.
83707         * lib/xstriconv.c: Likewise.
83708         * lib/xstriconv.h: Likewise.
83709         * lib/xstrndup.c: Likewise.
83710         * lib/xstrndup.h: Likewise.
83711         * lib/xstrtod.c: Likewise.
83712         * lib/xstrtod.h: Likewise.
83713         * lib/xstrtol-error.c: Likewise.
83714         * lib/xstrtol.c: Likewise.
83715         * lib/xstrtol.h: Likewise.
83716         * lib/xtime.h: Likewise.
83717         * lib/xvasprintf.c: Likewise.
83718         * lib/xvasprintf.h: Likewise.
83719         * lib/yesno.c: Likewise.
83720         * lib/yesno.h: Likewise.
83721         * posix-modules: Likewise.
83722         * tests/test-alloca-opt.c: Likewise.
83723         * tests/test-arcfour.c: Likewise.
83724         * tests/test-arctwo.c: Likewise.
83725         * tests/test-argmatch.c: Likewise.
83726         * tests/test-argp-2.sh: Likewise.
83727         * tests/test-argp.c: Likewise.
83728         * tests/test-arpa_inet.c: Likewise.
83729         * tests/test-array_list.c: Likewise.
83730         * tests/test-array_oset.c: Likewise.
83731         * tests/test-atexit.c: Likewise.
83732         * tests/test-avltree_list.c: Likewise.
83733         * tests/test-avltree_oset.c: Likewise.
83734         * tests/test-avltreehash_list.c: Likewise.
83735         * tests/test-base64.c: Likewise.
83736         * tests/test-binary-io.c: Likewise.
83737         * tests/test-byteswap.c: Likewise.
83738         * tests/test-c-ctype.c: Likewise.
83739         * tests/test-c-strcasecmp.c: Likewise.
83740         * tests/test-c-strcasestr.c: Likewise.
83741         * tests/test-c-strncasecmp.c: Likewise.
83742         * tests/test-c-strstr.c: Likewise.
83743         * tests/test-canonicalize-lgpl.c: Likewise.
83744         * tests/test-canonicalize.c: Likewise.
83745         * tests/test-carray_list.c: Likewise.
83746         * tests/test-ceilf.c: Likewise.
83747         * tests/test-ceill.c: Likewise.
83748         * tests/test-count-one-bits.c: Likewise.
83749         * tests/test-crc.c: Likewise.
83750         * tests/test-dirname.c: Likewise.
83751         * tests/test-fbufmode.c: Likewise.
83752         * tests/test-fcntl.c: Likewise.
83753         * tests/test-fflush.c: Likewise.
83754         * tests/test-floorf.c: Likewise.
83755         * tests/test-floorl.c: Likewise.
83756         * tests/test-fopen.c: Likewise.
83757         * tests/test-fprintf-posix.c: Likewise.
83758         * tests/test-fprintf-posix.h: Likewise.
83759         * tests/test-fpurge.c: Likewise.
83760         * tests/test-freadable.c: Likewise.
83761         * tests/test-freadahead.c: Likewise.
83762         * tests/test-freading.c: Likewise.
83763         * tests/test-freopen.c: Likewise.
83764         * tests/test-frexp.c: Likewise.
83765         * tests/test-frexpl.c: Likewise.
83766         * tests/test-fseek.c: Likewise.
83767         * tests/test-fseeko.c: Likewise.
83768         * tests/test-fseterr.c: Likewise.
83769         * tests/test-fstrcmp.c: Likewise.
83770         * tests/test-ftell.c: Likewise.
83771         * tests/test-ftello.c: Likewise.
83772         * tests/test-fwritable.c: Likewise.
83773         * tests/test-fwriting.c: Likewise.
83774         * tests/test-getaddrinfo.c: Likewise.
83775         * tests/test-getpass.c: Likewise.
83776         * tests/test-gettimeofday.c: Likewise.
83777         * tests/test-hmac-md5.c: Likewise.
83778         * tests/test-hmac-sha1.c: Likewise.
83779         * tests/test-iconv.c: Likewise.
83780         * tests/test-iconvme.c: Likewise.
83781         * tests/test-inttypes.c: Likewise.
83782         * tests/test-isnan.c: Likewise.
83783         * tests/test-isnanf.c: Likewise.
83784         * tests/test-isnanl-nolibm.c: Likewise.
83785         * tests/test-isnanl.c: Likewise.
83786         * tests/test-isnanl.h: Likewise.
83787         * tests/test-ldexpl.c: Likewise.
83788         * tests/test-linked_list.c: Likewise.
83789         * tests/test-linkedhash_list.c: Likewise.
83790         * tests/test-locale.c: Likewise.
83791         * tests/test-localename.c: Likewise.
83792         * tests/test-lock.c: Likewise.
83793         * tests/test-lseek.c: Likewise.
83794         * tests/test-malloca.c: Likewise.
83795         * tests/test-math.c: Likewise.
83796         * tests/test-mbscasecmp.c: Likewise.
83797         * tests/test-mbscasestr1.c: Likewise.
83798         * tests/test-mbscasestr2.c: Likewise.
83799         * tests/test-mbscasestr3.c: Likewise.
83800         * tests/test-mbscasestr4.c: Likewise.
83801         * tests/test-mbschr.c: Likewise.
83802         * tests/test-mbscspn.c: Likewise.
83803         * tests/test-mbsncasecmp.c: Likewise.
83804         * tests/test-mbspbrk.c: Likewise.
83805         * tests/test-mbspcasecmp.c: Likewise.
83806         * tests/test-mbsrchr.c: Likewise.
83807         * tests/test-mbsspn.c: Likewise.
83808         * tests/test-mbsstr1.c: Likewise.
83809         * tests/test-mbsstr2.c: Likewise.
83810         * tests/test-mbsstr3.c: Likewise.
83811         * tests/test-md5.c: Likewise.
83812         * tests/test-memmem.c: Likewise.
83813         * tests/test-netinet_in.c: Likewise.
83814         * tests/test-open.c: Likewise.
83815         * tests/test-printf-frexp.c: Likewise.
83816         * tests/test-printf-frexpl.c: Likewise.
83817         * tests/test-printf-posix.c: Likewise.
83818         * tests/test-printf-posix.h: Likewise.
83819         * tests/test-rbtree_list.c: Likewise.
83820         * tests/test-rbtree_oset.c: Likewise.
83821         * tests/test-rbtreehash_list.c: Likewise.
83822         * tests/test-read-file.c: Likewise.
83823         * tests/test-rijndael.c: Likewise.
83824         * tests/test-search.c: Likewise.
83825         * tests/test-signbit.c: Likewise.
83826         * tests/test-sleep.c: Likewise.
83827         * tests/test-snprintf-posix.c: Likewise.
83828         * tests/test-snprintf-posix.h: Likewise.
83829         * tests/test-snprintf.c: Likewise.
83830         * tests/test-sprintf-posix.c: Likewise.
83831         * tests/test-sprintf-posix.h: Likewise.
83832         * tests/test-stat-time.c: Likewise.
83833         * tests/test-stdbool.c: Likewise.
83834         * tests/test-stdint.c: Likewise.
83835         * tests/test-stdio.c: Likewise.
83836         * tests/test-stdlib.c: Likewise.
83837         * tests/test-stpncpy.c: Likewise.
83838         * tests/test-strcasestr.c: Likewise.
83839         * tests/test-striconv.c: Likewise.
83840         * tests/test-striconveh.c: Likewise.
83841         * tests/test-striconveha.c: Likewise.
83842         * tests/test-string.c: Likewise.
83843         * tests/test-sys_select.c: Likewise.
83844         * tests/test-sys_socket.c: Likewise.
83845         * tests/test-sys_stat.c: Likewise.
83846         * tests/test-sys_time.c: Likewise.
83847         * tests/test-sysexits.c: Likewise.
83848         * tests/test-time.c: Likewise.
83849         * tests/test-tls.c: Likewise.
83850         * tests/test-trunc.c: Likewise.
83851         * tests/test-truncf.c: Likewise.
83852         * tests/test-truncl.c: Likewise.
83853         * tests/test-unistd.c: Likewise.
83854         * tests/test-vasnprintf-posix.c: Likewise.
83855         * tests/test-vasnprintf-posix2.c: Likewise.
83856         * tests/test-vasnprintf.c: Likewise.
83857         * tests/test-vasprintf-posix.c: Likewise.
83858         * tests/test-vasprintf.c: Likewise.
83859         * tests/test-verify.c: Likewise.
83860         * tests/test-vfprintf-posix.c: Likewise.
83861         * tests/test-vprintf-posix.c: Likewise.
83862         * tests/test-vsnprintf-posix.c: Likewise.
83863         * tests/test-vsnprintf.c: Likewise.
83864         * tests/test-vsprintf-posix.c: Likewise.
83865         * tests/test-wchar.c: Likewise.
83866         * tests/test-wctype.c: Likewise.
83867         * tests/test-wcwidth.c: Likewise.
83868         * tests/test-xstrtol.c: Likewise.
83869         * tests/test-xvasprintf.c: Likewise.
83870         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
83871         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
83872         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
83873         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
83874         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
83875         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
83876         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
83877         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
83878         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
83879         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
83880         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
83881         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
83882         * tests/uniname/test-uninames.c: Likewise.
83883         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
83884         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
83885         * tests/unistdio/test-u16-printf1.h: Likewise.
83886         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
83887         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
83888         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
83889         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
83890         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
83891         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
83892         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
83893         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
83894         * tests/unistdio/test-u32-printf1.h: Likewise.
83895         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
83896         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
83897         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
83898         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
83899         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
83900         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
83901         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
83902         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
83903         * tests/unistdio/test-u8-printf1.h: Likewise.
83904         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
83905         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
83906         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
83907         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
83908         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
83909         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
83910         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
83911         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
83912         * tests/unistdio/test-ulc-printf1.h: Likewise.
83913         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
83914         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
83915         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
83916         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
83917         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
83918         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
83919         * tests/uniwidth/test-u16-strwidth.c: Likewise.
83920         * tests/uniwidth/test-u16-width.c: Likewise.
83921         * tests/uniwidth/test-u32-strwidth.c: Likewise.
83922         * tests/uniwidth/test-u32-width.c: Likewise.
83923         * tests/uniwidth/test-u8-strwidth.c: Likewise.
83924         * tests/uniwidth/test-u8-width.c: Likewise.
83925         * tests/uniwidth/test-uc_width.c: Likewise.
83926         * config/srclist-update: Likewise.
83927         (fixlicense): Update to GPLv3+.
83929         Change copyright notice from LGPLv2.1+ to LGPLv3+.
83930         * tests/test-tsearch.c: Change copyright notice.
83932         Change copyright notice from LGPLv2.0+ to LGPLv3+.
83933         * lib/c-strcaseeq.h: Change copyright notice.
83934         * lib/streq.h: Likewise.
83935         * lib/uniconv.h: Likewise.
83936         * lib/uniconv/u-conv-from-enc.h: Likewise.
83937         * lib/uniconv/u-conv-to-enc.h: Likewise.
83938         * lib/uniconv/u-strconv-from-enc.h: Likewise.
83939         * lib/uniconv/u-strconv-to-enc.h: Likewise.
83940         * lib/uniconv/u16-conv-from-enc.c: Likewise.
83941         * lib/uniconv/u16-conv-to-enc.c: Likewise.
83942         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
83943         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
83944         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
83945         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
83946         * lib/uniconv/u32-conv-from-enc.c: Likewise.
83947         * lib/uniconv/u32-conv-to-enc.c: Likewise.
83948         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
83949         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
83950         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
83951         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
83952         * lib/uniconv/u8-conv-from-enc.c: Likewise.
83953         * lib/uniconv/u8-conv-to-enc.c: Likewise.
83954         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
83955         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
83956         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
83957         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
83958         * lib/uniname.h: Likewise.
83959         * lib/uniname/uniname.c: Likewise.
83960         * lib/unistdio.h: Likewise.
83961         * lib/unistdio/u-asnprintf.h: Likewise.
83962         * lib/unistdio/u-asprintf.h: Likewise.
83963         * lib/unistdio/u-printf-args.c: Likewise.
83964         * lib/unistdio/u-printf-args.h: Likewise.
83965         * lib/unistdio/u-printf-parse.h: Likewise.
83966         * lib/unistdio/u-snprintf.h: Likewise.
83967         * lib/unistdio/u-sprintf.h: Likewise.
83968         * lib/unistdio/u-vasprintf.h: Likewise.
83969         * lib/unistdio/u-vsnprintf.h: Likewise.
83970         * lib/unistdio/u-vsprintf.h: Likewise.
83971         * lib/unistdio/u16-asnprintf.c: Likewise.
83972         * lib/unistdio/u16-asprintf.c: Likewise.
83973         * lib/unistdio/u16-printf-parse.c: Likewise.
83974         * lib/unistdio/u16-snprintf.c: Likewise.
83975         * lib/unistdio/u16-sprintf.c: Likewise.
83976         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
83977         * lib/unistdio/u16-u16-asprintf.c: Likewise.
83978         * lib/unistdio/u16-u16-snprintf.c: Likewise.
83979         * lib/unistdio/u16-u16-sprintf.c: Likewise.
83980         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
83981         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
83982         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
83983         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
83984         * lib/unistdio/u16-vasnprintf.c: Likewise.
83985         * lib/unistdio/u16-vasprintf.c: Likewise.
83986         * lib/unistdio/u16-vsnprintf.c: Likewise.
83987         * lib/unistdio/u16-vsprintf.c: Likewise.
83988         * lib/unistdio/u32-asnprintf.c: Likewise.
83989         * lib/unistdio/u32-asprintf.c: Likewise.
83990         * lib/unistdio/u32-printf-parse.c: Likewise.
83991         * lib/unistdio/u32-snprintf.c: Likewise.
83992         * lib/unistdio/u32-sprintf.c: Likewise.
83993         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
83994         * lib/unistdio/u32-u32-asprintf.c: Likewise.
83995         * lib/unistdio/u32-u32-snprintf.c: Likewise.
83996         * lib/unistdio/u32-u32-sprintf.c: Likewise.
83997         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
83998         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
83999         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
84000         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
84001         * lib/unistdio/u32-vasnprintf.c: Likewise.
84002         * lib/unistdio/u32-vasprintf.c: Likewise.
84003         * lib/unistdio/u32-vsnprintf.c: Likewise.
84004         * lib/unistdio/u32-vsprintf.c: Likewise.
84005         * lib/unistdio/u8-asnprintf.c: Likewise.
84006         * lib/unistdio/u8-asprintf.c: Likewise.
84007         * lib/unistdio/u8-printf-parse.c: Likewise.
84008         * lib/unistdio/u8-snprintf.c: Likewise.
84009         * lib/unistdio/u8-sprintf.c: Likewise.
84010         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
84011         * lib/unistdio/u8-u8-asprintf.c: Likewise.
84012         * lib/unistdio/u8-u8-snprintf.c: Likewise.
84013         * lib/unistdio/u8-u8-sprintf.c: Likewise.
84014         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
84015         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
84016         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
84017         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
84018         * lib/unistdio/u8-vasnprintf.c: Likewise.
84019         * lib/unistdio/u8-vasprintf.c: Likewise.
84020         * lib/unistdio/u8-vsnprintf.c: Likewise.
84021         * lib/unistdio/u8-vsprintf.c: Likewise.
84022         * lib/unistdio/ulc-asnprintf.c: Likewise.
84023         * lib/unistdio/ulc-asprintf.c: Likewise.
84024         * lib/unistdio/ulc-printf-parse.c: Likewise.
84025         * lib/unistdio/ulc-snprintf.c: Likewise.
84026         * lib/unistdio/ulc-sprintf.c: Likewise.
84027         * lib/unistdio/ulc-vasnprintf.c: Likewise.
84028         * lib/unistdio/ulc-vasprintf.c: Likewise.
84029         * lib/unistdio/ulc-vsnprintf.c: Likewise.
84030         * lib/unistdio/ulc-vsprintf.c: Likewise.
84031         * lib/unistr.h: Likewise.
84032         * lib/unistr/u-cpy-alloc.h: Likewise.
84033         * lib/unistr/u-cpy.h: Likewise.
84034         * lib/unistr/u-endswith.h: Likewise.
84035         * lib/unistr/u-move.h: Likewise.
84036         * lib/unistr/u-set.h: Likewise.
84037         * lib/unistr/u-startswith.h: Likewise.
84038         * lib/unistr/u-stpcpy.h: Likewise.
84039         * lib/unistr/u-stpncpy.h: Likewise.
84040         * lib/unistr/u-strcat.h: Likewise.
84041         * lib/unistr/u-strcpy.h: Likewise.
84042         * lib/unistr/u-strcspn.h: Likewise.
84043         * lib/unistr/u-strdup.h: Likewise.
84044         * lib/unistr/u-strlen.h: Likewise.
84045         * lib/unistr/u-strncat.h: Likewise.
84046         * lib/unistr/u-strncpy.h: Likewise.
84047         * lib/unistr/u-strnlen.h: Likewise.
84048         * lib/unistr/u-strpbrk.h: Likewise.
84049         * lib/unistr/u-strspn.h: Likewise.
84050         * lib/unistr/u-strstr.h: Likewise.
84051         * lib/unistr/u-strtok.h: Likewise.
84052         * lib/unistr/u16-check.c: Likewise.
84053         * lib/unistr/u16-chr.c: Likewise.
84054         * lib/unistr/u16-cmp.c: Likewise.
84055         * lib/unistr/u16-cpy-alloc.c: Likewise.
84056         * lib/unistr/u16-cpy.c: Likewise.
84057         * lib/unistr/u16-endswith.c: Likewise.
84058         * lib/unistr/u16-mblen.c: Likewise.
84059         * lib/unistr/u16-mbsnlen.c: Likewise.
84060         * lib/unistr/u16-mbtouc-aux.c: Likewise.
84061         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
84062         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
84063         * lib/unistr/u16-mbtouc.c: Likewise.
84064         * lib/unistr/u16-mbtoucr.c: Likewise.
84065         * lib/unistr/u16-move.c: Likewise.
84066         * lib/unistr/u16-next.c: Likewise.
84067         * lib/unistr/u16-prev.c: Likewise.
84068         * lib/unistr/u16-set.c: Likewise.
84069         * lib/unistr/u16-startswith.c: Likewise.
84070         * lib/unistr/u16-stpcpy.c: Likewise.
84071         * lib/unistr/u16-stpncpy.c: Likewise.
84072         * lib/unistr/u16-strcat.c: Likewise.
84073         * lib/unistr/u16-strchr.c: Likewise.
84074         * lib/unistr/u16-strcmp.c: Likewise.
84075         * lib/unistr/u16-strcpy.c: Likewise.
84076         * lib/unistr/u16-strcspn.c: Likewise.
84077         * lib/unistr/u16-strdup.c: Likewise.
84078         * lib/unistr/u16-strlen.c: Likewise.
84079         * lib/unistr/u16-strmblen.c: Likewise.
84080         * lib/unistr/u16-strmbtouc.c: Likewise.
84081         * lib/unistr/u16-strncat.c: Likewise.
84082         * lib/unistr/u16-strncmp.c: Likewise.
84083         * lib/unistr/u16-strncpy.c: Likewise.
84084         * lib/unistr/u16-strnlen.c: Likewise.
84085         * lib/unistr/u16-strpbrk.c: Likewise.
84086         * lib/unistr/u16-strrchr.c: Likewise.
84087         * lib/unistr/u16-strspn.c: Likewise.
84088         * lib/unistr/u16-strstr.c: Likewise.
84089         * lib/unistr/u16-strtok.c: Likewise.
84090         * lib/unistr/u16-to-u32.c: Likewise.
84091         * lib/unistr/u16-to-u8.c: Likewise.
84092         * lib/unistr/u16-uctomb-aux.c: Likewise.
84093         * lib/unistr/u16-uctomb.c: Likewise.
84094         * lib/unistr/u32-check.c: Likewise.
84095         * lib/unistr/u32-chr.c: Likewise.
84096         * lib/unistr/u32-cmp.c: Likewise.
84097         * lib/unistr/u32-cpy-alloc.c: Likewise.
84098         * lib/unistr/u32-cpy.c: Likewise.
84099         * lib/unistr/u32-endswith.c: Likewise.
84100         * lib/unistr/u32-mblen.c: Likewise.
84101         * lib/unistr/u32-mbsnlen.c: Likewise.
84102         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
84103         * lib/unistr/u32-mbtouc.c: Likewise.
84104         * lib/unistr/u32-mbtoucr.c: Likewise.
84105         * lib/unistr/u32-move.c: Likewise.
84106         * lib/unistr/u32-next.c: Likewise.
84107         * lib/unistr/u32-prev.c: Likewise.
84108         * lib/unistr/u32-set.c: Likewise.
84109         * lib/unistr/u32-startswith.c: Likewise.
84110         * lib/unistr/u32-stpcpy.c: Likewise.
84111         * lib/unistr/u32-stpncpy.c: Likewise.
84112         * lib/unistr/u32-strcat.c: Likewise.
84113         * lib/unistr/u32-strchr.c: Likewise.
84114         * lib/unistr/u32-strcmp.c: Likewise.
84115         * lib/unistr/u32-strcpy.c: Likewise.
84116         * lib/unistr/u32-strcspn.c: Likewise.
84117         * lib/unistr/u32-strdup.c: Likewise.
84118         * lib/unistr/u32-strlen.c: Likewise.
84119         * lib/unistr/u32-strmblen.c: Likewise.
84120         * lib/unistr/u32-strmbtouc.c: Likewise.
84121         * lib/unistr/u32-strncat.c: Likewise.
84122         * lib/unistr/u32-strncmp.c: Likewise.
84123         * lib/unistr/u32-strncpy.c: Likewise.
84124         * lib/unistr/u32-strnlen.c: Likewise.
84125         * lib/unistr/u32-strpbrk.c: Likewise.
84126         * lib/unistr/u32-strrchr.c: Likewise.
84127         * lib/unistr/u32-strspn.c: Likewise.
84128         * lib/unistr/u32-strstr.c: Likewise.
84129         * lib/unistr/u32-strtok.c: Likewise.
84130         * lib/unistr/u32-to-u16.c: Likewise.
84131         * lib/unistr/u32-to-u8.c: Likewise.
84132         * lib/unistr/u32-uctomb.c: Likewise.
84133         * lib/unistr/u8-check.c: Likewise.
84134         * lib/unistr/u8-chr.c: Likewise.
84135         * lib/unistr/u8-cmp.c: Likewise.
84136         * lib/unistr/u8-cpy-alloc.c: Likewise.
84137         * lib/unistr/u8-cpy.c: Likewise.
84138         * lib/unistr/u8-endswith.c: Likewise.
84139         * lib/unistr/u8-mblen.c: Likewise.
84140         * lib/unistr/u8-mbsnlen.c: Likewise.
84141         * lib/unistr/u8-mbtouc-aux.c: Likewise.
84142         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
84143         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
84144         * lib/unistr/u8-mbtouc.c: Likewise.
84145         * lib/unistr/u8-mbtoucr.c: Likewise.
84146         * lib/unistr/u8-move.c: Likewise.
84147         * lib/unistr/u8-next.c: Likewise.
84148         * lib/unistr/u8-prev.c: Likewise.
84149         * lib/unistr/u8-set.c: Likewise.
84150         * lib/unistr/u8-startswith.c: Likewise.
84151         * lib/unistr/u8-stpcpy.c: Likewise.
84152         * lib/unistr/u8-stpncpy.c: Likewise.
84153         * lib/unistr/u8-strcat.c: Likewise.
84154         * lib/unistr/u8-strchr.c: Likewise.
84155         * lib/unistr/u8-strcmp.c: Likewise.
84156         * lib/unistr/u8-strcpy.c: Likewise.
84157         * lib/unistr/u8-strcspn.c: Likewise.
84158         * lib/unistr/u8-strdup.c: Likewise.
84159         * lib/unistr/u8-strlen.c: Likewise.
84160         * lib/unistr/u8-strmblen.c: Likewise.
84161         * lib/unistr/u8-strmbtouc.c: Likewise.
84162         * lib/unistr/u8-strncat.c: Likewise.
84163         * lib/unistr/u8-strncmp.c: Likewise.
84164         * lib/unistr/u8-strncpy.c: Likewise.
84165         * lib/unistr/u8-strnlen.c: Likewise.
84166         * lib/unistr/u8-strpbrk.c: Likewise.
84167         * lib/unistr/u8-strrchr.c: Likewise.
84168         * lib/unistr/u8-strspn.c: Likewise.
84169         * lib/unistr/u8-strstr.c: Likewise.
84170         * lib/unistr/u8-strtok.c: Likewise.
84171         * lib/unistr/u8-to-u16.c: Likewise.
84172         * lib/unistr/u8-to-u32.c: Likewise.
84173         * lib/unistr/u8-uctomb-aux.c: Likewise.
84174         * lib/unistr/u8-uctomb.c: Likewise.
84175         * lib/unitypes.h: Likewise.
84176         * lib/uniwidth.h: Likewise.
84177         * lib/uniwidth/cjk.h: Likewise.
84178         * lib/uniwidth/u16-strwidth.c: Likewise.
84179         * lib/uniwidth/u16-width.c: Likewise.
84180         * lib/uniwidth/u32-strwidth.c: Likewise.
84181         * lib/uniwidth/u32-width.c: Likewise.
84182         * lib/uniwidth/u8-strwidth.c: Likewise.
84183         * lib/uniwidth/u8-width.c: Likewise.
84184         * lib/uniwidth/width.c: Likewise.
84186 2007-10-07  Bruno Haible  <bruno@clisp.org>
84188         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
84189         The file is still under LGPL (see modules/inttypes).
84191 2007-10-06  Bruno Haible  <bruno@clisp.org>
84193         * modules/trunc (Dependencies): Add 'extensions'.
84194         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
84195         Reported by Ben Pfaff <blp@gnu.org>.
84197 2007-10-06  Bruno Haible  <bruno@clisp.org>
84199         * modules/freopen-tests: New file.
84200         * tests/test-freopen.c: New file.
84202         * modules/fopen-tests: New file.
84203         * tests/test-fopen.c: New file.
84205         * modules/fopen: New file.
84206         * lib/fopen.c: New file.
84207         * m4/fopen.m4: New file.
84208         * modules/freopen: New file.
84209         * lib/freopen.c: New file.
84210         * m4/freopen.m4: New file.
84211         * lib/stdio.in.h (fopen, freopen): New declarations.
84212         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
84213         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
84214         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
84215         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
84216         * doc/functions/fopen.texi: Mention the 'fopen' module.
84217         * doc/functions/freopen.texi: Mention the 'freopen' module.
84219 2007-10-06  Bruno Haible  <bruno@clisp.org>
84221         * modules/open-tests: New file.
84222         * tests/test-open.c: New file.
84224         * modules/open: New file.
84225         * lib/open.c: New file.
84226         * m4/open.m4: New file.
84227         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
84228         lib/open.c does.
84229         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
84230         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
84231         macros.
84232         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
84233         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
84234         REPLACE_OPEN.
84235         * doc/functions/open.texi: Mention the 'open' module.
84237 2007-10-04  Bruno Haible  <bruno@clisp.org>
84239         * modules/ceill-tests: New file.
84240         * tests/test-ceill.c: New file.
84242         * modules/ceill: New file.
84243         * lib/ceill.c: Replace entire file.
84244         * m4/ceill.m4: New file.
84245         * lib/math.in.h (ceill): Replace declaration.
84246         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
84247         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
84248         * doc/functions/ceill.texi: Mention the 'ceill' module.
84249         * modules/mathl (Files): Remove lib/ceill.c.
84250         (Depends-on): Add ceill.
84252 2007-10-04  Bruno Haible  <bruno@clisp.org>
84254         * modules/ceilf-tests: New file.
84255         * tests/test-ceilf.c: New file.
84257         * modules/ceilf: New file.
84258         * lib/ceil.c: New file.
84259         * lib/ceilf.c: New file.
84260         * m4/ceilf.m4: New file.
84261         * lib/math.in.h (ceilf): New declaration.
84262         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
84263         HAVE_DECL_CEILF.
84264         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
84265         HAVE_DECL_CEILF.
84266         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
84268 2007-10-04  Bruno Haible  <bruno@clisp.org>
84270         * modules/floorl-tests: New file.
84271         * tests/test-floorl.c: New file.
84273         * modules/floorl: New file.
84274         * lib/floorl.c: Replace entire file.
84275         * m4/floorl.m4: New file.
84276         * lib/math.in.h (floorl): Replace declaration.
84277         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
84278         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
84279         * doc/functions/floorl.texi: Mention the 'floorl' module.
84280         * modules/mathl (Files): Remove lib/floorl.c.
84281         (Depends-on): Add floorl.
84283 2007-10-04  Bruno Haible  <bruno@clisp.org>
84285         * modules/floorf-tests: New file.
84286         * tests/test-floorf.c: New file.
84288         * modules/floorf: New file.
84289         * lib/floor.c: New file.
84290         * lib/floorf.c: New file.
84291         * m4/floorf.m4: New file.
84292         * lib/math.in.h (floorf): New declaration.
84293         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
84294         HAVE_DECL_FLOORF.
84295         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
84296         HAVE_DECL_FLOORF.
84297         * doc/functions/floorf.texi: Mention the 'floorf' module.
84299 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
84300             Bruno Haible  <bruno@clisp.org>
84302         Advertise for the Git server instead of the CVS server.
84303         * doc/gnulib-intro.texi (Steady Development): Mention the Git
84304         repository instead of the CVS one.
84305         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
84306         about all VCS systems generically.
84307         * doc/gnulib.texi (Introduction): Capitalize `Git'.
84309 2007-10-04  Bruno Haible  <bruno@clisp.org>
84311         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
84312         means.
84313         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
84315 2007-10-04  Bruno Haible  <bruno@clisp.org>
84317         * modules/truncl-tests: New file.
84318         * tests/test-truncl.c: New file.
84320         * modules/truncl: New file.
84321         * lib/truncl.c: New file.
84322         * m4/truncl.m4: New file.
84323         * lib/math.in.h (truncl): New declaration.
84324         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
84325         HAVE_DECL_TRUNCL.
84326         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
84327         HAVE_DECL_TRUNCL.
84328         * doc/functions/truncl.texi: Mention the 'truncl' module.
84330 2007-10-04  Bruno Haible  <bruno@clisp.org>
84332         * modules/truncf-tests: New file.
84333         * tests/test-truncf.c: New file.
84335         * modules/truncf: New file.
84336         * lib/trunc.c: Make paramerizable through USE_* macros.
84337         * lib/truncf.c: New file.
84338         * m4/truncf.m4: New file.
84339         * lib/math.in.h (truncf): New declaration.
84340         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
84341         HAVE_DECL_TRUNCF.
84342         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
84343         HAVE_DECL_TRUNCF.
84344         * doc/functions/truncf.texi: Mention the 'truncf' module.
84346 2007-10-03  Bruno Haible  <bruno@clisp.org>
84348         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
84349         augmentation also for tests modules.
84350         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
84351         * modules/atexit-tests (Makefile.am): Likewise.
84352         * modules/binary-io-tests (Makefile.am): Likewise.
84353         * modules/c-strcase-tests (Makefile.am): Likewise.
84354         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
84355         * modules/canonicalize-tests (Makefile.am): Likewise.
84356         * modules/closein-tests (Makefile.am): Likewise.
84357         * modules/fprintf-posix-tests (Makefile.am): Likewise.
84358         * modules/freadahead-tests (Makefile.am): Likewise.
84359         * modules/fseek-tests (Makefile.am): Likewise.
84360         * modules/fseeko-tests (Makefile.am): Likewise.
84361         * modules/ftell-tests (Makefile.am): Likewise.
84362         * modules/ftello-tests (Makefile.am): Likewise.
84363         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
84364         * modules/isnanl-tests (Makefile.am): Likewise.
84365         * modules/lseek-tests (Makefile.am): Likewise.
84366         * modules/mbscasecmp-tests (Makefile.am): Likewise.
84367         * modules/mbscasestr-tests (Makefile.am): Likewise.
84368         * modules/mbschr-tests (Makefile.am): Likewise.
84369         * modules/mbscspn-tests (Makefile.am): Likewise.
84370         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
84371         * modules/mbspbrk-tests (Makefile.am): Likewise.
84372         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
84373         * modules/mbsrchr-tests (Makefile.am): Likewise.
84374         * modules/mbsspn-tests (Makefile.am): Likewise.
84375         * modules/mbsstr-tests (Makefile.am): Likewise.
84376         * modules/printf-posix-tests (Makefile.am): Likewise.
84377         * modules/snprintf-posix-tests (Makefile.am): Likewise.
84378         * modules/sprintf-posix-tests (Makefile.am): Likewise.
84379         * modules/tsearch-tests (Makefile.am): Likewise.
84380         * modules/uniname/uniname-tests (Makefile.am): Likewise.
84381         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
84382         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
84383         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
84384         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
84385         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
84386         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
84387         * modules/vprintf-posix-tests (Makefile.am): Likewise.
84388         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
84389         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
84390         * modules/xstrtoimax-tests (Makefile.am): Likewise.
84391         * modules/xstrtol-tests (Makefile.am): Likewise.
84392         * modules/xstrtoumax-tests (Makefile.am): Likewise.
84393         * modules/yesno-tests (Makefile.am): Likewise.
84395 2007-10-03  Bruno Haible  <bruno@clisp.org>
84397         * modules/trunc-tests: New file.
84398         * tests/test-trunc.c: New file.
84400         * modules/trunc: New file.
84401         * lib/trunc.c: New file.
84402         * m4/trunc.m4: New file.
84403         * lib/math.in.h (trunc): New declaration.
84404         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
84405         HAVE_DECL_TRUNC.
84406         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
84407         HAVE_DECL_TRUNC.
84408         * doc/functions/trunc.texi: Mention the 'trunc' module.
84410 2007-10-03  Bruno Haible  <bruno@clisp.org>
84412         * tests/test-fpending.c: New file, mostly copied
84413         from coreutils/lib/t-fpending.c.
84414         * modules/fpending-tests: New file.
84416 2007-10-03  Bruno Haible  <bruno@clisp.org>
84418         Port the stdio extensions to QNX (untested).
84419         * lib/fseterr.c (fseterr): Add support for QNX.
84420         * lib/fbufmode.c (fbufmode): Likewise.
84421         * lib/freadable.c (freadable): Likewise.
84422         * lib/fwritable.c (fwritable): Likewise.
84423         * lib/freading.c (freading): Likewise.
84424         * lib/fwriting.c (fwriting): Likewise.
84425         * lib/freadahead.c (freadahed): Likewise.
84426         * lib/fpurge.c (fpurge): Likewise.
84427         * lib/fseeko.c (rpl_fseeko): Likewise.
84429 2007-10-03  Bruno Haible  <bruno@clisp.org>
84430             Jim Meyering  <jim@meyering.net>
84431             Eric Blake  <ebb9@byu.net>
84433         * doc/relocatable.texi: Use @command instead of @program.
84435 2007-10-02  Jim Meyering  <jim@meyering.net>
84437         Perform one more "_.h" -> ".in.h" substitution.
84438         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
84439         instead of unistd_.h here, too.
84441 2007-10-01  Bruno Haible  <bruno@clisp.org>
84443         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
84444         Needed for the alloca-opt module.
84446 2007-09-30  Bruno Haible  <bruno@clisp.org>
84448         * lib/alloca.in.h: Renamed from lib/alloca_.h.
84449         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
84450         alloca_.h.
84451         * lib/argz.in.h: Renamed from lib/argz_.h.
84452         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
84453         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
84454         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
84455         byteswap_.h.
84456         * lib/dirent.in.h: Renamed from lib/dirent_.h.
84457         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
84458         dirent_.h.
84459         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
84460         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
84461         fcntl_.h.
84462         * lib/float.in.h: Renamed from lib/float_.h.
84463         * modules/float (Files, Makefile.am): Use float.in.h instead of
84464         float_.h.
84465         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
84466         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
84467         fnmatch_.h.
84468         * lib/getopt.in.h: Renamed from lib/getopt_.h.
84469         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
84470         getopt_.h.
84471         * lib/glob.in.h: Renamed from lib/glob_.h.
84472         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
84473         * lib/iconv.in.h: Renamed from lib/iconv_.h.
84474         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
84475         iconv_.h.
84476         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
84477         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
84478         inttypes_.h.
84479         * lib/locale.in.h: Renamed from lib/locale_.h.
84480         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
84481         locale_.h.
84482         * lib/math.in.h: Renamed from lib/math_.h.
84483         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
84484         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
84485         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
84486         of netinet_in_.h. Add dependency.
84487         * lib/poll.in.h: Renamed from lib/poll_.h.
84488         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
84489         * lib/search.in.h: Renamed from lib/search_.h.
84490         * modules/search (Files, Makefile.am): Use search.in.h instead of
84491         search_.h.
84492         * lib/signal.in.h: Renamed from lib/signal_.h.
84493         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
84494         _signal.h.
84495         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
84496         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
84497         stdbool_.h.
84498         * lib/stdint.in.h: Renamed from lib/stdint_.h.
84499         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
84500         stdint_.h.
84501         * lib/stdio.in.h: Renamed from lib/stdio_.h.
84502         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
84503         stdio_.h.
84504         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
84505         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
84506         stdlib_.h.
84507         * lib/string.in.h: Renamed from lib/string_.h.
84508         * modules/string (Files, Makefile.am): Use string.in.h instead of
84509         string_.h.
84510         * doc/gnulib-tool.texi (Initial import): Update.
84511         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
84512         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
84513         of sys_select_.h. Add dependency.
84514         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
84515         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
84516         of sys_socket_.h.
84517         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
84518         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
84519         sys_stat_.h.
84520         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
84521         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
84522         sys_time_.h.
84523         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
84524         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
84525         sysexits_.h.
84526         * lib/time.in.h: Renamed from lib/time_.h.
84527         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
84528         * lib/unistd.in.h: Renamed from lib/unistd_.h.
84529         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
84530         unistd_.h.
84531         * lib/wchar.in.h: Renamed from lib/wchar_.h.
84532         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
84533         wchar_.h.
84534         * lib/wctype.in.h: Renamed from lib/wctype_.h.
84535         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
84536         wctype_.h.
84537         * build-aux/bootstrap (slurp): Update.
84538         * lib/.cppi-disable: Update.
84540 2007-09-30  Bruno Haible  <bruno@clisp.org>
84542         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
84543         Needed on BeOS.
84545 2007-09-30  Bruno Haible  <bruno@clisp.org>
84547         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
84549 2007-09-29  Bruno Haible  <bruno@clisp.org>
84551         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
84553 2007-09-29  Bruno Haible  <bruno@clisp.org>
84555         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
84556         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
84557         * build-aux/install-reloc: Compile also areadlink.c.
84558         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
84560 2007-09-29  Bruno Haible  <bruno@clisp.org>
84562         * gnulib-tool (func_emit_initmacro_done): Indentation.
84564 2007-09-29  Bruno Haible  <bruno@clisp.org>
84566         * README: Add CVS checkout update instructions.
84567         Info from Bob Proulx <bob@proulx.com>.
84569 2007-09-28  Eric Blake  <ebb9@byu.net>
84571         Provide move-if-change.
84572         * build-aux/move-if-change: New file, based on best practice
84573         rather than any canonical upstream location.
84575 2007-09-28  Jim Meyering  <jim@meyering.net>
84577         Fix canonicalize loop-detection corner case.
84578         Do not attempt to stat the symlink values stored via seen_triple.
84579         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
84580         on linux-2.6.18, (but not 2.6.22).
84581         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
84582         triple_compare.  The former compares dev,ino,filename, while the latter
84583         would actually stat dirname(filename) when dev and ino were equal.
84584         * lib/hash-triple.c: Install <string.h>.
84585         (STREQ): Define.
84586         (triple_compare_ino_str): New function.
84587         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
84589 2007-09-28  Eric Blake  <ebb9@byu.net>
84591         Enforce that AC_REPLACE_FUNCS files exist.
84592         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
84593         override check for typos.
84595         Fix test-closein on Solaris 10.
84596         * tests/test-closein.c (main): Don't assume stdin can be inherited
84597         closed on all systems.
84598         * tests/test-closein.sh: Likewise.
84599         Reported by Piotr Tarnowski.
84601 2007-09-28  Jim Meyering  <jim@meyering.net>
84603         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
84605 2007-09-27  Jim Meyering  <jim@meyering.net>
84607         canonicalize: Avoid a false-positive cycle failure.
84608         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
84609         Sort.  Remove cycle-check.
84610         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
84611         not cycle-check.h.
84612         (seen_triple): New function.
84613         (canonicalize_filename_mode): Use it instead of cycle-check.
84614         * tests/test-canonicalize.c: Add a test for this bug.
84615         * tests/test-canonicalize.sh: Set up and run the test.
84617         New module, file-set, from coreutils.
84618         * modules/file-set: Define it.
84619         * lib/file-set.c, lib/file-set.h: Implement.
84621         New module, hash-triple, from coreutils.
84622         * modules/hash-triple: Define it.
84623         * lib/hash-triple.c, lib/hash-triple.h: Implement.
84625 2007-09-25  Eric Blake  <ebb9@byu.net>
84627         Fix strerror on Interix.
84628         * lib/string_.h (strerror): Declare replacement.
84629         * doc/functions/strerror.texi (strerror): Document the Interix
84630         shortcoming.
84631         * modules/string (Makefile.am): Support new hooks.
84632         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
84633         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
84634         gl_FUNC_STRERROR_SEPARATE.
84635         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
84636         * lib/strerror.c (rpl_strerror): Provide replacement.
84637         * modules/strerror (Depends-on): Add string.
84638         (configure.ac): Detect use of module.
84639         * tests/test-strerror.c: New file.
84640         * modules/strerror-tests: New test module.
84641         * modules/argp (Depends-on): Add strerror.
84642         * modules/error (Depends-on): Likewise.
84643         Reported by Martin Koeppe.
84645 2007-09-24  Bruno Haible  <bruno@clisp.org>
84647         * README: Update git instructions.
84649 2007-09-24  Eric Blake  <ebb9@byu.net>
84651         Revert fpending breakage from 2007-09-08.
84652         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
84653         __fpending.c.
84655 2007-09-24  Jim Meyering  <jim@meyering.net>
84657         filenamecat.c: Add a test.
84658         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
84659         showing how the function works when DIR is the empty string.
84661 2007-09-21  Simon Josefsson  <simon@josefsson.org>
84663         * tests/test-canonicalize.sh: Turn on executable bit.
84665 2007-09-19  Eric Blake  <ebb9@byu.net>
84667         * README: Update CVS instructions.
84669 2007-09-18  Bruno Haible  <bruno@clisp.org>
84671         * modules/areadlink: New file.
84672         * lib/areadlink.h (areadlink): New declaration.
84673         * lib/areadlink.c: New file, based on lib/xreadlink.c.
84675 2007-09-17  Jim Meyering  <jim@meyering.net>
84677         * lib/savewd.c (ESTALE) [!defined]: Define.
84678         Reported to be required on Interix by Martin Koeppe.
84680 2007-09-17  Bruno Haible  <bruno@clisp.org>
84682         * gnulib-tool (func_version): Use $version.
84684 2007-09-16  Bruno Haible  <bruno@clisp.org>
84686         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
84687         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
84688         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
84689         Reported by Greg Schafer <gschafer@zip.com.au>.
84691 2007-09-15  Bruno Haible  <bruno@clisp.org>
84693         * gnulib-tool (sed): Try a little harder to make bash understand the
84694         alias.
84695         Reported by Bruce Korb <bruce.korb@gmail.com>.
84697 2007-09-13  Eric Blake  <ebb9@byu.net>
84699         * ChangeLog: Remove conflict markers.
84701 2007-09-13  Simon Josefsson  <simon@josefsson.org>
84703         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
84704         Reported by Bruno Haible <bruno@clisp.org>.
84706 2007-09-12  Bruno Haible  <bruno@clisp.org>
84708         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
84709         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
84710         is not defined.
84712 2007-09-12  Eric Blake  <ebb9@byu.net>
84714         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
84715         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
84716         Autoconf definition.
84717         * modules/euidaccess (Depends-on): Add extensions, for
84718         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
84719         * modules/fnmatch (Depends-on): Likewise.
84720         * modules/getaddrinfo (Depends-on): Likewise.
84721         * modules/getdelim (Depends-on): Likewise.
84722         * modules/getline (Depends-on): Likewise.
84723         * modules/getsubopt (Depends-on): Likewise.
84724         * modules/gettext (Depends-on): Likewise.
84725         * modules/group-member (Depends-on): Likewise.
84726         * modules/mbchar (Depends-on): Likewise.
84727         * modules/memmem (Depends-on): Likewise.
84728         * modules/mempcpy (Depends-on): Likewise.
84729         * modules/memrchr (Depends-on): Likewise.
84730         * modules/pagealign_alloc (Depends-on): Likewise.
84731         * modules/readutmp (Depends-on): Likewise.
84732         * modules/stpcpy (Depends-on): Likewise.
84733         * modules/stpncpy (Depends-on): Likewise.
84734         * modules/strchrnul (Depends-on): Likewise.
84735         * modules/strndup (Depends-on): Likewise.
84736         * modules/strsep (Depends-on): Likewise.
84737         * modules/strverscmp (Depends-on): Likewise.
84738         * modules/vasprintf (Depends-on): Likewise.
84739         * modules/wcwidth (Depends-on): Likewise.
84740         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
84741         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
84742         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
84743         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
84744         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
84745         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
84746         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
84747         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
84748         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
84749         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
84750         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
84751         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
84752         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
84753         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
84754         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
84755         * m4/readutmp.m4 (gl_READUTMP): Likewise.
84756         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
84757         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
84758         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
84759         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
84760         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
84761         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
84762         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
84763         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
84764         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
84765         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
84766         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
84767         so that lock.m4 can be used in gettext without extensions module.
84769 2007-09-11  Bruno Haible  <bruno@clisp.org>
84771         * m4/isc-posix.m4: Remove file.
84772         Suggested by Eric Blake.
84774 2007-09-11  Eric Blake  <ebb9@byu.net>
84776         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
84778 2007-09-10  Bruno Haible  <bruno@clisp.org>
84780         * posix-modules: Fix typo in error message.
84781         Reported by Matt <mkraai@beckman.com>.
84783 2007-09-09  Bruno Haible  <bruno@clisp.org>
84785         * doc/functions/getdelim.texi: Update list of platforms lacking the
84786         function.
84787         * doc/functions/getline.texi: Likewise.
84789 2007-09-09  Jim Meyering  <jim@meyering.net>
84791         * lib/hash.c (hash_initialize): Detect calloc failure.
84792         Reported by Bruno Haible.
84794 2007-09-09  Bruno Haible  <bruno@clisp.org>
84796         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
84797         malloc or realloc fails.
84799 2007-09-09  Bruno Haible  <bruno@clisp.org>
84801         * modules/getcwd (Depends-on): Add malloc-posix.
84802         * modules/glob (Depends-on): Likewise.
84803         * modules/putenv (Depends-on): Likewise.
84804         * modules/strdup (Depends-on): Likewise.
84805         * modules/getdelim (Depends-on): Add realloc-posix.
84806         * modules/read-file (Depends-on): Likewise.
84808 2007-09-09  Bruno Haible  <bruno@clisp.org>
84810         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
84811         (gl_FUNC_MALLOC_POSIX): Require it.
84812         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
84813         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
84814         * modules/realloc (Files): Add m4/malloc.m4.
84815         * modules/calloc (Files): Likewise.
84817 2007-09-09  Bruno Haible  <bruno@clisp.org>
84819         * modules/malloc-posix: New file.
84820         * modules/malloc (Depends-on): Add malloc-posix.
84821         * lib/malloc.c: Include errno.h.
84822         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
84823         and a POSIX-compatible malloc into a single function. Set ENOMEM
84824         when returning NULL.
84825         * m4/malloc.m4: New file.
84826         * doc/functions/malloc.texi: Mention the malloc-posix module.
84827         * lib/stdlib_.h (malloc): New declaration.
84828         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
84829         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
84830         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
84831         and HAVE_MALLOC_POSIX.
84833 2007-09-09  Bruno Haible  <bruno@clisp.org>
84835         * modules/realloc-posix: New file.
84836         * modules/realloc (Depends-on): Add realloc-posix.
84837         * lib/realloc.c: Include errno.h.
84838         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
84839         and a POSIX-compatible realloc into a single function. Set ENOMEM
84840         when returning NULL.
84841         * m4/realloc.m4: New file.
84842         * doc/functions/realloc.texi: Mention the realloc-posix module.
84843         * lib/stdlib_.h (realloc): New declaration.
84844         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
84845         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
84846         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
84847         and HAVE_REALLOC_POSIX.
84849 2007-09-09  Bruno Haible  <bruno@clisp.org>
84851         * modules/calloc-posix: New file.
84852         * modules/calloc (Depends-on): Add calloc-posix.
84853         * lib/calloc.c: Include errno.h.
84854         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
84855         and a POSIX-compatible calloc into a single function. Set ENOMEM
84856         when returning NULL.
84857         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
84858         * doc/functions/calloc.texi: Mention the calloc-posix module.
84859         * lib/stdlib_.h (calloc): New declaration.
84860         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
84861         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
84862         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
84863         and HAVE_CALLOC_POSIX.
84865 2007-09-09  Bruno Haible  <bruno@clisp.org>
84867         Allow for modules to show an arbitrary notice.
84868         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
84869         * gnulib-tool: New option --extract-notice.
84870         (func_usage): Document it.
84871         (sed_extract_prog): Update.
84872         (func_get_notice): New function.
84873         (func_modules_notice): New function.
84874         (func_import, func_create_testdir): Invoke it.
84875         Suggested by Jim Meyering.
84877 2007-09-09  Bruno Haible  <bruno@clisp.org>
84879         * gnulib-tool: New options --verbose, --quiet.
84880         (func_usage): Document them.
84881         (verbose): New variable.
84882         (func_execute_command): New function.
84883         (func_import): Don't show the module list and the file list if
84884         $verbose < 0.
84885         (func_create_testdir): Likewise. Use func_execute_command.
84886         (func_create_megatestdir): Use func_execute_command.
84888 2007-09-08  Bruno Haible  <bruno@clisp.org>
84890         * gnulib-tool (func_import): Prefer rsync over wget when available,
84891         for fetching the PO files.
84893 2007-09-08  Bruno Haible  <bruno@clisp.org>
84895         * posix-modules: New file. Portions copied from gnulib-tool.
84896         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
84898 2007-09-08  Jim Meyering  <jim@meyering.net>
84900         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
84901         * lib/fpending.h: Rename from __fpending.h.
84902         * lib/fpending.c: Rename from __fpending.c.
84903         Include "fpending.h", not "__fpending.h".
84904         * lib/__fpending.h, lib/__fpending.c: Remove files.
84905         * modules/fpending (Files): Reflect new file names.
84906         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
84908 2007-09-08  Bruno Haible  <bruno@clisp.org>
84910         * m4/inttypes-h.m4: Remove stub file.
84912 2007-09-07  Simon Josefsson  <simon@josefsson.org>
84914         * doc/headers/stdint.texi: Discuss #include_next issue.
84916 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
84918         * build-aux/bootstrap: Remove obsolete comment about wget --help.
84920 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
84922         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
84923         in variable name.
84925 2007-09-03  Jim Meyering  <jim@meyering.net>
84927         New module: git-version-gen.
84928         * modules/git-version-gen: New file.
84930         Import changes from coreutils for bootstrap script.
84932         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
84934         bootstrap: uses rsync to download the .po files
84935         * build-aux/bootstrap (po_download_command_format): New global.
84936         (download_po_files): Use rsync.
84937         (update_po_files): Don't remove .po files after download,
84938         so future rsync runs can take advantage of the copies.
84940         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
84942         Solve the unnecessary-.po-file-regeneration problem once and for all.
84943         * build-aux/bootstrap (download_po_files): New function, renamed from
84944         get_translations.  Now, downloads, but doesn't update LINGUAS.
84945         (update_po_files): New function.
84947         bootstrap: Ignore more.
84948         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
84949         uniwidth to e.g., lib/.gitignore.
84950         (slurp): Handle the sys_stat_.h -> sys mapping, too.
84952         * build-aux/bootstrap: New setting: vc_ignore.
84953         (insert_sorted_if_absent): Create $file if absent.
84954         Adapt to new, possibly empty, list: $vc_ignore.
84956         bootstrap: generate more ignorable names
84957         * build-aux/bootstrap (slurp): When generating ignorable names,
84958         also map .sin to .sed, .gperf to .c, and .y to .c.
84960 2007-09-03  Jim Meyering  <jim@meyering.net>
84962         * build-aux/git-version-gen: New file, from coreutils.  For details, see
84963         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
84965 2007-09-02  Bruno Haible  <bruno@clisp.org>
84967         Fix mis-recognition of 'mcs' on QNX 6.
84968         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
84969         output contains the string "Mono".
84970         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
84971         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
84973 2007-09-01  Bruno Haible  <bruno@clisp.org>
84975         Fix collision between uniwidth/* and linebreak modules.
84976         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
84977         u32_width): Remove declarations.
84978         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
84979         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
84980         streq3, streq2, streq1, streq0): Remove functions.
84981         (STREQ): Remove macro.
84982         (is_cjk_encoding): Remove function.
84983         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
84984         (uc_width, u8_width, u16_width, u32_width): Remove functions.
84985         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
84986         * NEWS: Document the change.
84988 2007-09-01  Bruno Haible  <bruno@clisp.org>
84990         * lib/streq.h: Add double-inclusion guard.
84992 2007-09-01  Karl Berry  <karl@gnu.org>
84994         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
84996 2007-08-28  Jim Meyering  <jim@meyering.net>
84998         Rename mreadlink_with_size to areadlink_with_size.
84999         * NEWS: Document the change.
85000         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
85001         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
85002         * lib/mreadlink.h: Rename this to...
85003         * lib/areadlink.h: ...this.
85004         * modules/mreadlink-with-size: Rename this to...
85005         * modules/areadlink-with-size: ...this.
85006         * lib/canonicalize.c: Reflect the renaming.
85007         * modules/canonicalize: Likewise.
85009 2007-08-26  Bruno Haible  <bruno@clisp.org>
85011         * gnulib-tool (func_import): When deciding which files to remove,
85012         consider also dangling symbolic links.
85013         Reported by Eric Blake.
85015 2007-08-26  Bruno Haible  <bruno@clisp.org>
85017         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
85019 2007-08-23  Simon Josefsson  <simon@josefsson.org>
85021         * lib/readline.c: Don't include getline.h, the prototype is now
85022         found in stdio.h.
85024 2007-08-23  Jim Meyering  <jim@meyering.net>
85026         Getdelim touchup.
85027         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
85028         around the funlockfile call, since funlockfile never sets errno.
85029         Don't set errno upon failed realloc.
85031 2007-08-22  Eric Blake  <ebb9@byu.net>
85033         Getline touchups.
85034         * lib/getdelim.c (getdelim): Revert regression that required *n to
85035         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
85036         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
85037         getdelim, rather than whether implementation is missing.
85038         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
85039         * lib/stdio_.h (getline): Also declare if replacement is
85040         required.
85041         * doc/functions/getdelim.texi: New file.
85042         * doc/functions/getline.texi: Likewise.
85043         * doc/gnulib.texi (Function Substitutes): Add new files.
85044         Reported by Bruno Haible.
85046 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
85048         * users.txt: Add Guile.
85050 2007-08-22  Eric Blake  <ebb9@byu.net>
85052         * tests/test-getdelim.c (main): Use remove, not unlink.
85053         * tests/test-getline.c (main): Likewise.
85055         Move getline and getdelim into stdio.h, per POSIX 200x.
85056         * modules/getline (Files): Remove getline.h.
85057         (Depends-on): Add stdio.
85058         (configure.ac): Add module indicator.
85059         * modules/getdelim (Files): Remove getdelim.h.
85060         (Depends-on): Add stdio.
85061         (configure.ac): Add module indicator.
85062         * modules/stdio (Makefile.am): Work with new indicators.
85063         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
85064         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
85065         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
85066         * lib/getdelim.h: Delete.
85067         * lib/getline.h: Delete.
85068         * lib/stdio_.h (getdelim, getline): Declare.
85069         * modules/getdelim-tests: New module.
85070         * modules/getline-tests: Likewise.
85071         * tests/test-getdelim.c: New file.
85072         * tests/test-getline.c: Likewise.
85073         * NEWS: Document the change.
85074         * lib/getline.c: Update choice of header.
85075         * lib/csharpcomp.c: Likewise.
85076         * lib/getpass.c: Likewise.
85077         * lib/javacomp.c: Likewise.
85078         * lib/javaversion.c: Likewise.
85079         * lib/yesno.c: Likewise.
85080         * lib/getdelim.c: Likewise.
85081         (getdelim): Set errno on failure, and avoid memory leak.
85083 2007-08-19  Bruno Haible  <bruno@clisp.org>
85085         * modules/closein (Depends-on): Add freadahead.
85086         * lib/closein.c: Include freadahead.h.
85087         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
85088         is zero.
85090 2007-08-19  Bruno Haible  <bruno@clisp.org>
85092         * modules/freadahead-tests: New file.
85093         * tests/test-freadahead.sh: New file.
85094         * tests/test-freadahead.c: New file.
85096         * modules/freadahead: New file.
85097         * lib/freadahead.h: New file.
85098         * lib/freadahead.c: New file.
85099         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
85100         fbufmode, fpurge, freadable, fwritable.
85102 2007-08-19  Eric Blake  <ebb9@byu.net>
85104         Test yesno in combination with closein.
85105         * lib/yesno.c (yesno): Document use of stdin.
85106         * modules/yesno-tests (Files): New module.
85107         * tests/test-yesno.c (main): New file.
85108         * tests/test-yesno.sh: Likewise.
85110 2007-08-19  Bruno Haible  <bruno@clisp.org>
85112         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
85113         * lib/fseeko.c (rpl_fseeko): Likewise.
85114         * lib/fseterr.c (fseterr): Likewise.
85116 2007-08-19  Bruno Haible  <bruno@clisp.org>
85118         * tests/test-lseek.c (main): Disable a test for BeOS.
85119         * doc/functions/lseek.texi: Document the BeOS bug.
85121 2007-08-19  Bruno Haible  <bruno@clisp.org>
85122             Eric Blake  <ebb9@byu.net>
85124         * lib/lseek.c: Include <sys/stat.h>.
85125         (rpl_lseek): Add workaround code also for Unix platforms.
85126         Needed for BeOS.
85127         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
85128         * doc/functions/lseek.texi: Document BeOS definiency.
85130 2007-08-18  Bruno Haible  <bruno@clisp.org>
85132         * modules/fstrcmp-tests: New file.
85133         * tests/test-fstrcmp.c: New file.
85135 2007-08-18  Bruno Haible  <bruno@clisp.org>
85137         * modules/fstrcmp: New file, from GNU gettext with modifications.
85138         * lib/fstrcmp.h: New file, from GNU gettext.
85139         * lib/fstrcmp.c: New file, from GNU gettext.
85140         * MODULES.html.sh (String handling): Add fstrcmp.
85142 2007-08-18  Bruno Haible  <bruno@clisp.org>
85144         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
85145         'bool'.
85146         (diag, compareseq): Remove const from the ctxt argument.
85147         (USE_HEURISTIC): Undefine at the end.
85149 2007-08-18  Jim Meyering  <jim@meyering.net>
85151         New file: lib/idcache.h
85152         * NEWS: Mention the addition.
85153         * modules/idcache (Files): Add lib/idcache.h
85154         * lib/idcache.c: Include "idcache.h".
85155         Don't include <sys/types.h>.
85156         Add a FIXME comment.
85157         Move file-scoped "static" declarations to the top.
85158         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
85160 2007-08-17  Bruno Haible  <bruno@clisp.org>
85161         and Paul Eggert  <eggert@cs.ucla.edu>
85163         * MODULES.html.sh: Add diffseq.
85164         * modules/diffseq: New file.
85165         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
85166         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
85168 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
85170         Import changes from coreutils for bootstrap script.
85172         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
85174         * build-aux/bootstrap (slurp): Work even in environments where
85175         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
85176         current code does not slurp files whose names start with ".", and
85177         this looks like it might be a troublesome area.
85179         2007-07-11  Jim Meyering  <jim@meyering.net>
85181         If there's a GPL vN copyright comment, require that N == 3.
85183         2007-07-08  Jim Meyering  <jim@meyering.net>
85185         Run the coreutils-specific code only if tests/Makefile.am.in exists.
85186         * build-aux/bootstrap (mam_template): Move definition out of loop.
85188         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
85190         * build-aux/bootstrap (symlink_to_dir): Rename function from
85191         symlink_to_gnulib.  Add a directory parameter.  Update all
85192         callers.
85193         (cp_mark_as_generated): Also check for -- and link to -- files in
85194         gl/.
85196         2007-07-08  Jim Meyering  <jim@meyering.net>
85198         Adapt to deeper hierarchy in gnulib.
85199         * build-aux/bootstrap (symlink_to_dir): If the destination
85200         directory doesn't exist, create it. This is required at least for
85201         "lib/uniwidth/cjk.h".
85203         2007-05-15  Jim Meyering  <jim@meyering.net>
85205         * build-aux/bootstrap: Now that generated Makefile.am files
85206         are no longer under version control, they must be created at
85207         bootstrap time.
85209 2007-08-14  Ben Pfaff  <blp@gnu.org>
85211         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
85213 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
85215         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
85216         given the changes below.
85217         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
85218         even on hosts that have padding bits beyond the supported 64.
85220 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
85222         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
85223         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
85224         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
85225         depends on it.
85226         (xstrtol_error): Remove.
85227         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
85228         but with a different signature.
85229         (ATTRIBUTE_NORETURN, __attribute__): New macros.
85230         * lib/xstrtol-error.c: Include exitfail.h.
85231         (xstrtol_fatal): New function, with a different signature from the
85232         old xstrtol_error, so that the caller need not worry about passing
85233         in an exit status, or about storage management of the option argument.
85234         (xstrtol_error): Now a static function.  Redo signature to
85235         implement xstrtol_fatal.  Output the correct number of hyphens in
85236         front of the option so that the caller need not worry about
85237         storage management.
85238         (N_): New macro.
85239         (_): Remove; not used now.
85240         * modules/xstrtol: Depend on getopt.
85241         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
85242         of old STRTOL_FATAL_ERROR macro.
85243         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
85244         of test program.
85245         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
85246         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
85248 2007-08-08  Eric Blake  <ebb9@byu.net>
85250         * lib/xstrtol-error.c: Add missing include.
85252         Move xstrtol messages into gnulib domain, when --pobase is used.
85253         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
85254         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
85255         * modules/xstrtol (Files): Distribute new file.
85256         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
85257         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
85258         * tests/test-xstrtol.c: ...into new file.
85259         * tests/test-xstrtoul.c: Also test xstrtoul.
85260         * tests/test-xstrtoimax.c: Also test xstrtoimax.
85261         * tests/test-xstrtoumax.c: Also test xstrtoumax.
85262         * tests/test-xstrtol.sh: Drive the tests.
85263         * tests/test-xstrtoimax.sh: Likewise.
85264         * tests/test-xstrtoumax.sh: Likewise.
85265         * modules/xstrtol-tests: New module.
85266         * modules/xstrtoimax-tests: Likewise.
85267         * modules/xstrtoumax-tests: Likewise.
85269 2007-08-08  Jim Meyering  <jim@meyering.net>
85271         New function: mfile_name_concat.
85272         * lib/filenamecat.c (mfile_name_concat): New function, just like
85273         file_name_concat, but return NULL upon failure rather than exiting
85274         with a diagnostic.
85275         * lib/filenamecat.h: Declare it.
85277 2007-08-07  Bruno Haible  <bruno@clisp.org>
85279         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
85280         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
85281         warning from gcc.
85282         Reported by Eric Blake.
85284 2007-08-07  Simon Josefsson  <simon@josefsson.org>
85286         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
85287         * modules/crypto/arcfour (License): Likewise.
85288         * modules/crypto/des-tests (License): Likewise.
85289         * modules/crypto/gc-arctwo-tests (License): Likewise.
85290         * modules/crypto/gc-des-tests (License): Likewise.
85291         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
85292         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
85293         * modules/crypto/gc-md2-tests (License): Likewise.
85294         * modules/crypto/gc-md4-tests (License): Likewise.
85295         * modules/crypto/gc-md5-tests (License): Likewise.
85296         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
85297         * modules/crypto/gc-rijndael-tests (License): Likewise.
85298         * modules/crypto/gc-sha1-tests (License): Likewise.
85299         * modules/crypto/gc-tests (License): Likewise.
85300         * modules/crypto/hmac-md5 (License): Likewise.
85301         * modules/crypto/hmac-sha1 (License): Likewise.
85302         * modules/crypto/md2-tests (License): Likewise.
85303         * modules/crypto/md4-tests (License): Likewise.
85304         * modules/crypto/md5 (License): Likewise.
85305         * modules/crypto/rijndael (License): Likewise.
85306         * modules/crypto/sha1 (License): Likewise.
85307         * modules/memxor (License): Likewise.
85309 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
85310         and Bruno Haible  <bruno@clisp.org>
85312         * NEWS: Describe interface changes to human, xstrtol.
85313         * lib/human.h: Include <xstrtol.h>.
85314         (human_options): Return enum strtol_error, not int.  Remove
85315         bool arg; take int * instead.
85316         * lib/human.c: Don't include "gettext.h".
85317         (_): Remove; no longer used.
85318         Don't include <xstrtol.h>, since human.h does it.
85319         (human_options): Adjust to abovementioned interface changes.
85320         Do not report error to stderr; that's now the caller's
85321         responsibility.
85322         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
85323         interface change.
85324         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
85325         Str, Argument_type_string.  All uses changed.  Put " argument"
85326         in diagnostics to make them clearer.  Change wording of suffix
85327         message for clarity.
85328         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
85329         Argument_type_string.
85330         (STRTOL_FATAL_WARN): Remove; no longer used.
85331         * modules/human (Depends-on): Remove gettext-h.
85333 2007-08-06  Simon Josefsson  <simon@josefsson.org>
85335         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
85337 2007-07-31  Bruno Haible  <bruno@clisp.org>
85339         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
85340         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
85341         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
85343 2007-07-31  Bruno Haible  <bruno@clisp.org>
85345         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
85346         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
85348 2007-07-30  Bruno Haible  <bruno@clisp.org>
85350         * modules/base64 (License): Use the synonymous term "LGPLv2+".
85351         * modules/c-ctype (License): Likewise.
85352         * modules/c-strcase (License): Likewise.
85353         * modules/check-version (License): Likewise.
85354         * modules/iconv (License): Likewise.
85355         * modules/iconv_open (License): Likewise.
85356         * modules/read-file (License): Likewise.
85357         * modules/striconv (License): Likewise.
85358         * modules/strverscmp (License): Likewise.
85359         * modules/vasprintf (License): Likewise.
85360         * modules/crypto/des (License): Likewise.
85361         * modules/crypto/gc (License): Likewise.
85362         * modules/crypto/gc-arcfour (License): Likewise.
85363         * modules/crypto/gc-arctwo (License): Likewise.
85364         * modules/crypto/gc-des (License): Likewise.
85365         * modules/crypto/gc-hmac-md5 (License): Likewise.
85366         * modules/crypto/gc-hmac-sha1 (License): Likewise.
85367         * modules/crypto/gc-md2 (License): Likewise.
85368         * modules/crypto/gc-md4 (License): Likewise.
85369         * modules/crypto/gc-md5 (License): Likewise.
85370         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
85371         * modules/crypto/gc-random (License): Likewise.
85372         * modules/crypto/gc-rijndael (License): Likewise.
85373         * modules/crypto/gc-sha1 (License): Likewise.
85374         * modules/crypto/md2 (License): Likewise.
85375         * modules/crypto/md4 (License): Likewise.
85377 2007-07-30  Jim Meyering  <jim@meyering.net>
85379         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
85380         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
85381         it has valid stat data.  This bug would cause du not to count the
85382         sizes of inaccessible directories.
85383         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
85384         in <http://bugzilla.redhat.com/250077>.
85386 2007-07-25  Peter O'Gorman  <peter@pogma.com>
85387             Bruno Haible  <bruno@clisp.org>
85389         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
85390         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
85391         #include_next, gives a diagnostic about it, but reports no error in
85392         the exit code.
85393         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
85395 2007-07-24  Ben Pfaff  <blp@gnu.org>
85397         Improve name: "count-one-bits" is better than "popcount".
85398         * MODULES.html.sh: Update name.
85399         * lib/popcount.h: Renamed lib/count-one-bits.h.
85400         (popcount): Renamed count_one_bits.
85401         (popcountl): Renamed count_one_bits_l.
85402         (popcountll): Renamed count_one_bits_ll.
85403         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
85404         * modules/popcount: Renamed module/count-one-bits.
85405         * modules/popcount-tests: Renamed module/count-one-bits-tests.
85406         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
85408 2007-07-23  Ben Pfaff  <blp@gnu.org>
85410         * lib/popcount.h (popcount32): Reduce size of constants, to allow
85411         better code generation, and add U to large constants to avoid
85412         warnings, in non-GCC case.
85413         Suggested by Bruno Haible.
85415 2007-07-23  Ben Pfaff  <blp@gnu.org>
85417         * lib/popcount.h: Use verify_true instead of if...abort.
85418         * modules/popcount: Depend on verify module.
85419         Suggested by Jim Meyering.
85421 2007-07-23  Bruno Haible  <bruno@clisp.org>
85423         * gnulib-tool (func_import): Create a .cvsignore file also when the
85424         directory is not yet in CVS but the toplevel directory is. When
85425         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
85426         Reported by Karl Berry.
85428 2007-07-22  Ben Pfaff  <blp@gnu.org>
85430         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
85431         case.
85432         Suggested by Eric Blake.
85434 2007-07-22  Ben Pfaff  <blp@gnu.org>
85436         New module: popcount.
85437         * MODULES.html.sh: Add popcount.
85438         * modules/popcount: New file.
85439         * modules/popcount-tests: New file.
85440         * tests/test-popcount.c: New file.
85441         * lib/popcount.h: New file.
85442         * m4/popcount.m4: New file.
85444 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
85446         * build-aux/announce-gen: Update to GPLv3.
85448         * build-aux/config.guess: Update from config.
85450 2007-07-21  Bruno Haible  <bruno@clisp.org>
85452         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
85453         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
85455 2007-07-20  Jim Meyering  <jim@meyering.net>
85457         * check-module: Diagnose a self-dependency.
85459 2007-07-19  Bruno Haible  <bruno@clisp.org>
85461         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
85462         empty.
85463         Reported by Eric Blake.
85465 2007-07-18  Bruno Haible  <bruno@clisp.org>
85467         * gnulib-tool: New options --po-base, --po-domain.
85468         (func_usage): Document them.
85469         (pobase, po_domain): New variables.
85470         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
85471         DEFAULT_TEXT_DOMAIN.
85472         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
85473         (func_import): Consider pobase and po_domain. Create a po/ directory.
85474         (func_create_testdir): Set pobase and po_domain to empty.
85475         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
85476         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
85478 2007-07-18  Bruno Haible  <bruno@clisp.org>
85480         * gnulib-tool (func_get_automake_snippet): Synthesize also an
85481         EXTRA_DIST augmentation for files in build-aux/.
85483 2007-07-16  Bruno Haible  <bruno@clisp.org>
85485         * modules/lseek (License): Use the synonymous term "LGPLv2+".
85486         * modules/getdelim (License): Likewise.
85488 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
85490         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
85491         * modules/d-type (License): Likewise.
85492         * modules/extensions (License): Likewise.
85493         * modules/fnmatch (License): Likewise.
85494         * modules/fseeko (License): Likewise.
85495         * modules/getaddrinfo (License): Likewise.
85496         * modules/getline (License): Likewise.
85497         * modules/getlogin_r (License): Likewise.
85498         * modules/getpass (License): Likewise.
85499         * modules/gettimeofday (License): Likewise.
85500         * modules/glob (License): Likewise.
85501         * modules/inet_ntop (License): Likewise.
85502         * modules/malloc (License): Likewise.
85503         * modules/malloca (License): Likewise.
85504         * modules/memmem (License): Likewise.
85505         * modules/mempcpy (License): Likewise.
85506         * modules/memset (License): Likewise.
85507         * modules/minmax (License): Likewise.
85508         * modules/mktime (License): Likewise.
85509         * modules/netinet_in (License): Likewise.
85510         * modules/pathmax (License): Likewise.
85511         * modules/poll (License): Likewise.
85512         * modules/regex (License): Likewise.
85513         * modules/snprintf (License): Likewise.
85514         * modules/stdbool (License): Likewise.
85515         * modules/stdint (License): Likewise.
85516         * modules/stdio (License): Likewise.
85517         * modules/strcase (License): Likewise.
85518         * modules/strcasestr (License): Likewise.
85519         * modules/strdup (License): Likewise.
85520         * modules/string (License): Likewise.
85521         * modules/strndup (License): Likewise.
85522         * modules/strnlen (License): Likewise.
85523         * modules/strpbrk (License): Likewise.
85524         * modules/strptime (License): Likewise.
85525         * modules/strsep (License): Likewise.
85526         * modules/sys_select (License): Likewise.
85527         * modules/sys_socket (License): Likewise.
85528         * modules/sys_stat (License): Likewise.
85529         * modules/sys_time (License): Likewise.
85530         * modules/time (License): Likewise.
85531         * modules/time_r (License): Likewise.
85532         * modules/timegm (License): Likewise.
85533         * modules/unistd (License): Likewise.
85534         * modules/vsnprintf (License): Likewise.
85535         * modules/wctype (License): Likewise.
85537 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85539         * modules/argz (License): LGPLv2+.
85541 2007-07-15  Karl Berry  <karl@gnu.org>
85543         * doc/gnulib.texi: revise node structure per new fdl.texi.
85545 2007-07-14  Bruno Haible  <bruno@clisp.org>
85547         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
85548         the output file.
85549         * lib/uniname/uninames.h: Regenerated.
85551 2007-07-14  Karl Berry  <karl@gnu.org>
85553         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
85554         omitting sectioning and index commands.
85556 2007-07-13  Bruno Haible  <bruno@clisp.org>
85558         New gnulib-tool option --more-symlinks.
85559         * gnulib-tool (func_usage): Document --more-symlinks.
85560         (do_copyrights): New variable.
85561         Recognize option --more-symlinks.
85562         (func_import): Don't add a copyright notice transform to
85563         sed_transform_lib_file if do_copyrights is empty.
85565 2007-07-13  Bruno Haible  <bruno@clisp.org>
85567         * lib/vasnprintf.c (decimal_point_char): Define also if
85568         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
85569         && !NEED_PRINTF_DIRECTIVE_A.
85570         Reported by Clemens Koller <clemens.koller@anagramm.de> via
85571         Gary V. Vaughan <gary@gnu.org>.
85573 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
85575         * lib/inttypes_.h: Undo previous change, since it was fixed
85576         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
85578 2007-07-13  Bruno Haible  <bruno@clisp.org>
85580         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
85581         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
85583 2007-07-13  Jim Meyering  <jim@meyering.net>
85585         df: Don't fail for Tru64's "file-on-file mount".
85586         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
85587         so we fall through and use statfs instead.  Details here:
85588         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
85589         Reported by Albert Chin.
85591 2007-07-13  Bruno Haible  <bruno@clisp.org>
85593         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
85594         * modules/configmake (License): Likewise.
85595         * modules/gettext (License): Likewise.
85596         * modules/gettext-h (License): Likewise.
85597         * modules/include_next (License): Likewise.
85598         * modules/link-warning (License): Likewise.
85599         * modules/localcharset (License): Likewise.
85600         * modules/localename (License): Likewise.
85601         * modules/lock (License): Likewise.
85602         * modules/relocatable-lib-lgpl (License): Likewise.
85603         * modules/size_max (License): Likewise.
85604         * modules/vasnprintf (License): Likewise.
85605         * modules/wchar (License): Likewise.
85606         * modules/xsize (License): Likewise.
85608 2007-07-13  Bruno Haible  <bruno@clisp.org>
85610         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
85611         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
85613 2007-07-12  Bruno Haible  <bruno@clisp.org>
85615         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
85616         in the modules files.
85618 2007-07-11  Karl Berry  <karl@gnu.org>
85620         * MODULES.html.sh (func_module): use
85621          sed -e '\|^'"${includefile}"'$|d'
85622          instead of /.../d, to avoid errors on $includefile's containing /.
85624 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
85626         * gnulib-tool (func_import): Avoid duplication of --avoid
85627         statements
85628         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
85629         names to `_' in variable names.
85631 2007-07-10  Eric Blake  <ebb9@byu.net>
85633         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
85634         * NEWS: Document this change.
85636 2007-07-08  Bruno Haible  <bruno@clisp.org>
85638         Update to Unicode 5.0.
85639         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
85640         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
85641         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
85642         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
85643         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
85644         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
85645         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
85646         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
85647         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
85648         U+10A3F, U+1D242..U+1D244.
85649         (nonspacing_table_ind): Update.
85650         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
85651         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
85653 2007-07-08  Bruno Haible  <bruno@clisp.org>
85655         Update to Unicode 5.0.
85656         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
85657         code transform. Extend the name index field of unicode_name_to_code and
85658         unicode_code_to_name from 16 to 24 bits.
85659         * lib/uniname/uniname.c (unicode_character_name,
85660         unicode_name_character): Add the range 0x12xxx to the code transform.
85661         * lib/uniname/uninames.h: Regenerated.
85662         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
85664 2007-07-07  Bruno Haible  <bruno@clisp.org>
85666         * modules/wcwidth-tests: New file.
85667         * tests/test-wcwidth.c: New file.
85669         Work around MacOS X wcwidth() bug.
85670         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
85671         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
85672         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
85673         original wcwidth in non-UTF-8 locales.
85674         * modules/wcwidth (Depends-on): Add localcharset, streq,
85675         uniwidth/width.
85676         * doc/functions/wcwidth.texi: Update.
85678 2007-07-07  Bruno Haible  <bruno@clisp.org>
85680         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
85681         (wcwidth): New declaration.
85682         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
85683         macros.
85684         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
85685         here. Prepare for creating <wchar.h> unconditionally.
85686         * modules/wchar (Depends-on): Add link-warning.
85687         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
85688         REPLACE_WCWIDTH, and GL_LINK_WARNING.
85689         * lib/wcwidth.h: Remove file.
85690         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
85691         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
85692         * modules/wcwidth (Files): Remove lib/wcwidth.h.
85693         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
85694         (Include): Replace wcwidth.h with <wchar.h>.
85695         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
85696         * lib/mbchar.h: Don't include wcwidth.h.
85697         * lib/mbswidth.c: Likewise.
85698         * NEWS: Mention the change.
85700 2007-07-07  Bruno Haible  <bruno@clisp.org>
85702         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
85703         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
85704         definition with an external declaration.
85705         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
85706         defined as a function. Remove AC_C_INLINE requirement.
85707         * modules/wcwidth (Files): Add lib/wcwidth.c.
85708         (Makefile.am): Remove redundant statement.
85710 2007-07-07  Bruno Haible  <bruno@clisp.org>
85712         * MODULES.html.sh (Unicode string functions): Add the new modules.
85714         * tests/uniwidth/test-u32-strwidth.c: New file.
85715         * modules/uniwidth/u32-strwidth-tests: New file.
85717         * lib/uniwidth/u32-strwidth.c: New file.
85718         * modules/uniwidth/u32-strwidth: New file.
85720         * tests/uniwidth/test-u16-strwidth.c: New file.
85721         * modules/uniwidth/u16-strwidth-tests: New file.
85723         * lib/uniwidth/u16-strwidth.c: New file.
85724         * modules/uniwidth/u16-strwidth: New file.
85726         * tests/uniwidth/test-u8-strwidth.c: New file.
85727         * modules/uniwidth/u8-strwidth-tests: New file.
85729         * lib/uniwidth/u8-strwidth.c: New file.
85730         * modules/uniwidth/u8-strwidth: New file.
85732         * tests/uniwidth/test-u32-width.c: New file.
85733         * modules/uniwidth/u32-width-tests: New file.
85735         * lib/uniwidth/u32-width.c: New file.
85736         * modules/uniwidth/u32-width: New file.
85738         * tests/uniwidth/test-u16-width.c: New file.
85739         * modules/uniwidth/u16-width-tests: New file.
85741         * lib/uniwidth/u16-width.c: New file.
85742         * modules/uniwidth/u16-width: New file.
85744         * tests/uniwidth/test-u8-width.c: New file.
85745         * modules/uniwidth/u8-width-tests: New file.
85747         * lib/uniwidth/u8-width.c: New file.
85748         * modules/uniwidth/u8-width: New file.
85750         * tests/uniwidth/test-uc_width.c: New file.
85751         * modules/uniwidth/width-tests: New file.
85753         * lib/uniwidth/width.c: New file, from GNU libiconv.
85754         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
85755         * modules/uniwidth/width: New file.
85757         * lib/uniwidth.h: New file, from GNU libiconv.
85758         * modules/uniwidth/base: New file.
85760 2007-07-07  Bruno Haible  <bruno@clisp.org>
85762         * lib/uniname.h: New file, from GNU gettext.
85763         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
85764         * lib/uniname/uninames.h: New file, from GNU gettext.
85765         * lib/uniname/uniname.c: New file, from GNU gettext.
85766         * tests/uniname/test-uninames.sh: New file.
85767         * tests/uniname/test-uninames.c: New file, from GNU gettext.
85768         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
85769         * modules/uniname/base: New file.
85770         * modules/uniname/uniname: New file.
85771         * modules/uniname/uniname-tests: New file.
85772         * MODULES.html.sh (Unicode string functions): Add the new modules.
85774 2007-07-06  Bruno Haible  <bruno@clisp.org>
85776         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
85778 2007-07-06  Bruno Haible  <bruno@clisp.org>
85780         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
85781         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
85782         includes <cygwin/sys_time.h> which includes <sys/select.h> which
85783         include <sys/time.h>.
85784         Reported by Eric Blake.
85786 2007-07-06  Eric Blake  <ebb9@byu.net>
85788         Fix testing canonicalize on cygwin.
85789         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
85790         Revert patch from 2007-06-19.
85791         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
85792         canonicalize module is also in use.
85793         * tests/test-canonicalize.c: New file.
85794         * tests/test-canonicalize.sh: Likewise.
85795         * modules/canonicalize-tests: Likewise.
85797 2007-07-06  Jim Meyering  <jim@meyering.net>
85799         * lib/getugroups.c (getugroups): Detect getgrent failure.
85800         Adjust comment to reflect reality: this function may return -1.
85802 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
85804         * build-aux/bootstrap (TP_URL,get_translations): Update to use
85805         the new TP address.
85806         (usage): Fix typo
85807         (gnulib_mk): New variable.
85809 2007-07-05  Jim Meyering  <jim@meyering.net>
85811         Don't let endgrent clobber errno, no matter how improbable.
85812         * lib/getugroups.c (getugroups): Save and restore errno around
85813         endgrent call.
85815         Close the group DB even when failing with 2^31 or more members.
85816         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
85818 2007-07-04  Jim Meyering  <jim@meyering.net>
85820         * lib/getugroups.h: New file.
85821         * lib/getugroups.c: Include "getugroups.h".
85822         Remove uses of "register" keyword.
85823         Move local variable, "cp", down into scope where used.
85824         Give "username" parameter the "const" attribute.
85825         * modules/getugroups (Files): Add lib/getugroups.h
85827 2007-07-04  Karl Berry  <karl@gnu.org>
85829         * MODULES.html.sh (func_all_modules): Complete rename of
85830         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
85832 2007-07-02  Bruno Haible  <bruno@clisp.org>
85834         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
85835         mode, when inttypes.h comes from gnulib.
85836         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
85838 2007-07-02  Simon Josefsson  <simon@josefsson.org>
85840         * NEWS: Mention lgpl module name change.
85842         * modules/lgpl-2.1: Renamed from lgpl.
85844         * NEWS: Mention gpl module name change.
85846         * modules/gpl-3.0: New file, based on gpl-2.0.
85848         * modules/gpl-2.0: Renamed from gpl.
85850         * modules/gpl: Fix filename, doc/gpl.texi is now found at
85851         doc/gpl-2.0.texi.
85853 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
85855         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
85856         #define __STDC_LIMIT_MACROS temporarily while including
85857         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
85858         Problem reported by Joel E. Denny in
85859         <http://lists.gnu.org/r/bug-gnulib/2007-07/msg00008.html>.
85861 2007-07-01  Bruno Haible  <bruno@clisp.org>
85863         * lib/unistdio.h: New file.
85864         * lib/unistdio/u-asnprintf.h: New file.
85865         * lib/unistdio/u-asprintf.h: New file.
85866         * lib/unistdio/u-printf-args.c: New file.
85867         * lib/unistdio/u-printf-args.h: New file.
85868         * lib/unistdio/u-printf-parse.h: New file.
85869         * lib/unistdio/u-snprintf.h: New file.
85870         * lib/unistdio/u-sprintf.h: New file.
85871         * lib/unistdio/u-vasprintf.h: New file.
85872         * lib/unistdio/u-vsnprintf.h: New file.
85873         * lib/unistdio/u-vsprintf.h: New file.
85874         * lib/unistdio/ulc-asnprintf.c: New file.
85875         * lib/unistdio/ulc-asprintf.c: New file.
85876         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
85877         * lib/unistdio/ulc-printf-parse.c: New file.
85878         * lib/unistdio/ulc-snprintf.c: New file.
85879         * lib/unistdio/ulc-sprintf.c: New file.
85880         * lib/unistdio/ulc-vasnprintf.c: New file.
85881         * lib/unistdio/ulc-vasprintf.c: New file.
85882         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
85883         * lib/unistdio/ulc-vsnprintf.c: New file.
85884         * lib/unistdio/ulc-vsprintf.c: New file.
85885         * lib/unistdio/u8-asnprintf.c: New file.
85886         * lib/unistdio/u8-asprintf.c: New file.
85887         * lib/unistdio/u8-printf-parse.c: New file.
85888         * lib/unistdio/u8-snprintf.c: New file.
85889         * lib/unistdio/u8-sprintf.c: New file.
85890         * lib/unistdio/u8-vasnprintf.c: New file.
85891         * lib/unistdio/u8-vasprintf.c: New file.
85892         * lib/unistdio/u8-vsnprintf.c: New file.
85893         * lib/unistdio/u8-vsprintf.c: New file.
85894         * lib/unistdio/u8-u8-asnprintf.c: New file.
85895         * lib/unistdio/u8-u8-asprintf.c: New file.
85896         * lib/unistdio/u8-u8-snprintf.c: New file.
85897         * lib/unistdio/u8-u8-sprintf.c: New file.
85898         * lib/unistdio/u8-u8-vasnprintf.c: New file.
85899         * lib/unistdio/u8-u8-vasprintf.c: New file.
85900         * lib/unistdio/u8-u8-vsnprintf.c: New file.
85901         * lib/unistdio/u8-u8-vsprintf.c: New file.
85902         * lib/unistdio/u16-asnprintf.c: New file.
85903         * lib/unistdio/u16-asprintf.c: New file.
85904         * lib/unistdio/u16-printf-parse.c: New file.
85905         * lib/unistdio/u16-snprintf.c: New file.
85906         * lib/unistdio/u16-sprintf.c: New file.
85907         * lib/unistdio/u16-vasnprintf.c: New file.
85908         * lib/unistdio/u16-vasprintf.c: New file.
85909         * lib/unistdio/u16-vsnprintf.c: New file.
85910         * lib/unistdio/u16-vsprintf.c: New file.
85911         * lib/unistdio/u16-u16-asnprintf.c: New file.
85912         * lib/unistdio/u16-u16-asprintf.c: New file.
85913         * lib/unistdio/u16-u16-snprintf.c: New file.
85914         * lib/unistdio/u16-u16-sprintf.c: New file.
85915         * lib/unistdio/u16-u16-vasnprintf.c: New file.
85916         * lib/unistdio/u16-u16-vasprintf.c: New file.
85917         * lib/unistdio/u16-u16-vsnprintf.c: New file.
85918         * lib/unistdio/u16-u16-vsprintf.c: New file.
85919         * lib/unistdio/u32-asnprintf.c: New file.
85920         * lib/unistdio/u32-asprintf.c: New file.
85921         * lib/unistdio/u32-printf-parse.c: New file.
85922         * lib/unistdio/u32-snprintf.c: New file.
85923         * lib/unistdio/u32-sprintf.c: New file.
85924         * lib/unistdio/u32-vasnprintf.c: New file.
85925         * lib/unistdio/u32-vasprintf.c: New file.
85926         * lib/unistdio/u32-vsnprintf.c: New file.
85927         * lib/unistdio/u32-vsprintf.c: New file.
85928         * lib/unistdio/u32-u32-asnprintf.c: New file.
85929         * lib/unistdio/u32-u32-asprintf.c: New file.
85930         * lib/unistdio/u32-u32-snprintf.c: New file.
85931         * lib/unistdio/u32-u32-sprintf.c: New file.
85932         * lib/unistdio/u32-u32-vasnprintf.c: New file.
85933         * lib/unistdio/u32-u32-vasprintf.c: New file.
85934         * lib/unistdio/u32-u32-vsnprintf.c: New file.
85935         * lib/unistdio/u32-u32-vsprintf.c: New file.
85936         * tests/unistdio/test-ulc-asnprintf1.c: New file.
85937         * tests/unistdio/test-ulc-asnprintf1.h: New file.
85938         * tests/unistdio/test-ulc-printf1.h: New file.
85939         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
85940         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
85941         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
85942         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
85943         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
85944         * tests/unistdio/test-ulc-vasprintf1.c: New file.
85945         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
85946         * tests/unistdio/test-ulc-vsprintf1.c: New file.
85947         * tests/unistdio/test-u8-asnprintf1.c: New file.
85948         * tests/unistdio/test-u8-asnprintf1.h: New file.
85949         * tests/unistdio/test-u8-printf1.h: New file.
85950         * tests/unistdio/test-u8-vasnprintf1.c: New file.
85951         * tests/unistdio/test-u8-vasnprintf2.c: New file.
85952         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
85953         * tests/unistdio/test-u8-vasnprintf3.c: New file.
85954         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
85955         * tests/unistdio/test-u8-vasprintf1.c: New file.
85956         * tests/unistdio/test-u8-vsnprintf1.c: New file.
85957         * tests/unistdio/test-u8-vsprintf1.c: New file.
85958         * tests/unistdio/test-u16-asnprintf1.c: New file.
85959         * tests/unistdio/test-u16-asnprintf1.h: New file.
85960         * tests/unistdio/test-u16-printf1.h: New file.
85961         * tests/unistdio/test-u16-vasnprintf1.c: New file.
85962         * tests/unistdio/test-u16-vasnprintf2.c: New file.
85963         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
85964         * tests/unistdio/test-u16-vasnprintf3.c: New file.
85965         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
85966         * tests/unistdio/test-u16-vasprintf1.c: New file.
85967         * tests/unistdio/test-u16-vsnprintf1.c: New file.
85968         * tests/unistdio/test-u16-vsprintf1.c: New file.
85969         * tests/unistdio/test-u32-asnprintf1.c: New file.
85970         * tests/unistdio/test-u32-asnprintf1.h: New file.
85971         * tests/unistdio/test-u32-printf1.h: New file.
85972         * tests/unistdio/test-u32-vasnprintf1.c: New file.
85973         * tests/unistdio/test-u32-vasnprintf2.c: New file.
85974         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
85975         * tests/unistdio/test-u32-vasnprintf3.c: New file.
85976         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
85977         * tests/unistdio/test-u32-vasprintf1.c: New file.
85978         * tests/unistdio/test-u32-vsnprintf1.c: New file.
85979         * tests/unistdio/test-u32-vsprintf1.c: New file.
85980         * modules/unistdio/base: New file.
85981         * modules/unistdio/u-printf-args: New file.
85982         * modules/unistdio/ulc-asnprintf: New file.
85983         * modules/unistdio/ulc-asprintf: New file.
85984         * modules/unistdio/ulc-fprintf: New file.
85985         * modules/unistdio/ulc-printf-parse: New file.
85986         * modules/unistdio/ulc-snprintf: New file.
85987         * modules/unistdio/ulc-sprintf: New file.
85988         * modules/unistdio/ulc-vasnprintf: New file.
85989         * modules/unistdio/ulc-vasprintf: New file.
85990         * modules/unistdio/ulc-vfprintf: New file.
85991         * modules/unistdio/ulc-vsnprintf: New file.
85992         * modules/unistdio/ulc-vsprintf: New file.
85993         * modules/unistdio/u8-asnprintf: New file.
85994         * modules/unistdio/u8-asprintf: New file.
85995         * modules/unistdio/u8-printf-parse: New file.
85996         * modules/unistdio/u8-snprintf: New file.
85997         * modules/unistdio/u8-sprintf: New file.
85998         * modules/unistdio/u8-vasnprintf: New file.
85999         * modules/unistdio/u8-vasprintf: New file.
86000         * modules/unistdio/u8-vsnprintf: New file.
86001         * modules/unistdio/u8-vsprintf: New file.
86002         * modules/unistdio/u8-u8-asnprintf: New file.
86003         * modules/unistdio/u8-u8-asprintf: New file.
86004         * modules/unistdio/u8-u8-snprintf: New file.
86005         * modules/unistdio/u8-u8-sprintf: New file.
86006         * modules/unistdio/u8-u8-vasnprintf: New file.
86007         * modules/unistdio/u8-u8-vasprintf: New file.
86008         * modules/unistdio/u8-u8-vsnprintf: New file.
86009         * modules/unistdio/u8-u8-vsprintf: New file.
86010         * modules/unistdio/u16-asnprintf: New file.
86011         * modules/unistdio/u16-asprintf: New file.
86012         * modules/unistdio/u16-printf-parse: New file.
86013         * modules/unistdio/u16-snprintf: New file.
86014         * modules/unistdio/u16-sprintf: New file.
86015         * modules/unistdio/u16-vasnprintf: New file.
86016         * modules/unistdio/u16-vasprintf: New file.
86017         * modules/unistdio/u16-vsnprintf: New file.
86018         * modules/unistdio/u16-vsprintf: New file.
86019         * modules/unistdio/u16-u16-asnprintf: New file.
86020         * modules/unistdio/u16-u16-asprintf: New file.
86021         * modules/unistdio/u16-u16-snprintf: New file.
86022         * modules/unistdio/u16-u16-sprintf: New file.
86023         * modules/unistdio/u16-u16-vasnprintf: New file.
86024         * modules/unistdio/u16-u16-vasprintf: New file.
86025         * modules/unistdio/u16-u16-vsnprintf: New file.
86026         * modules/unistdio/u16-u16-vsprintf: New file.
86027         * modules/unistdio/u32-asnprintf: New file.
86028         * modules/unistdio/u32-asprintf: New file.
86029         * modules/unistdio/u32-printf-parse: New file.
86030         * modules/unistdio/u32-snprintf: New file.
86031         * modules/unistdio/u32-sprintf: New file.
86032         * modules/unistdio/u32-vasnprintf: New file.
86033         * modules/unistdio/u32-vasprintf: New file.
86034         * modules/unistdio/u32-vsnprintf: New file.
86035         * modules/unistdio/u32-vsprintf: New file.
86036         * modules/unistdio/u32-u32-asnprintf: New file.
86037         * modules/unistdio/u32-u32-asprintf: New file.
86038         * modules/unistdio/u32-u32-snprintf: New file.
86039         * modules/unistdio/u32-u32-sprintf: New file.
86040         * modules/unistdio/u32-u32-vasnprintf: New file.
86041         * modules/unistdio/u32-u32-vasprintf: New file.
86042         * modules/unistdio/u32-u32-vsnprintf: New file.
86043         * modules/unistdio/u32-u32-vsprintf: New file.
86044         * modules/unistdio/ulc-asnprintf-tests: New file.
86045         * modules/unistdio/ulc-vasnprintf-tests: New file.
86046         * modules/unistdio/ulc-vasprintf-tests: New file.
86047         * modules/unistdio/ulc-vsnprintf-tests: New file.
86048         * modules/unistdio/ulc-vsprintf-tests: New file.
86049         * modules/unistdio/u8-asnprintf-tests: New file.
86050         * modules/unistdio/u8-vasnprintf-tests: New file.
86051         * modules/unistdio/u8-vasprintf-tests: New file.
86052         * modules/unistdio/u8-vsnprintf-tests: New file.
86053         * modules/unistdio/u8-vsprintf-tests: New file.
86054         * modules/unistdio/u16-asnprintf-tests: New file.
86055         * modules/unistdio/u16-vasnprintf-tests: New file.
86056         * modules/unistdio/u16-vasprintf-tests: New file.
86057         * modules/unistdio/u16-vsnprintf-tests: New file.
86058         * modules/unistdio/u16-vsprintf-tests: New file.
86059         * modules/unistdio/u32-asnprintf-tests: New file.
86060         * modules/unistdio/u32-vasnprintf-tests: New file.
86061         * modules/unistdio/u32-vasprintf-tests: New file.
86062         * modules/unistdio/u32-vsnprintf-tests: New file.
86063         * modules/unistdio/u32-vsprintf-tests: New file.
86064         * MODULES.html.sh (Unicode string functions): Add the new modules.
86066 2007-07-01  Bruno Haible  <bruno@clisp.org>
86068         * lib/sprintf.c (sprintf): Limit the available length estimation,
86069         to avoid address wraparound.
86070         * lib/vsprintf.c (vsprintf): Likewise.
86071         * modules/sprintf-posix (Dependencies): Add stdint.
86072         * modules/vsprintf-posix (Dependencies): Likewise.
86074 2007-07-01  Bruno Haible  <bruno@clisp.org>
86076         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
86077         Windows PATH as well. Conservative double-quoting. Comments.
86079 2007-07-01  Bruno Haible  <bruno@clisp.org>
86080             Eric Blake  <ebb9@byu.net>
86081             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86083         * gnulib-tool (self_abspathname): Fix algorithm to cope with
86084         empty components in $PATH, denoting '.'.
86086 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86088         * gnulib-tool: Fix indentation.
86089         (func_create_megatestdir): Likewise.
86090         Report by Bruno Haible.
86092 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86094         Sync from Automake.
86095         * build-aux/gnupload: Fix shell portability issues with for loops.
86096         Report by Karl Berry.
86098 2007-06-29  Simon Josefsson  <simon@josefsson.org>
86100         * build-aux/maint.mk (POURL): Use translationproject.org.
86102 2007-06-27  Simon Josefsson  <simon@josefsson.org>
86103             Bruno Haible  <bruno@clisp.org>
86105         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
86106         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
86107         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
86108         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
86109         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
86111 2007-06-27  Bruno Haible  <bruno@clisp.org>
86113         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
86114         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
86116 2007-06-26  Karl Berry  <karl@gnu.org>
86118         * MODULES.html.sh: remove xreadlink-with-size.
86120 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
86122         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
86123         method that I hope also handles the double-include problem noted
86124         by Bruno Haible in
86125         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00186.html>.
86127 2007-06-23  Bruno Haible  <bruno@clisp.org>
86129         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
86130         Don't let the 'mostlyclean' target fail if the last subdirectory could
86131         not be removed.
86132         Reported by Karl Berry.
86134 2007-06-23  Bruno Haible  <bruno@clisp.org>
86136         * gnulib-tool (echo): Add a speedier workaround for ksh.
86137         * tests/test-echo.sh: Likewise.
86139 2007-06-23  Bruno Haible  <bruno@clisp.org>
86141         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
86142         * tests/test-echo.sh: Likewise.
86144 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86146         * gnulib-tool (IFS): Initialize early, so we don't set it to
86147         empty later.
86148         (self_abspathname): Rewrite algorithm to set it, reindent.
86149         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
86150         (func_create_megatestdir): Merge some sed scripts.
86152 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
86154         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
86155         exposed by Sun Studio 11 cc on Solaris 8.
86157 2007-06-22  Bruno Haible  <bruno@clisp.org>
86159         * gnulib-tool (echo): Ensure the echo primitive does not interpret
86160         backslashes.
86161         * tests/test-echo.sh: New file.
86163 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86165         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
86166         simplify `sed_replace_build_aux' scripts, they are portable but
86167         echoing them with `echo' is not.
86168         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
86170 2007-06-21  Karl Berry  <karl@gnu.org>
86172         * config/srclist.txt: guess we can't handle the licenses via
86173         srclist at the moment.
86175 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
86177         * MODULES.html.sh: Add include_next.
86178         * modules/include_next: New file.
86180 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
86182         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
86183         INCLUDE_NEXT.
86184         (gl_CHECK_NEXT_HEADERS): New macro.
86185         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
86186         the obsolescent gl_ABSOLUTE_HEADER.
86187         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
86188         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
86189         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
86190         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
86191         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
86192         * m4/math_h.m4 (gl_MATH_H): Likewise.
86193         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
86194         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
86195         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
86196         * m4/stdint.m4 (gl_STDINT_H): Likewise.
86197         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
86198         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
86199         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
86200         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
86201         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
86202         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
86203         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
86204         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
86205         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
86206         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
86207         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
86208         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
86209         * m4/inttypes.m4 (gl_INTTYPES_H): Define
86210         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
86211         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
86212         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
86213         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
86214         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
86215         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
86216         * lib/float_.h: Likewise.
86217         * lib/inttypes_.h: Likewise.
86218         * lib/math_.h: Likewise.
86219         * lib/search_.h: Likewise.
86220         * lib/signal_.h: Likewise.
86221         * lib/stdint_.h: Likewise.
86222         * lib/stdio_.h: Likewise.
86223         * lib/stdlib_.h: Likewise.
86224         * lib/string_.h: Likewise.
86225         * lib/sys_stat_.h: Likewise.
86226         * lib/sys_time_.h: Likewise.
86227         * lib/time_.h: Likewise.
86228         * lib/unistd_.h: Likewise.
86229         * lib/wchar_.h: Likewise.
86230         * lib/wctype_.h: Likewise.
86231         * lib/dirent_.h: Likewise.
86232         * lib/iconv_.h: Likewise.
86233         * lib/locale_.h: Likewise.
86234         * lib/netinet_in_.h: Likewise.
86235         * lib/sys_select_.h: Likewise.
86236         * lib/sys_socket_.h: Likewise.
86237         * lib/sysexits_.h: Likewise.
86238         * modules/fcntl (Depends-on): Depend on include_next, not
86239         absolute_header.
86240         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
86241         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
86242         * modules/fchdir: Likewise.
86243         * modules/float: Likewise.
86244         * modules/iconv_open: Likewise.
86245         * modules/inttypes: Likewise.
86246         * modules/locale: Likewise.
86247         * modules/math: Likewise.
86248         * modules/netinet_in: Likewise.
86249         * modules/search: Likewise.
86250         * modules/signal: Likewise.
86251         * modules/stdint: Likewise.
86252         * modules/stdio: Likewise.
86253         * modules/stdlib: Likewise.
86254         * modules/string: Likewise.
86255         * modules/sys_select: Likewise.
86256         * modules/sys_socket: Likewise.
86257         * modules/sys_stat: Likewise.
86258         * modules/sys_time: Likewise.
86259         * modules/sysexits: Likewise.
86260         * modules/time: Likewise.
86261         * modules/unistd: Likewise.
86262         * modules/wchar: Likewise.
86263         * modules/wctype: Likewise.
86264         * modules/sys_stat: Change maintainer to "all".
86265         * modules/unistd: Likewise.
86267 2007-06-20  Karl Berry  <karl@gnu.org>
86269         * config/srclist.txt: track www changes in license files.
86271 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
86273         * build-aux/bootstrap: Remove stray dot.
86274         Make sure build_aux settings are honored when linking
86275         gnulib_extra_files.
86277 2007-06-19  Eric Blake  <ebb9@byu.net>
86279         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
86280         Allow compilation on cygwin.
86282 2007-06-19  Jim Meyering  <jim@meyering.net>
86284         xreadlink-with-size: Remove module.  No longer used.
86285         Ex-callers now use xreadlink or mreadlink-with-size.
86286         * modules/xreadlink-with-size: Remove module.
86287         * lib/xreadlink-with-size.c: Remove file.
86288         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
86289         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
86290         just before the function definition *is* accurate.
86292         Eliminate one way canonicalize_filename_mode could exit.
86293         * lib/canonicalize.c (canonicalize_filename_mode):
86294         Use mreadlink_with_size, not xreadlink_with_size.
86296 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
86298         Detect porting problems to FreeBSD/arm, which has time_t wider than
86299         long int.  Original problem reported for GNU diff by Xin Li in
86300         <http://lists.gnu.org/r/bug-gnu-utils/2007-06/msg00091.html>.
86301         * modules/getdate (Depends-on): Add intprops, verify.
86302         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
86303         is an integer type no wider than long int.
86305 2007-06-18  Jim Meyering  <jim@meyering.net>
86307         New module: mreadlink-with-size.
86308         * MODULES.html.sh: Add mreadlink-with-size.
86309         * modules/mreadlink-with-size: New module
86310         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
86311         not xreadlink-with-size.
86312         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
86314 2007-06-16  Bruno Haible  <bruno@clisp.org>
86316         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
86317         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
86318         Reported by Gary V. Vaughan <gary@gnu.org>.
86320 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
86322         Revamp lchown so that it lives in unistd.h where it belongs.
86323         * lib/lchown.h: Remove.
86324         * lib/dirchownmod.c: Don't include lib/lchown.h.
86325         * lib/fchownat.c: Likewise.
86326         * lib/openat.c: Likewise.
86327         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
86328         does not follow symlinks.
86329         (EOPNOTSUPP): Define if not defined.
86330         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
86331         is defined to 0.
86332         (lchown): New decl.
86333         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
86334         Do not check for lchown decl.
86335         Set REPLACE_LCHOWN.
86336         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
86337         REPLACE_LCHOWN.
86338         * modules/chown: Make it clear it follows symlinks.
86339         * modules/lchown: Make it clear it doesn't follow symlinks.
86340         (Files): Remove lib/lchown.h
86341         (Depends-on): Add unistd.
86342         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
86343         (Include): Include <unistd.h>, not "lchown.h".
86344         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
86345         REPLACE_LCHOWN.
86347 2007-06-15  Jim Meyering  <jim@meyering.net>
86349         Change license (GPL to LGPL) of fsusage and dependents.
86350         * modules/fsusage (License): Change to LGPL.
86351         * modules/full-read (License): Likewise.
86352         * modules/full-write (License): Likewise.
86353         * modules/safe-read (License): Likewise.
86354         * modules/safe-write (License): Likewise.
86356 2007-06-14  Ben Pfaff  <blp@gnu.org>
86358         Missing part of allocsa -> malloca transition.
86359         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
86360         gl_MALLOCA.
86362 2007-06-12  Bruno Haible  <bruno@clisp.org>
86364         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
86365         to ia64, x86_64, i386.
86366         Reported by Eric Blake.
86368 2007-06-12  Bruno Haible  <bruno@clisp.org>
86370         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
86371         cross-compiling to x86_64.
86373 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
86375         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
86376         glitch reported by Ralf Wildenhues in
86377         <http://lists.gnu.org/r/bug-gnulib/2007-06/msg00114.html>.
86379         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
86380         Vin Shelton.
86382 2007-06-11  Bruno Haible  <bruno@clisp.org>
86384         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
86385         replacement string.
86386         Reported by Eric Blake.
86388 2007-06-10  Bruno Haible  <bruno@clisp.org>
86390         Prepare vasnprintf code for use with Unicode strings.
86391         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
86392         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
86393         TYPE_U32_STRING.
86394         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
86395         a_u32_string variants.
86396         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
86397         * lib/printf-args.c: Don't include config.h and the specification
86398         header if PRINTF_FETCHARGS is already defined.
86399         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
86400         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
86401         TYPE_U16_STRING, TYPE_U32_STRING.
86402         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
86403         u16_directive, u16_directives, u32_directive, u32_directives): New
86404         types.
86405         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
86406         New declarations.
86407         * lib/printf-parse.c: Don't include config.h and the specification
86408         header if PRINTF_PARSE is already defined. Eliminate the set of
86409         parameters for WIDE_CHAR_VERSION; the user of this file must provide
86410         them now. Include c-ctype.h.
86411         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
86412         directive and CHAR_T_ONLY_ASCII.
86413         * lib/vasnprintf.c: Don't include config.h and the specification header
86414         if VASNPRINTF is already defined.
86415         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
86416         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
86417         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
86418         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
86419         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
86420         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
86421         code accordingly.
86422         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
86423         pad_ourselves also in this case, with the 'c' and 's' directives, and
86424         with a different notion of "width".
86425         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
86427 2007-06-10  Bruno Haible  <bruno@clisp.org>
86429         * modules/unistr/u32-mbsnlen: New file.
86430         * lib/unistr/u32-mbsnlen.c: New file.
86432         * modules/unistr/u16-mbsnlen: New file.
86433         * lib/unistr/u16-mbsnlen.c: New file.
86435         * modules/unistr/u8-mbsnlen: New file.
86436         * lib/unistr/u8-mbsnlen.c: New file.
86438         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
86439         declarations.
86441 2007-06-10  Bruno Haible  <bruno@clisp.org>
86443         * lib/string_.h (mbsnlen): New declaration.
86444         * lib/mbsnlen.c: New file.
86445         * m4/mbsnlen.m4: New file.
86446         * modules/mbsnlen: New file.
86447         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
86448         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
86449         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
86451 2007-06-10  Bruno Haible  <bruno@clisp.org>
86453         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
86455 2007-06-10  Bruno Haible  <bruno@clisp.org>
86457         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
86458         * lib/mbuiter.h: Likewise.
86460 2007-06-10  Bruno Haible  <bruno@clisp.org>
86462         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
86463         declaration.
86465 2007-06-10  Karl Berry  <karl@gnu.org>
86467         * config/srclist.txt: remove gettext entries, Bruno prefers
86468         to update individually.
86470 2007-06-10  Bruno Haible  <bruno@clisp.org>
86472         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
86473         'maxlen'. Ensure only length + width bytes are allocated, not
86474         length + 1 + width.
86476 2007-06-09  Bruno Haible  <bruno@clisp.org>
86478         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
86479         (CHAR_T): Remove macro.
86480         (VASNPRINTF): Update.
86482 2007-06-09  Bruno Haible  <bruno@clisp.org>
86484         * MODULES.html.sh (Unicode string functions): Add the new modules.
86486         * modules/uniconv/u32-conv-to-enc: New file.
86487         * lib/uniconv/u32-conv-to-enc.c: New file.
86488         * modules/uniconv/u32-conv-to-enc-tests: New file.
86489         * tests/uniconv/test-u32-conv-to-enc.c: New file.
86491         * modules/uniconv/u16-conv-to-enc: New file.
86492         * lib/uniconv/u16-conv-to-enc.c: New file.
86493         * lib/uniconv/u-conv-to-enc.h: New file.
86494         * modules/uniconv/u16-conv-to-enc-tests: New file.
86495         * tests/uniconv/test-u16-conv-to-enc.c: New file.
86497         * modules/uniconv/u8-conv-to-enc: New file.
86498         * lib/uniconv/u8-conv-to-enc.c: New file.
86499         * modules/uniconv/u8-conv-to-enc-tests: New file.
86500         * tests/uniconv/test-u8-conv-to-enc.c: New file.
86502         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
86503         u32_conv_to_encoding): New declarations.
86505 2007-06-09  Bruno Haible  <bruno@clisp.org>
86507         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
86509 2007-06-09  Bruno Haible  <bruno@clisp.org>
86511         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
86512         * modules/malloca: Renamed from modules/allocsa, updated.
86513         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
86514         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
86515         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
86516         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
86517         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
86518         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
86519         * modules/xmalloca: Renamed from modules/xallocsa, updated.
86520         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
86521         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
86522         * modules/c-strcasestr (Depends-on): Update.
86523         * lib/c-strcasestr.c: Update.
86524         * modules/c-strstr (Depends-on): Update.
86525         * lib/c-strstr.c: Update.
86526         * modules/canonicalize-lgpl (Depends-on): Update.
86527         * lib/canonicalize-lgpl.c: Update.
86528         * modules/clean-temp (Depends-on): Update.
86529         * lib/clean-temp.c: Update.
86530         * modules/csharpcomp (Depends-on): Update.
86531         * lib/csharpcomp.c: Update.
86532         * modules/csharpexec (Depends-on): Update.
86533         * lib/csharpexec.c: Update.
86534         * modules/javacomp (Depends-on): Update.
86535         * lib/javacomp.c: Update.
86536         * modules/javaexec (Depends-on): Update.
86537         * lib/javaexec.c: Update.
86538         * modules/mbscasestr (Depends-on): Update.
86539         * lib/mbscasestr.c: Update.
86540         * modules/mbsstr (Depends-on): Update.
86541         * lib/mbsstr.c: Update.
86542         * modules/setenv (Depends-on): Update.
86543         * lib/setenv.c: Update.
86544         * modules/strcasestr (Depends-on): Update.
86545         * lib/strcasestr.c: Update.
86546         * modules/striconveha (Depends-on): Update.
86547         * lib/striconveha.c: Update.
86548         * modules/relocatable-prog-wrapper (Files): Update.
86549         * lib/relocwrapper.c: Update.
86550         * build-aux/install-reloc: Update.
86551         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
86553 2007-06-08  Bruno Haible  <bruno@clisp.org>
86555         Port to uClibc.
86556         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
86557         * lib/fpurge.c (fpurge): Likewise.
86558         * lib/freading.c (freading): Likewise.
86559         * lib/fseeko.c (rpl_fseeko): Likewise.
86560         * lib/fseterr.c (fseterr): Likewise.
86561         * lib/fwriting.c (fwriting): Likewise.
86562         * tests/test-fflush.c (main): Avoid a failure on uClibc.
86564 2007-06-08  Bruno Haible  <bruno@clisp.org>
86566         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
86567         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
86568         * modules/gettext (Files): Add m4/intlmacosx.m4.
86570 2007-06-07  Bruno Haible  <bruno@clisp.org>
86572         * modules/localename-tests: New file.
86573         * tests/test-localename.c: New file.
86575         New module 'localename'.
86576         * lib/localename.h: New file.
86577         * lib/localename.c: New file, from GNU gettext.
86578         * m4/localename.m4: New file.
86579         * modules/localename: New file.
86581 2007-06-07  Bruno Haible  <bruno@clisp.org>
86583         Work around the lack of <wchar.h> on some builds of uClibc.
86584         * doc/headers/wchar.texi: Update.
86585         * lib/wchar_.h: Include <wchar.h> only if it exists.
86586         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
86587         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
86588         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
86589         doesn't exist.
86590         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
86591         * modules/mbfile (Depends-on): Add wchar.
86592         * modules/mbiter (Depends-on): Likewise.
86593         * modules/mbuiter (Depends-on): Likewise.
86594         Reported by Simon Josefsson.
86596 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
86598         Work around problem reported by Steven M. Schweda in
86599         <http://lists.gnu.org/r/bug-tar/2007-06/msg00002.html>:
86600         Tru64 5.1B with the Compaq compiler environment installed declares
86601         an 'isblank' function but does not define it in the C library.
86602         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
86603         * lib/regex_internal.h (isblank): Likewise.
86604         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
86605         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
86607 2007-06-05  Bruno Haible  <bruno@clisp.org>
86609         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
86610         ia64.
86611         * modules/printf-safe: New file.
86612         * modules/fprintf-posix (Depends-on): Add printf-safe.
86613         * modules/printf-posix (Depends-on): Likewise.
86614         * modules/snprintf-posix (Depends-on): Likewise.
86615         * modules/sprintf-posix (Depends-on): Likewise.
86616         * modules/vasnprintf-posix (Depends-on): Likewise.
86617         * modules/vasprintf-posix (Depends-on): Likewise.
86618         * modules/vfprintf-posix (Depends-on): Likewise.
86619         * modules/vprintf-posix (Depends-on): Likewise.
86620         * modules/vsnprintf-posix (Depends-on): Likewise.
86621         * modules/vsprintf-posix (Depends-on): Likewise.
86622         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
86623         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
86624         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
86625         "no" on i386, x86_64, ia64.
86626         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
86627         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
86628         on i386, x86_64, ia64.
86629         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
86630         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
86631         on i386, x86_64, ia64.
86632         * tests/test-vasnprintf-posix.c: Include float.h.
86633         (LDBL80_WORDS): New macro.
86634         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
86635         on i386, x86_64, ia64.
86636         * tests/test-vasprintf-posix.c: Include float.h.
86637         (LDBL80_WORDS): New macro.
86638         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
86639         on i386, x86_64, ia64.
86640         * tests/test-snprintf-posix.c: Include float.h.
86641         * tests/test-sprintf-posix.c: Likewise.
86642         * tests/test-vsnprintf-posix.c: Likewise.
86643         * tests/test-vsprintf-posix.c: Likewise.
86645 2007-06-05  Bruno Haible  <bruno@clisp.org>
86647         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
86648         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
86649         non-IEEE numbers on i386, x86_64, ia64.
86650         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
86651         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
86652         * tests/test-isnanl.h: Include float.h.
86653         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
86655 2007-06-05  Bruno Haible  <bruno@clisp.org>
86657         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
86658         also the %a / %A. Handle the %a / %A code before this extra handling.
86660 2007-06-05  Bruno Haible  <bruno@clisp.org>
86662         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
86663         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
86665 2007-06-05  Bruno Haible  <bruno@clisp.org>
86667         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
86668         typo in variable name.
86670 2007-06-05  Eric Blake  <ebb9@byu.net>
86672         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
86673         Reported by Simon Josefsson.
86675 2007-06-04  Bruno Haible  <bruno@clisp.org>
86677         Avoid test failures on some PowerPC platforms.
86678         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
86679         Define differently for PowerPC.
86680         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
86681         Reported by Gary V. Vaughan <gary@gnu.org>.
86683 2007-06-02  Bruno Haible  <bruno@clisp.org>
86685         Fix test-stdint failure on FreeBSD/ia64.
86686         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
86687         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
86688         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
86689         * doc/headers/stdint.texi: Update.
86691 2007-06-01  Bruno Haible  <bruno@clisp.org>
86693         * tests/test-binary-io.c (main): Pass a third argument to open().
86694         Reported by Gary V. Vaughan <gary@gnu.org>.
86696 2007-06-01  Bruno Haible  <bruno@clisp.org>
86698         * doc/functions/frexpl.texi: Update for mingw.
86700 2007-06-01  Bruno Haible  <bruno@clisp.org>
86702         * tests/test-lseek.c (main): Disable test of errno for invalid third
86703         argument.
86704         * doc/functions/lseek.texi: Update.
86705         Reported by Gary V. Vaughan <gary@gnu.org>.
86707 2007-05-28  Bruno Haible  <bruno@clisp.org>
86709         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
86711 2007-05-31  Eric Blake  <ebb9@byu.net>
86713         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
86714         cross compiling.
86716 2007-05-30  Eric Blake  <ebb9@byu.net>
86717         and Bruno Haible  <bruno@clisp.org>
86719         Work around mingw test failures exposed by m4-1.4.9b.
86720         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
86721         * tests/test-unistd.c: Disable uid_t and git_t tests for the
86722         moment.
86724 2007-05-30  Bruno Haible  <bruno@clisp.org>
86726         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
86727         assuming that they are closed. Needed on HP-UX 11.
86729 2007-05-29  Bruno Haible  <bruno@clisp.org>
86731         Fix a problem with #include_next.
86732         * lib/dirent_.h: Split the double-inclusion guard.
86733         * lib/fcntl_.h: Likewise.
86734         * lib/float_.h: Likewise.
86735         * lib/iconv_.h: Likewise.
86736         * lib/inttypes_.h: Likewise.
86737         * lib/locale_.h: Likewise.
86738         * lib/math_.h: Likewise.
86739         * lib/netinet_in_.h: Likewise.
86740         * lib/search_.h: Likewise.
86741         * lib/signal_.h: Likewise.
86742         * lib/stdint_.h: Likewise.
86743         * lib/stdio_.h: Likewise.
86744         * lib/stdlib_.h: Likewise.
86745         * lib/string_.h: Likewise.
86746         * lib/sys_select_.h: Likewise.
86747         * lib/sys_socket_.h: Likewise.
86748         * lib/sys_stat_.h: Likewise.
86749         * lib/sys_time_.h: Likewise.
86750         * lib/sysexits_.h: Likewise.
86751         * lib/time_.h: Likewise.
86752         * lib/unistd_.h: Likewise.
86753         * lib/wchar_.h: Likewise.
86754         * lib/wctype_.h: Likewise.
86756 2007-05-29  Bruno Haible  <bruno@clisp.org>
86758         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
86759         for the moment.
86761 2007-05-29  Bruno Haible  <bruno@clisp.org>
86763         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
86764         invocation.
86765         Reported by Eric Blake.
86767 2007-05-29  Bruno Haible  <bruno@clisp.org>
86769         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
86770         compiling case.
86772 2007-05-29  Eric Blake  <ebb9@byu.net>
86773             Bruno Haible  <bruno@clisp.org>
86775         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
86776         cross compiles.
86778 2007-05-28  Eric Blake  <ebb9@byu.net>
86780         * modules/closein-tests (test_closein_LDADD): Support test on
86781         cygwin with libtool.
86783 2007-05-28  Bruno Haible  <bruno@clisp.org>
86785         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
86786         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
86787         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
86788         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
86789         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
86790         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
86791         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
86792         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
86793         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
86795 2007-05-28  Eric Blake  <ebb9@byu.net>
86797         Unconditionally include <config.h> in unit tests.
86798         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
86799         * tests/test-allocsa.c, tests/test-arcfour.c,
86800         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
86801         tests/test-array_list.c, tests/test-array_oset.c,
86802         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
86803         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
86804         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
86805         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
86806         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
86807         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
86808         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
86809         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
86810         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
86811         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
86812         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
86813         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
86814         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
86815         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
86816         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
86817         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
86818         test-md5.c, test-memmem.c, test-printf-posix.c,
86819         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
86820         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
86821         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
86822         test-strcasestr.c, test-striconv.c, test-striconveh.c,
86823         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
86824         test-vasnprintf-posix2.c, test-vasnprintf.c,
86825         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
86826         test-vfprintf-posix.c, test-vprintf-posix.c,
86827         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
86828         test-xvasprintf.c: Likewise.
86830 2007-05-28  Bruno Haible  <bruno@clisp.org>
86832         * gnulib-tool (func_import): Remember the --with-tests command-line
86833         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
86834         Reported by Eric Blake.
86836 2007-05-28  Bruno Haible  <bruno@clisp.org>
86838         * modules/ftell-tests: New file.
86839         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
86840         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
86842         * lib/ftell.c: New file.
86843         * modules/ftell: New file.
86844         * m4/ftell.m4: New file.
86845         * doc/functions/ftell.texi: Update.
86846         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
86847         REPLACE_FTELL.
86848         * lib/stdio_.h (rpl_ftell): New declaration.
86849         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
86850         REPLACE_FTELL.
86852 2007-05-28  Eric Blake  <ebb9@byu.net>
86854         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
86856 2007-05-28  Bruno Haible  <bruno@clisp.org>
86858         * modules/fseek-tests: New file.
86859         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
86860         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
86862         * lib/fseek.c: New file.
86863         * modules/fseek: New file.
86864         * m4/fseek.m4: New file.
86865         * doc/functions/fseek.texi: Update.
86866         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
86867         REPLACE_FSEEK.
86868         * lib/stdio_.h (rpl_fseek): New declaration.
86869         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
86870         REPLACE_FSEEK.
86872 2007-05-28  Bruno Haible  <bruno@clisp.org>
86874         * lib/stdio_.h (fflush): More comments.
86876 2007-05-28  Bruno Haible  <bruno@clisp.org>
86878         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
86879         runtime test.
86881 2007-05-28  Eric Blake  <ebb9@byu.net>
86883         Improve lseek module.
86884         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
86885         * lib/unistd_.h (lseek): Scale back link warning message.
86886         * tests/test-lseek.c: Beef up test.
86887         * tests/test-lseek.sh: Exercise more facets of lseek.
86888         Reported by Bruno Haible.
86890 2007-05-28  Bruno Haible  <bruno@clisp.org>
86892         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
86893         to define.
86895 2007-05-27  Bruno Haible  <bruno@clisp.org>
86897         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
86899 2007-05-27  Bruno Haible  <bruno@clisp.org>
86901         * modules/openmp: New file.
86902         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
86903         Noah Misch.
86905 2007-05-26  Bruno Haible  <bruno@clisp.org>
86907         * modules/chdir-long (Depends-on): Add fchdir.
86908         * modules/chdir-safer (Depends-on): Likewise.
86909         * modules/fts (Depends-on): Likewise.
86910         * modules/fts-lgpl (Depends-on): Likewise.
86911         * modules/openat (Depends-on): Likewise.
86912         * modules/savewd (Depends-on): Likewise.
86914 2007-05-24  Eric Blake  <ebb9@byu.net>
86916         Fix lseek on mingw.
86917         * modules/lseek: New module.
86918         * m4/lseek.m4: New file.
86919         * lib/lseek.c: New file.
86920         * modules/lseek-tests: New file.
86921         * tests/test-lseek.c: New file.
86922         * tests/test-lseek.sh: New file.
86923         * MODULES.html.sh: Document lseek module.
86924         * modules/fflush (Depends-on): Add lseek, fseeko.
86925         * modules/fseeko (Depends-on): Likewise.
86926         * modules/ftello (Depends-on): Likewise.
86927         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
86928         broken.
86929         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
86930         broken.
86931         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
86932         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
86933         * lib/ftello.c (rpl_ftello): Likewise.
86934         * tests/test-fseeko.c (main): Test this.
86935         * tests/test-fseeko.sh: Likewise.
86936         * tests/test-ftello.c (main): Likewise.
86937         * tests/test-ftello.sh: Likewise.
86938         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
86939         implies replacing fseek.
86940         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
86941         HAVE_FTELLO.
86942         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
86943         * modules/unistd (Makefile.am): Likewise.
86944         * lib/unistd_.h (lseek): Declare a replacement.
86945         * doc/functions/lseek.texi (lseek): Document this fix.
86946         * doc/functions/fseek.texi (fseek): Likewise.
86947         * doc/functions/ftell.texi (ftell): Likewise.
86949 2007-05-24  Bruno Haible  <bruno@clisp.org>
86951         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
86952         in the printed representation of a NaN.
86953         * tests/test-vasprintf-posix.c (test_function): Likewise.
86954         * tests/test-snprintf-posix.h (test_function): Likewise.
86955         * tests/test-sprintf-posix.h (test_function): Likewise.
86956         Reported by Eric Blake.
86958 2007-05-23  Eric Blake  <ebb9@byu.net>
86960         Fix fseeko/ftello on cygwin 1.5.24.
86961         * doc/functions/fseeko.texi (fseeko): Document the fix.
86962         * doc/functions/ftello.texi (ftello): Document the fix.
86963         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
86964         * doc/functions/stdout.text (stdout): New file.
86965         * doc/functions/stderr.text (stderr): New file.
86966         * doc/gnulib.texi (Function Substitutes): Use new files.
86967         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
86968         prior to 1.7.0.
86969         * tests/test-ftello.c (main): Likewise for ftello.
86970         * tests/test-fseeko.sh: New file.
86971         * tests/test-ftello.sh: New file.
86972         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
86973         with seekable stdin.
86974         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
86975         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
86976         (gl_REPLACE_FSEEKO): New macro.
86977         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
86978         * modules/fseeko (Files): Distribute fseeko.c.
86979         * modules/ftello (Files): Distribute ftello.c.
86980         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
86981         mode.
86982         * lib/ftello.c (rpl_ftello): New file.
86983         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
86984         fseeko, ftello.
86985         (gl_STDIN_LARGE_OFFSET): New macro.
86986         * modules/stdio (Makefile.am): Perform the replacement.
86987         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
86989 2007-05-23  Bruno Haible  <bruno@clisp.org>
86991         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
86992         GNULIB_POSIXCHECK is defined.
86994 2007-05-21  Bruno Haible  <bruno@clisp.org>
86996         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
86997         Check also the output for NaN arguments. When cross-compiling, guess
86998         no on IRIX.
86999         * lib/vasnprintf.c: Update comments.
87000         * tests/test-vasnprintf-posix.c (strisnan): New function.
87001         (test_function): Use it.
87002         * tests/test-vasprintf-posix.c (strisnan): New function.
87003         (test_function): Use it.
87004         * tests/test-snprintf-posix.h (strisnan): New function.
87005         (test_function): Use it.
87006         * tests/test-sprintf-posix.h (strisnan): New function.
87007         (test_function): Use it.
87008         Reported by Eric Blake.
87010 2007-05-20  Bruno Haible  <bruno@clisp.org>
87012         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
87013         numbers that fails on BeOS.
87014         * doc/functions/frexpl.texi: Update.
87016 2007-05-20  Jim Meyering  <jim@meyering.net>
87018         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
87019         forced upon us by glibc-2.6.
87021 2007-05-20  Bruno Haible  <bruno@clisp.org>
87023         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
87024         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
87025         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
87026         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
87027         NEED_PRINTF_INFINITE.
87028         (is_infinitel): New function.
87029         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
87030         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
87031         gl_PREREQ_VASNPRINTF_INFINITE.
87032         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
87033         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
87034         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
87035         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
87036         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
87037         gl_PREREQ_VASNPRINTF_INFINITE.
87038         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
87039         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
87040         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
87041         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
87042         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
87043         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
87044         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
87045         * doc/functions/fprintf.texi: Update.
87046         * doc/functions/printf.texi: Update.
87047         * doc/functions/snprintf.texi: Update.
87048         * doc/functions/sprintf.texi: Update.
87049         * doc/functions/vfprintf.texi: Update.
87050         * doc/functions/vprintf.texi: Update.
87051         * doc/functions/vsnprintf.texi: Update.
87052         * doc/functions/vsprintf.texi: Update.
87054 2007-05-20  Bruno Haible  <bruno@clisp.org>
87056         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
87057         was not found in libc.
87058         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
87060 2007-05-20  Bruno Haible  <bruno@clisp.org>
87062         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
87063         printed as "-nan" instead of "nan".
87064         * tests/test-vasprintf-posix.c (test_function): Likewise.
87065         * tests/test-snprintf-posix.h (test_function): Likewise.
87066         * tests/test-sprintf-posix.h (test_function): Likewise.
87067         Needed for HP-UX 11.
87069 2007-05-20  Jim Meyering  <jim@meyering.net>
87071         Fix buggy test for the fchownat-deref bug.
87072         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
87073         symlink required for the run-test.  Without it, this test would
87074         always declare that fchownat doesn't work, and client code would
87075         unnecessarily use the replacement function with fixed libc.
87076         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
87077         Reported by Greg Schafer.
87079 2007-05-19  Bruno Haible  <bruno@clisp.org>
87081         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
87082         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
87083         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
87084         Needed for IRIX 6.5 and Solaris 2.5.1.
87086 2007-05-19  Bruno Haible  <bruno@clisp.org>
87088         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
87089         (test_function): Skip tests involving -0.0 on platforms where
87090         -0.0 = 0.0.
87091         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
87092         (test_function): Skip tests involving -0.0 on platforms where
87093         -0.0 = 0.0.
87094         * tests/test-snprintf-posix.h (have_minus_zero): New function.
87095         (test_function): Skip tests involving -0.0 on platforms where
87096         -0.0 = 0.0.
87097         * tests/test-sprintf-posix.h (have_minus_zero): New function.
87098         (test_function): Skip tests involving -0.0 on platforms where
87099         -0.0 = 0.0.
87100         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
87101         tests.
87102         * tests/test-printf-posix.h (test_function): Likewise.
87103         * tests/test-printf-posix.output: Remove all -0.0 related results.
87104         Needed for IRIX 6.5.
87106 2007-05-19  Bruno Haible  <bruno@clisp.org>
87108         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
87109         printed as "nan0x7fffffff" instead of "nan".
87110         * tests/test-vasprintf-posix.c (test_function): Likewise.
87111         * tests/test-snprintf-posix.h (test_function): Likewise.
87112         * tests/test-sprintf-posix.h (test_function): Likewise.
87113         * tests/test-fprintf-posix.h (NaN): Remove macro.
87114         (test_function): Remove all NaN related tests.
87115         * tests/test-printf-posix.h (NaN): Remove macro.
87116         (test_function): Remove all NaN related tests.
87117         * tests/test-printf-posix.output: Remove all NaN related results.
87118         Needed for IRIX 6.5.
87120 2007-05-19  Bruno Haible  <bruno@clisp.org>
87122         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
87123         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
87125 2007-05-19  Bruno Haible  <bruno@clisp.org>
87127         * lib/float_.h: New file.
87128         * m4/float_h.m4: New file.
87129         * modules/float: New file.
87130         * modules/isnanl (Dependencies): Add float.
87131         * modules/isnanl-nolibm (Dependencies): Likewise.
87132         * modules/mathl (Dependencies): Likewise.
87133         * modules/printf-frexpl (Dependencies): Likewise.
87134         * modules/signbit (Dependencies): Likewise.
87135         * modules/vasnprintf (Dependencies): Likewise.
87136         * doc/headers/float.texi: Update.
87138 2007-05-19  Jim Meyering  <jim@meyering.net>
87140         * lib/utimens.c (gl_futimens): Rename from futimens,
87141         now that glibc-2.6 declares futimens.
87142         * lib/utimens.h: Likewise.
87144 2007-05-19  Bruno Haible  <bruno@clisp.org>
87146         Avoid test failures on mingw.
87147         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
87148         * tests/test-printf-posix.sh: Likewise.
87149         * tests/test-vfprintf-posix.sh: Likewise.
87150         * tests/test-vprintf-posix.sh: Likewise.
87152 2007-05-19  Bruno Haible  <bruno@clisp.org>
87154         Fix *printf result for NaN, Inf, -0.0 on mingw.
87155         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
87156         * lib/vasnprintf.c: Include math.h and isnan.h.
87157         (is_infinite_or_zero): New function.
87158         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
87159         values in the %f, %F, %e, %E, %g, %G directives.
87160         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
87161         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
87162         gl_PRINTF_INFINITE and test its result. Invoke
87163         gl_PREREQ_VASNPRINTF_INFINITE.
87164         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
87165         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
87166         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
87167         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
87168         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
87169         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
87170         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
87171         * doc/functions/fprintf.texi: Update.
87172         * doc/functions/printf.texi: Update.
87173         * doc/functions/snprintf.texi: Update.
87174         * doc/functions/sprintf.texi: Update.
87175         * doc/functions/vfprintf.texi: Update.
87176         * doc/functions/vprintf.texi: Update.
87177         * doc/functions/vsnprintf.texi: Update.
87178         * doc/functions/vsprintf.texi: Update.
87180 2007-05-19  Bruno Haible  <bruno@clisp.org>
87182         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
87183         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
87184         Instead of multiplying with 10^k, set extra_zeroes to k.
87185         (scale10_round_long_double): Remove function.
87187 2007-05-18  Bruno Haible  <bruno@clisp.org>
87189         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
87190         introduced on 2007-05-06.
87192 2007-05-18  Bruno Haible  <bruno@clisp.org>
87194         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
87195         %g directives.
87196         * tests/test-vasprintf-posix.c (test_function): Likewise.
87197         * tests/test-snprintf-posix.h (test_function): Likewise.
87198         * tests/test-sprintf-posix.h (test_function): Likewise.
87200 2007-05-18  Bruno Haible  <bruno@clisp.org>
87202         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
87203         (strmatch): New function.
87204         (test_function): Test the %f directive on numbers of various exponents.
87205         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
87206         (strmatch): New function.
87207         (test_function): Test the %f directive on numbers of various exponents.
87208         * tests/test-snprintf-posix.h (strmatch): New function.
87209         (test_function): Test the %f directive on numbers of various exponents.
87210         * tests/test-sprintf-posix.h (strmatch): New function.
87211         (test_function): Test the %f directive on numbers of various exponents.
87212         * tests/test-snprintf-posix.c (SIZEOF): New macro.
87213         * tests/test-sprintf-posix.c (SIZEOF): New macro.
87214         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
87215         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
87217 2007-05-18  Bruno Haible  <bruno@clisp.org>
87219         Add support for 'long double' number output.
87220         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
87221         * lib/vasnprintf.c: Include math.h and float+.h.
87222         (mp_limb_t): New type.
87223         (GMP_LIMB_BITS): New macro.
87224         (mp_twolimb_t): New type.
87225         (GMP_TWOLIMB_BITS): New macro.
87226         (mpn_t): New type.
87227         (multiply, divide, convert_to_decimal, decode_long_double,
87228         scale10_round_long_double, scale10_round_decimal_long_double,
87229         floorlog10l): New functions.
87230         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
87231         for the %f, %F, %e, %E, %g, %G directives.
87232         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
87233         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
87234         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
87235         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
87236         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
87237         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
87238         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
87239         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
87240         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
87241         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
87242         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
87243         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
87244         * modules/snprintf-posix (Depends-on): Likewise.
87245         * modules/sprintf-posix (Depends-on): Likewise.
87246         * modules/vasnprintf-posix (Depends-on): Likewise.
87247         * modules/vasprintf-posix (Depends-on): Likewise.
87248         * modules/vfprintf-posix (Depends-on): Likewise.
87249         * modules/vsnprintf-posix (Depends-on): Likewise.
87250         * modules/vsprintf-posix (Depends-on): Likewise.
87251         * modules/vasnprintf (Files): Add lib/float+.h.
87252         * doc/functions/fprintf.texi: Update.
87253         * doc/functions/printf.texi: Update.
87254         * doc/functions/snprintf.texi: Update.
87255         * doc/functions/sprintf.texi: Update.
87256         * doc/functions/vfprintf.texi: Update.
87257         * doc/functions/vprintf.texi: Update.
87258         * doc/functions/vsnprintf.texi: Update.
87259         * doc/functions/vsprintf.texi: Update.
87261 2007-05-18  Bruno Haible  <bruno@clisp.org>
87263         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
87265 2007-05-18  Bruno Haible  <bruno@clisp.org>
87267         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
87268         for printing 64-bit integers. Needed for mingw.
87270 2007-05-18  Bruno Haible  <bruno@clisp.org>
87272         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
87273         gl_FUNC_FREXPL_WORKS.
87274         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
87276 2007-05-18  Bruno Haible  <bruno@clisp.org>
87278         * modules/frexpl-nolibm-tests: New file.
87280         * modules/frexpl-nolibm: New file.
87281         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
87283 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
87285         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
87286         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
87287         GCC 4.2, which otherwise issues a lot of warnings.
87288         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
87289         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
87290         Likewise.
87291         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
87292         * modules/iconv_open (iconv.h): Likewise.
87293         * modules/locale (locale.h): Likewise.
87294         * modules/netinet_in (netinet/in.h): Likewise.
87295         * modules/sys_select (sys_select.h): Likewise.
87296         * modules/sys_socket (sys/socket.h): Likewise.
87297         * modules/sys_stat (sys/stat.h): Likewise.
87298         * modules/sysexits (sysexits.h): Likewise.
87299         * modules/unistd (unistd.h): Likewise.
87301 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
87303         * modules/closein-tests (Makefile.am): Distribute
87304         `test-closein.sh'.
87306 2007-05-17  Bruno Haible  <bruno@clisp.org>
87308         * tests/test-printf-posix.output: Renamed from
87309         tests/test-fprintf-posix.out.
87310         * modules/fprintf-posix-tests: Update.
87311         * modules/printf-posix-tests: Update.
87312         * modules/vfprintf-posix-tests: Update.
87313         * modules/vprintf-posix-tests: Update.
87314         * tests/test-fprintf-posix.sh: Update.
87315         * tests/test-printf-posix.sh: Update.
87316         * tests/test-vfprintf-posix.sh: Update.
87317         * tests/test-vprintf-posix.sh: Update.
87318         Reported by Ralf Wildenhues.
87320 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
87322         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
87323         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
87324         GCC 4.2, which otherwise issues a lot of warnings.
87325         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
87326         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
87327         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
87328         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
87329         it should no longer be needed.
87330         * lib/string_.h: Likewise.
87331         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
87332         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
87333         * modules/inttypes (inttypes.h): Likewise.
87334         * modules/math (math.h): Likewise.
87335         * modules/search (search.h): Likewise.
87336         * modules/signal (signal.h): Likewise.
87337         * modules/stdint (stdint.h): Likewise.
87338         * modules/stdio (stdio.h): Likewise.
87339         * modules/stdlib (stdlib.h): Likewise.
87340         * modules/string (string.h): Likewise.
87341         * modules/sys_time (sys/time.h): Likewise.
87342         * modules/time (time.h): Likewise.
87343         * modules/wchar (wchar.h): Likewise.
87344         * modules/wctype (wtype.h): Likewise.
87346 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
87348         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
87350 2007-05-13  Bruno Haible  <bruno@clisp.org>
87352         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
87353         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
87354         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
87355         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
87356         (gl_PREREQ_STRTOK_R): Don't require it here.
87358 2007-05-13  Bruno Haible  <bruno@clisp.org>
87360         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
87361         when used in C++ mode.
87363 2007-05-12  Bruno Haible  <bruno@clisp.org>
87365         * lib/linebuffer.h: Tweak doc.
87366         * lib/linebuffer.c: Likewise.
87368 2007-05-12  James Youngman  <jay@gnu.org>
87370         * lib/linebuffer.c (readlinebuffer_delim): New function,
87371         like readlinebuffer, but use a caller-specified delimiter.
87372         (readlinebuffer): Just call readlinebuffer_delim with '\n'
87373         as the delimiter.
87374         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
87376 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
87378         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
87379         * modules/openat (Files): Remove openat-die.c.
87380         (Depends-on): Add openat-die.
87381         * modules/openat-die: New module.
87383 2007-05-06  Bruno Haible  <bruno@clisp.org>
87385         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
87386         Update with info about Cygwin.
87387         * doc/functions/fprintf.texi: Update.
87388         * doc/functions/printf.texi: Update.
87389         * doc/functions/snprintf.texi: Update.
87390         * doc/functions/sprintf.texi: Update.
87391         * doc/functions/vfprintf.texi: Update.
87392         * doc/functions/vprintf.texi: Update.
87393         * doc/functions/vsnprintf.texi: Update.
87394         * doc/functions/vsprintf.texi: Update.
87395         Reported by Eric Blake.
87397 2007-05-06  Bruno Haible  <bruno@clisp.org>
87399         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
87400         padding ourselves for the floating-point directives.
87401         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
87402         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
87403         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
87404         gl_PRINTF_FLAG_ZERO and test its result. Invoke
87405         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
87406         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
87407         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
87408         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
87409         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
87410         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
87411         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
87412         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
87413         * tests/test-snprintf-posix.h (test_function): Also check the width
87414         and some flags in the %f directive.
87415         * tests/test-sprintf-posix.h (test_function): Likewise.
87416         * tests/test-vasnprintf-posix.c (test_function): Likewise.
87417         * tests/test-vasprintf-posix.c (test_function): Likewise.
87418         * doc/functions/fprintf.texi: Update.
87419         * doc/functions/printf.texi: Update.
87420         * doc/functions/snprintf.texi: Update.
87421         * doc/functions/sprintf.texi: Update.
87422         * doc/functions/vfprintf.texi: Update.
87423         * doc/functions/vprintf.texi: Update.
87424         * doc/functions/vsnprintf.texi: Update.
87425         * doc/functions/vsprintf.texi: Update.
87427 2007-05-06  Bruno Haible  <bruno@clisp.org>
87429         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
87430         pass the ' flag character to sprintf or snprintf.
87431         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
87432         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
87433         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
87434         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
87435         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
87436         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
87437         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
87438         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
87439         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
87440         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
87441         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
87442         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
87443         * tests/test-snprintf-posix.h (test_function): Also check the grouping
87444         flag.
87445         * tests/test-sprintf-posix.h (test_function): Likewise.
87446         * tests/test-vasnprintf-posix.c (test_function): Likewise.
87447         * tests/test-vasprintf-posix.c (test_function): Likewise.
87448         * doc/functions/fprintf.texi: Update.
87449         * doc/functions/printf.texi: Update.
87450         * doc/functions/snprintf.texi: Update.
87451         * doc/functions/sprintf.texi: Update.
87452         * doc/functions/vfprintf.texi: Update.
87453         * doc/functions/vprintf.texi: Update.
87454         * doc/functions/vsnprintf.texi: Update.
87455         * doc/functions/vsprintf.texi: Update.
87457 2007-05-01  Bruno Haible  <bruno@clisp.org>
87459         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
87461 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
87463         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
87464         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
87466 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
87468         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
87469         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
87470         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00021.html>.
87472 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
87474         * lib/argp-help.c (struct hol_entry): New member `ord'.
87475         (HOL_ENTRY_PTRCMP): Use ord for comparison
87476         (hol_sort): Initialize ord.
87478 2007-05-01  Bruno Haible  <bruno@clisp.org>
87480         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
87481         Reported by Eric Blake.
87482         * doc/gnulib.texi (Function Substitutes): Update.
87484 2007-05-01  Bruno Haible  <bruno@clisp.org>
87486         * doc/functions.texi: Remove file, now redundant through
87487         doc/functions/*.texi.
87489 2007-05-01  Bruno Haible  <bruno@clisp.org>
87491         * modules/argp (Depends-on): Add sleep.
87493 2007-05-01  Bruno Haible  <bruno@clisp.org>
87495         * modules/sleep-tests: New file.
87496         * tests/test-sleep.c: New file.
87498         * modules/sleep: New file.
87499         * lib/sleep.c: New file.
87500         * m4/sleep.m4: New file.
87501         * lib/unistd_.h (sleep): New declaration.
87502         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
87503         HAVE_SLEEP.
87504         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
87505         * doc/functions/sleep.texi: Document the sleep module.
87507 2007-05-01  Bruno Haible  <bruno@clisp.org>
87509         * lib/sigprocmask.h: Remove file.
87510         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
87511         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
87512         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
87513         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
87514         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
87515         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
87516         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
87517         HAVE_SIGSET_T as a shell variable.
87518         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
87519         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
87520         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
87521         (Depends-on): Add signal. Remove verify.
87522         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
87523         (Include): Mention <signal.h> instead of sigprocmask.h.
87524         * NEWS: Mention the change.
87525         * lib/fatal-signal.c: Don't include sigprocmask.h.
87527 2007-05-01  Bruno Haible  <bruno@clisp.org>
87529         * modules/signal: New file.
87530         * lib/signal_.h: New file.
87531         * m4/signal_h.m4: New file.
87533 2007-05-01  Bruno Haible  <bruno@clisp.org>
87535         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
87536         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
87537         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
87538         HAVE_WCTYPE_CTMP_BUG into wctype.h.
87540 2007-05-01  Bruno Haible  <bruno@clisp.org>
87542         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
87543         configure time.
87544         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
87545         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
87546         * modules/sys_stat (Makefile.am): Substitute their values into
87547         sys/stat.h.
87549 2007-05-01  Bruno Haible  <bruno@clisp.org>
87551         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
87552         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
87553         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
87555 2007-05-01  Bruno Haible  <bruno@clisp.org>
87557         * doc/header/assert.texi: Undo last change: don't mention the gnulib
87558         'assert' module here.
87560 2007-05-01  Bruno Haible  <bruno@clisp.org>
87562         * doc/functions/*.texi: New files.
87563         * doc/functions/google-ranking.txt: New file.
87564         * doc/gnulib.texi (Function Substitutes): New chapter.
87565         (ctime, inet_ntoa): Remove sections.
87566         * doc/ctime.texi: Remove file.
87567         * doc/inet_ntoa.texi: Remove file.
87568         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
87569         dependencies.
87570         (%.info): New rule, specifying a --reference-limit.
87572 2007-05-01  Bruno Haible  <bruno@clisp.org>
87574         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
87576 2007-05-01  Bruno Haible  <bruno@clisp.org>
87578         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
87579         the portability of 'mkdir' to mingw systems.
87581 2007-05-01  Bruno Haible  <bruno@clisp.org>
87583         * doc/headers/google-ranking.txt: New file.
87585 2007-04-30  Eric Blake  <ebb9@byu.net>
87587         Prefer fseeko to fseek.
87588         * modules/getpass (Depends-on): Add fseeko.
87589         * lib/getpass.c (getpass): Use fseeko, not fseek.
87591 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
87593         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
87594         assumes the sorting is stable, while most qsort implementations
87595         are not.  Use argument addresses to ensure they never compare as
87596         equal.
87598         * tests/test-argp-2.sh (usage-indent test): Fix output
87599         (func_compare): Restore diff options
87600         * tests/test-argp.c: Restore #include "progname.h"
87602 2007-04-29  Bruno Haible  <bruno@clisp.org>
87604         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
87605         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
87606         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
87607         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
87608         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
87609         (configure.ac): Define CHECK_SNPRINTF_POSIX.
87610         (TESTS, check_PROGRAMS): Add test-snprintf.
87611         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
87612         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
87613         (TESTS, check_PROGRAMS): Add test-vsnprintf.
87614         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
87615         assertions that fail on HP-UX, OSF/1, or IRIX.
87616         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
87618 2007-04-29  Bruno Haible  <bruno@clisp.org>
87620         * MODULES.html.sh (posix_functions): Remove 'contents'.
87622 2007-04-29  Karl Berry  <karl@gnu.org>
87624         * config/srclist.txt (gendocs_template_min): new entry.
87626 2007-04-29  Bruno Haible  <bruno@clisp.org>
87628         Work around fpurge bug on BSD systems.
87629         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
87630         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
87631         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
87632         fpurge to rpl_fpurge if the system already has this function.
87633         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
87634         the case where the system already has this function. Correct invariants
87635         on BSD systems.
87636         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
87637         BSD systems.
87639 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
87641         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
87642         proposed by Sven Verdoolaege.
87644         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
87645         options.
87646         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
87647         (usage and help tests): Update
87649 2007-04-29  Bruno Haible  <bruno@clisp.org>
87651         * tests/test-fflush.c (main): Use a file of size 17, not 10.
87652         Print more information in case of failure. Disable a test on BeOS.
87654 2007-04-29  Bruno Haible  <bruno@clisp.org>
87656         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
87657         This helps debugging on systems on which no gdb is available.
87659 2007-04-29  Bruno Haible  <bruno@clisp.org>
87661         * lib/freading.h: Improve comments.
87662         * lib/fwriting.h: Likewise.
87663         * tests/test-freading.c (main): Don't check freading immediately after
87664         repositioning. Needed for glibc.
87666 2007-04-29  Bruno Haible  <bruno@clisp.org>
87668         * lib/freading.c (freading): Trivial simplification.
87670 2007-04-28  Bruno Haible  <bruno@clisp.org>
87672         * tests/test-fwriting.c (main): Also test the interaction between
87673         fflush and fwriting.
87674         * modules/fwriting-tests (Depends-on): Add fflush.
87676         * tests/test-freading.c (main): Also test the interaction between
87677         fflush and freading.
87678         * modules/freading-tests (Depends-on): Add fflush.
87680 2007-04-28  Bruno Haible  <bruno@clisp.org>
87682         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
87683         fseeko and ftello.
87684         Suggested by Eric Blake.
87686 2007-04-28  Jim Meyering  <jim@meyering.net>
87688         Avoid false-negative in gl_STDINT_H's C99 conformance test.
87689         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
87690         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
87692 2007-04-27  Eric Blake  <ebb9@byu.net>
87694         * doc/headers/assert.texi (assert.h): Document assert module use.
87696 2007-04-27  Bruno Haible  <bruno@clisp.org>
87698         * doc/headers/*.texi: New files.
87699         * doc/gnulib.texi (Header File Substitutes): New chapter.
87700         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
87701         dependencies.
87702         (standards.info ,standards.html, standards.dvi): Update dependencies.
87703         (mostlyclean, clean): New targets.
87705 2007-04-27  Bruno Haible  <bruno@clisp.org>
87707         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
87708         * modules/sysexits (Files, Makefile.am): Update.
87710         * lib/sys_socket_.h: Renamed from lib/socket_.h.
87711         * modules/sys_socket (Files, Makefile.am): Update.
87713         * lib/sys_stat_.h: Renamed from lib/stat_.h.
87714         * modules/sys_stat (Files, Makefile.am): Update.
87716 2007-04-27  Eric Blake  <ebb9@byu.net>
87718         * lib/freading.h: Improve comments.
87719         * lib/fwriting.h: Likewise.
87720         * lib/fflush.c: Likewise.
87722         Fix closein for mingw.
87723         * modules/closein-tests: Add tests for closein.
87724         * tests/test-closein.c: New file.
87725         * tests/test-closein.sh: Likewise.
87726         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
87727         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
87729 2007-04-27  Bruno Haible  <bruno@clisp.org>
87731         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
87732         version is < 6.
87733         * lib/math_.h [__DECC]: Likewise.
87734         * lib/stdio_.h [__DECC]: Likewise.
87735         * lib/stdlib_.h [__DECC]: Likewise.
87736         * lib/string_.h [__DECC]: Likewise.
87737         * lib/time_.h [__DECC]: Likewise.
87738         * lib/wchar_.h [__DECC]: Likewise.
87739         * lib/wctype_.h [__DECC]: Likewise.
87741 2007-04-27  Bruno Haible  <bruno@clisp.org>
87743         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
87745 2007-04-27  Bruno Haible  <bruno@clisp.org>
87747         * lib/fflush.c: Add comments.
87748         * modules/fpurge-tests (Depends-on): Add fflush.
87749         * modules/freadable-tests (Depends-on): Likewise.
87750         * modules/fwritable-tests (Depends-on): Likewise.
87752 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
87754         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
87755         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
87756         Report by Bruno Haible <bruno@clisp.org>.
87758 2007-04-26  Eric Blake  <ebb9@byu.net>
87760         Fix fflush on mingw.
87761         * modules/fflush (Depends-on): Add freading.
87762         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
87763         but unread data.
87765 2007-04-26  Eric Blake  <ebb9@byu.net>
87766         and Bruno Haible  <bruno@clisp.org>
87768         Implement freading and fwriting.
87769         * lib/freading.c: New file.
87770         * lib/freading.h: Likewise.
87771         * m4/freading.m4: Likewise.
87772         * modules/freading: Likewise.
87773         * modules/freading-tests: Likewise.
87774         * tests/test-freading.c: Likewise.
87775         * lib/fwriting.c: New file.
87776         * lib/fwriting.h: Likewise.
87777         * m4/fwriting.m4: Likewise.
87778         * modules/fwriting: Likewise.
87779         * modules/fwriting-tests: Likewise.
87780         * tests/test-fwriting.c: Likewise.
87781         * MODULES.html.sh (File stream based Input/Output): Mention them.
87783 2007-04-26  Bruno Haible  <bruno@clisp.org>
87785         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
87786         'long' when we assume it.
87787         Suggested by Eric Blake.
87789 2007-04-26  Bruno Haible  <bruno@clisp.org>
87791         Ensure fseeko, ftello are declared on glibc systems.
87792         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
87793         * modules/fseeko (configure.ac-early): Likewise.
87794         * modules/ftello (configure.ac-early): Likewise.
87795         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
87796         AC_FUNC_FSEEKO for this.
87797         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
87798         (gl_CHECK_FSEEKO): Remove macro.
87800 2007-04-26  Bruno Haible  <bruno@clisp.org>
87802         * tests/test-fflush.c (main): Also check the ftell result after
87803         fflush and fseek/fseeko.
87804         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
87805         file descriptor position cache in the stream.
87806         * lib/fseeko.c (rpl_fseeko): Likewise.
87808 2007-04-26  Bruno Haible  <bruno@clisp.org>
87810         * modules/fflush-tests (Depends-on): Add fseeko.
87812 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
87813             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
87815         * lib/argz_.h: ensure error_t definition is obtained in same
87816         mechanism system argz.h would have.
87817         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
87818         argz facilities are known bad.  Err on the side of caution if
87819         cross-compiling.
87821 2007-04-25  Eric Blake  <ebb9@byu.net>
87823         * lib/fpurge.c (includes): Use stdlib.h for free.
87824         * tests/test-fflush.c (main): Also test fflush-fseeko.
87826 2007-04-25  Bruno Haible  <bruno@clisp.org>
87828         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
87829         * lib/fseeko.c: New file.
87830         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
87831         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
87832         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
87833         gl_FUNC_FSEEKO.
87834         (gl_FUNC_FSEEKO): Invoke it.
87835         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
87836         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
87837         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
87839 2007-04-25  Bruno Haible  <bruno@clisp.org>
87841         * modules/fflush (Depends-on): Add ftello.
87843 2007-04-25  Bruno Haible  <bruno@clisp.org>
87845         * modules/ftello-tests: New file.
87846         * tests/test-ftello.c: New file.
87848         * modules/ftello: New file.
87849         * m4/ftello.m4: New file.
87850         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
87851         HAVE_FTELLO.
87852         * lib/stdio_.h (ftello): New declaration.
87853         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
87854         HAVE_FTELLO.
87856 2007-04-25  Bruno Haible  <bruno@clisp.org>
87858         * modules/fseeko-tests: New file.
87859         * tests/test-fseeko.c: New file.
87861         * modules/fseeko: New file.
87862         * m4/fseeko.m4: New file.
87863         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
87864         HAVE_FSEEKO.
87865         * lib/stdio_.h (fseeko): New declaration.
87866         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
87867         HAVE_FSEEKO.
87869 2007-04-25  Bruno Haible  <bruno@clisp.org>
87871         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
87873 2007-04-25  Bruno Haible  <bruno@clisp.org>
87875         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
87876         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
87877         * tests/test-unistd.c: Likewise.
87878         * tests/test-fcntl.c: Likewise.
87880 2007-04-23  Eric Blake  <ebb9@byu.net>
87882         * lib/fflush.c: Fix missing include.
87883         Reported by Bruno Haible.
87885 2007-04-23  Bruno Haible  <bruno@clisp.org>
87887         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
87888         Reported by Eric Blake.
87890 2007-04-23  Bruno Haible  <bruno@clisp.org>
87892         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
87894 2007-04-23  Bruno Haible  <bruno@clisp.org>
87896         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
87898 2007-04-23  Bruno Haible  <bruno@clisp.org>
87900         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
87901         Needed on HP-UX 11.
87903 2007-04-16  Eric Blake  <ebb9@byu.net>
87905         Make fflush rely on fpurge.
87906         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
87907         open coding all variants.
87908         * modules/fflush (Depends-on): Add fpurge and unistd.
87909         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
87910         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
87912         Fix --with-tests compilation on cygwin.
87913         * modules/argmatch-tests (Makefile.am): List gnulib library first
87914         in LDADD.
87915         * modules/argp-tests (Makefile.am): Likewise.
87916         * modules/array-list-tests (Makefile.am): Likewise.
87917         * modules/array-oset-tests (Makefile.am): Likewise.
87918         * modules/avltree-list-tests (Makefile.am): Likewise.
87919         * modules/avltree-oset-tests (Makefile.am): Likewise.
87920         * modules/avltreehash-list-tests (Makefile.am): Likewise.
87921         * modules/carray-list-tests (Makefile.am): Likewise.
87922         * modules/dirname-tests (Makefile.am): Likewise.
87923         * modules/frexp-tests (Makefile.am): Likewise.
87924         * modules/isnanl-tests (Makefile.am): Likewise.
87925         * modules/linked-list-tests (Makefile.am): Likewise.
87926         * modules/linkedhash-list-tests (Makefile.am): Likewise.
87927         * modules/lock-tests (Makefile.am): Likewise.
87928         * modules/rbtree-list-tests (Makefile.am): Likewise.
87929         * modules/rbtree-oset-tests (Makefile.am): Likewise.
87930         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
87931         * modules/tls-tests (Makefile.am): Likewise.
87932         * modules/tsearch-tests (Makefile.am): Likewise.
87933         * modules/xvasprintf-tests (Makefile.am): Likewise.
87935         Fix fpurge for cygwin.
87936         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
87937         value.
87938         * modules/fpurge-tests (Depends-on): Clean up trash.
87940 2007-04-16  Simon Josefsson  <simon@josefsson.org>
87942         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
87944         * m4/autobuild.m4: Re-indent.
87946 2007-04-13  Bruno Haible  <bruno@clisp.org>
87948         * modules/fpurge-tests: New file.
87949         * tests/test-fpurge.c: New file.
87951         * modules/fpurge: New file.
87952         * lib/fpurge.h: New file.
87953         * lib/fpurge.c: New file.
87954         * m4/fpurge.m4: New file.
87956 2007-04-13  Bruno Haible  <bruno@clisp.org>
87958         * modules/fbufmode-tests: New file.
87959         * tests/test-fbufmode.c: New file.
87961         * modules/fbufmode: New file.
87962         * lib/fbufmode.h: New file.
87963         * lib/fbufmode.c: New file.
87964         * m4/fbufmode.m4: New file.
87966 2007-04-13  Bruno Haible  <bruno@clisp.org>
87968         * modules/fwritable-tests: New file.
87969         * tests/test-fwritable.c: New file.
87971         * modules/fwritable: New file.
87972         * lib/fwritable.h: New file.
87973         * lib/fwritable.c: New file.
87974         * m4/fwritable.m4: New file.
87976 2007-04-13  Bruno Haible  <bruno@clisp.org>
87978         * modules/freadable-tests: New file.
87979         * tests/test-freadable.c: New file.
87981         * modules/freadable: New file.
87982         * lib/freadable.h: New file.
87983         * lib/freadable.c: New file.
87984         * m4/freadable.m4: New file.
87986 2007-04-13  Bruno Haible  <bruno@clisp.org>
87988         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
87989         MOSTLYCLEANFILES.
87991 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
87993         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
87994         gzip bootstrap.conf to avoid dragging in i18n machinery.
87995         (gnulib_tool_option): Use it.
87997 2007-04-13  Bruno Haible  <bruno@clisp.org>
87999         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
88000         %F directives.
88001         * tests/test-vasprintf-posix.c (test_function): Likewise.
88002         * tests/test-snprintf-posix.h (test_function): Likewise.
88003         * tests/test-sprintf-posix.h (test_function): Likewise.
88004         * tests/test-fprintf-posix.h (test_function): Likewise.
88005         * tests/test-printf-posix.h (test_function): Likewise.
88006         * tests/test-fprintf-posix.out: Likewise.
88008 2007-04-13  Bruno Haible  <bruno@clisp.org>
88010         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
88011         * modules/tls-tests (configure.ac): Likewise.
88012         Reported by Arto C. Nirkko <anirkko@insel.ch>.
88014 2007-04-13  Bruno Haible  <bruno@clisp.org>
88016         * lib/tls.c (glthread_tls_get): Fix return type.
88017         Patch by Arto C. Nirkko <anirkko@insel.ch>.
88019 2007-04-12  Eric Blake  <ebb9@byu.net>
88021         * modules/gettime (Depends-on): Remove gettime.
88022         Reported by Dmitry V. Levin.
88024 2007-04-12  Bruno Haible  <bruno@clisp.org>
88026         * modules/fflush (Include): Mention <stdio.h>.
88027         * modules/strtoimax (Include): Mention <inttypes.h>.
88028         * modules/strtoumax (Include): Likewise.
88030 2007-04-12  Eric Blake  <ebb9@byu.net>
88032         * .cvsignore: New file.
88033         * .gitignore: Likewise.
88035 2007-04-12  Bruno Haible  <bruno@clisp.org>
88037         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
88038         not before, since $(LDADD) often contains libgnu.a.
88039         * modules/striconv-tests (test_striconv_LDADD): Likewise.
88040         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
88041         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
88042         Needed on Cygwin.
88044 2007-04-12  Eric Blake  <ebb9@byu.net>
88046         Work around glibc's failure to flush stdin on fclose.
88047         * lib/closein.c (close_stdin): Flush stdin before closing.
88049         Work around glibc's failure to reset seekable stdin on exit.
88050         * modules/closein: New module.
88051         * lib/closein.c: New file.
88052         * lib/closein.h: Likewise.
88053         * m4/closein.m4: Likewise.
88054         * MODULES.html.sh (File stream based Input/Output): Document it.
88056 2007-04-12  Simon Josefsson  <simon@josefsson.org>
88058         * gnulib-tool: Rename generated 'autobuild' script to
88059         'do-autobuild' in --create-megatestdir output.
88061         * doc/gnulib.texi (Build robot for gnulib): Fix.
88063 2007-04-12  Simon Josefsson  <simon@josefsson.org>
88065         * modules/sysexits (Depends-on): Add absolute-header.
88067 2007-04-12  Eric Blake  <ebb9@byu.net>
88069         No need to preserve errno on success.
88070         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
88071         Reported by Bruno Haible.
88073 2007-04-12  Simon Josefsson  <simon@josefsson.org>
88075         * MODULES.html.sh (Support for maintaining and releasing
88076         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
88078 2007-04-12  Simon Josefsson  <simon@josefsson.org>
88080         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
88082 2007-04-12  Simon Josefsson  <simon@josefsson.org>
88084         * modules/autobuild: New module.
88086         * m4/autobuild.m4: New file.
88088 2007-04-11  Bruno Haible  <bruno@clisp.org>
88090         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
88091         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
88092         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
88093         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
88094         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
88095         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88096         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88097         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
88098         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88099         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88100         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
88101         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88102         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88103         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
88104         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88105         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88106         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
88107         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88108         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88109         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
88110         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88111         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88112         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
88113         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88114         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88115         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
88116         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88117         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88118         Reported by Eric Blake.
88120 2007-04-11  Bruno Haible  <bruno@clisp.org>
88122         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
88124 2007-04-10  Bruno Haible  <bruno@clisp.org>
88126         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
88127         for NaN and Infinity. Needed on FreeBSD 6.1.
88128         * tests/test-vasnprintf-posix.c (test_function): Undo last change
88129         regarding results for "%010a" of Infinity and NaN.
88130         * tests/test-vasprintf-posix.c (test_function): Likewise.
88131         * tests/test-snprintf-posix.h (test_function): Likewise.
88132         * tests/test-sprintf-posix.h (test_function): Likewise.
88133         * tests/test-fprintf-posix.h (test_function): Likewise.
88134         * tests/test-printf-posix.h (test_function): Likewise.
88135         * tests/test-fprintf-posix.out: Likewise.
88137 2007-04-10  Bruno Haible  <bruno@clisp.org>
88139         * modules/locale-tests: New file.
88140         * tests/test-locale.c: New file.
88142         * modules/locale: New file.
88143         * lib/locale_.h: New file.
88144         * m4/locale_h.m4: New file.
88146 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
88147             Bruno Haible  <bruno@clisp.org>
88149         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
88150         be determined, test for availability of the copysignf, copysign,
88151         copysignl functions.
88152         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
88153         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
88154         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
88156 2007-04-09  Eric Blake  <ebb9@byu.net>
88158         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
88159         * modules/stdio (Makefile.am): Support fflush.
88160         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
88161         * modules/fflush: New file.
88162         * lib/fflush.c: Likewise.
88163         * m4/fflush.m4: Likewise.
88164         * modules/fflush-tests: New test.
88165         * tests/test-fflush.c: Likewise.
88166         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
88168 2007-04-06  Bruno Haible  <bruno@clisp.org>
88170         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
88171         (VASNPRINTF): Use signbit for faster determination whether to print a
88172         minus sign.
88173         * modules/vasnprintf (Files): Remove lib/float+.h.
88174         * modules/fprintf-posix (Depends-on): Add signbit.
88175         * modules/snprintf-posix (Depends-on): Likewise.
88176         * modules/sprintf-posix (Depends-on): Likewise.
88177         * modules/vasnprintf-posix (Depends-on): Likewise.
88178         * modules/vasprintf-posix (Depends-on): Likewise.
88179         * modules/vfprintf-posix (Depends-on): Likewise.
88180         * modules/vsnprintf-posix (Depends-on): Likewise.
88181         * modules/vsprintf-posix (Depends-on): Likewise.
88183 2007-04-06  Bruno Haible  <bruno@clisp.org>
88185         * tests/test-frexp.c (main): Test also the sign bit of zero results.
88186         * tests/test-frexpl.c (main): Likewise.
88187         * tests/test-ldexpl.c (main): Likewise.
88188         * modules/frexp-tests (Depends-on): Add signbit.
88189         * modules/frexpl-tests (Depdends-on): Likewise.
88190         * modules/ldexpl-tests (Depdends-on): Likewise.
88192 2007-04-06  Bruno Haible  <bruno@clisp.org>
88194         * modules/signbit-tests: New file.
88195         * tests/test-signbit.c: New file.
88197         * modules/signbit: New file.
88198         * lib/signbitf.c: New file.
88199         * lib/signbitd.c: New file.
88200         * lib/signbitl.c: New file.
88201         * m4/signbit.m4: New file.
88202         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
88203         (signbit): New macro.
88204         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
88205         REPLACE_SIGNBIT.
88206         * modules/math (Makefile.am): Substitute also GNULIB_SIGNBIT and
88207         REPLACE_FREXPL into math.h.
88209 2007-04-06  Bruno Haible  <bruno@clisp.org>
88211         * modules/isnanf-nolibm-tests: New file.
88212         * tests/test-isnanf.c: New file.
88214         * modules/isnanf-nolibm: New file.
88215         * lib/isnanf.h: New file.
88216         * lib/isnanf.c: New file.
88217         * lib/isnan.c: Consider the USE_FLOAT macro.
88218         * m4/isnanf.m4: New file.
88220 2007-04-06  Bruno Haible  <bruno@clisp.org>
88222         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
88223         (Link): New section.
88225         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
88227 2007-04-06  Bruno Haible  <bruno@clisp.org>
88229         Assume the 'long double' type.
88230         * m4/longdouble.m4: Remove file.
88231         * config/srclist.txt: Don't mention longdouble.m4.
88232         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
88233         * lib/float+.h: Likewise.
88234         * lib/frexp.c: Likewise.
88235         * lib/printf-args.h: Likewise.
88236         * lib/printf-args.c: Likewise.
88237         * lib/printf-frexp.c: Likewise.
88238         * lib/printf-parse.c: Likewise.
88239         * lib/vasnprintf.c: Likewise.
88240         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
88241         * m4/intl.m4: Likewise.
88242         * m4/isnanl.m4: Likewise.
88243         * m4/printf.m4: Likewise.
88244         * m4/printf-frexpl.m4: Likewise.
88245         * m4/vasnprintf.m4: Likewise.
88246         * modules/allocsa (Files): Remove m4/longdouble.m4.
88247         * modules/gettext (Files): Likewise.
88248         * modules/relocatable-prog-wrapper (Files): Likewise.
88249         * modules/vasnprintf (Files): Likewise.
88250         * modules/isnanl (Files): Likewise.
88251         (Include): Simplify.
88252         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
88253         (Include): Simplify.
88254         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
88255         (Include): Simplify.
88256         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
88257         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
88258         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
88259         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
88260         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
88261         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
88262         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
88263         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
88264         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
88265         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
88266         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
88267         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
88268         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
88269         * tests/test-isnanl.c: Likewise.
88270         * tests/test-snprintf-posix.h: Likewise.
88271         * tests/test-sprintf-posix.h: Likewise.
88272         * tests/test-vasnprintf-posix.c: Likewise.
88273         * tests/test-vasnprintf-posix2.c: Likewise.
88274         * tests/test-vasprintf-posix.c: Likewise.
88276 2007-04-06  Bruno Haible  <bruno@clisp.org>
88278         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
88279         * lib/math_.h [__DECC]: Include the overridden include file through
88280         #include_next, outside the double-inclusion guard.
88281         * lib/stdio_.h [__DECC]: Likewise.
88282         * lib/stdlib_.h [__DECC]: Likewise.
88283         * lib/string_.h [__DECC]: Likewise.
88284         * lib/time_.h [__DECC]: Likewise.
88285         * lib/wchar_.h [__DECC]: Likewise.
88286         * lib/wctype_.h [__DECC]: Likewise.
88287         * lib/inttypes_.h [__DECC]: Likewise.
88288         Reported by Albert Chin <china@thewrittenword.com> in
88289         <http://lists.gnu.org/r/bug-gnulib/2007-04/msg00088.html>.
88291 2007-04-04  Eric Blake  <ebb9@byu.net>
88293         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
88294         1.5.x.
88296 2007-04-04  Bruno Haible  <bruno@clisp.org>
88298         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
88299         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
88301 2007-04-04  Bruno Haible  <bruno@clisp.org>
88303         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
88304         results for "%010a" of Infinity and NaN.
88305         * tests/test-vasprintf-posix.c (test_function): Likewise.
88306         * tests/test-snprintf-posix.h (test_function): Likewise.
88307         * tests/test-sprintf-posix.h (test_function): Likewise.
88308         * tests/test-fprintf-posix.h (test_function): Remove these tests.
88309         * tests/test-printf-posix.h (test_function): Likewise.
88310         * tests/test-fprintf-posix.out: Update.
88311         Needed for FreeBSD 6.1.
88313 2007-04-04  Bruno Haible  <bruno@clisp.org>
88315         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
88316         directly used by the gnulib modules nor by gnulib-tool.
88318 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
88320         * DEPENDENCIES: Give overall description of version dependency
88321         desirability.  Use more-typical names for apps.
88322         Add shell, coreutils, diffutils, grep, tar, gzip.
88324 2007-04-04  Simon Josefsson  <simon@josefsson.org>
88326         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
88328 2007-04-04  Karl Berry  <karl@gnu.org>
88330         * MODULES.html.sh (func_module): missing '.
88332 2007-04-03  Bruno Haible  <bruno@clisp.org>
88334         * modules/argmatch-tests (Makefile.am): New variable
88335         test_argmatch_LDADD.
88336         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
88337         * modules/array-list-tests (Makefile.am): New variable
88338         test_array_list_LDADD.
88339         * modules/array-oset-tests (Makefile.am): New variable
88340         test_array_oset_LDADD.
88341         * modules/avltree-list-tests (Makefile.am): New variable
88342         test_avltree_list_LDADD.
88343         * modules/avltree-oset-tests (Makefile.am): New variable
88344         test_avltree_oset_LDADD.
88345         * modules/avltreehash-list-tests (Makefile.am): New variable
88346         test_avltreehash_list_LDADD.
88347         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
88348         test_canonicalize_lgpl_LDADD.
88349         * modules/carray-list-tests (Makefile.am): New variable
88350         test_carray_list_LDADD.
88351         * modules/dirname-tests (Makefile.am): New variable
88352         test_dirname_LDADD.
88353         * modules/linked-list-tests (Makefile.am): New variable
88354         test_linked_list_LDADD.
88355         * modules/linkedhash-list-tests (Makefile.am): New variable
88356         test_linkedhash_list_LDADD.
88357         * modules/rbtree-list-tests (Makefile.am): New variable
88358         test_rbtree_list_LDADD.
88359         * modules/rbtree-oset-tests (Makefile.am): New variable
88360         test_rbtree_oset_LDADD.
88361         * modules/rbtreehash-list-tests (Makefile.am): New variable
88362         test_rbtreehash_list_LDADD.
88363         * modules/xvasprintf-tests (Makefile.am): New variable
88364         test_xvasprintf_LDADD.
88365         Reported by Eric Blake.
88367 2007-04-03  Eric Blake  <ebb9@byu.net>
88369         * DEPENDENCIES: Weaken m4 requirements.
88371 2007-04-03  Bruno Haible  <bruno@clisp.org>
88373         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
88374         * modules/isnanl-tests (configure.ac): Likewise.
88376 2007-04-03  Ben Pfaff  <blp@gnu.org>
88378         * modules/iconv_open: Add $(srcdir)/ to source directory
88379         references in Makefile fragments that call gperf, to fix VPATH
88380         builds.
88382 2007-04-03  Bruno Haible  <bruno@clisp.org>
88384         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
88385         * lib/ldexpl.c: Undo last change.
88387 2007-04-03  Bruno Haible  <bruno@clisp.org>
88389         * modules/printf-frexpl (Depends-on): Undo last change.
88390         (Files): Add m4/ldexpl.m4.
88392 2007-04-03  Bruno Haible  <bruno@clisp.org>
88394         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
88395         * modules/isnanl (Link): New section.
88397         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
88398         * modules/frexp (Link): New section.
88400         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
88401         * modules/frexpl (Link): New section.
88403         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
88404         * modules/ldexpl (Link): New section.
88406 2007-04-03  Bruno Haible  <bruno@clisp.org>
88408         * modules/TEMPLATE-EXTENDED: New file.
88409         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
88411 2007-04-03  Bruno Haible  <bruno@clisp.org>
88413         * DEPENDENCIES: New file.
88414         Suggested by Simon Josefsson.
88416 2007-04-03  Bruno Haible  <bruno@clisp.org>
88418         * doc/gnulib.texi: Escape @.
88420 2007-04-03  James Youngman  <jay@gnu.org>
88421         and Paul Eggert  <eggert@cs.ucla.edu>
88423         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
88424         birthtime on all systems that have birthtime, not just those which
88425         use st_birthtimensec rather than st_birthtim.  Putting zero in
88426         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
88427         that the birth time is not available for files on an NFS mount.
88429 2007-04-03  Simon Josefsson  <simon@josefsson.org>
88431         * modules/memxor: Move back from crypto/, suggested by Bruno.
88432         * modules/crypto/hmac-sha1: Fix memxor dependency.
88434         * modules/crypto/gc: Moved from ../.
88436 2007-04-02  Eric Blake  <ebb9@byu.net>
88438         * lib/ldexpl.c (includes): Avoid libm.
88440         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
88442 2007-04-02  Bruno Haible  <bruno@clisp.org>
88444         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
88445         on IRIX.
88447 2007-04-02  Bruno Haible  <bruno@clisp.org>
88449         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
88450         x86 or x86_64 platforms running MacOS X.
88451         Reported by Ryan Schmidt <@ryandesign.com>.
88453 2007-04-02  Bruno Haible  <bruno@clisp.org>
88455         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
88456         i386.
88458 2007-04-01  Simon Josefsson  <simon@josefsson.org>
88460         * modules/crypto/arcfour: Moved from ../.
88461         * modules/crypto/arcfour-tests: Moved from ../.
88462         * modules/crypto/arctwo: Moved from ../.
88463         * modules/crypto/arctwo-tests: Moved from ../.
88464         * modules/crypto/des: Moved from ../.
88465         * modules/crypto/des-tests: Moved from ../.
88466         * modules/crypto/gc-arcfour: Moved from ../.
88467         * modules/crypto/gc-arcfour-tests: Moved from ../.
88468         * modules/crypto/gc-arctwo: Moved from ../.
88469         * modules/crypto/gc-arctwo-tests: Moved from ../.
88470         * modules/crypto/gc-des: Moved from ../.
88471         * modules/crypto/gc-des-tests: Moved from ../.
88472         * modules/crypto/gc-hmac-md5: Moved from ../.
88473         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
88474         * modules/crypto/gc-hmac-sha1: Moved from ../.
88475         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
88476         * modules/crypto/gc-md2: Moved from ../.
88477         * modules/crypto/gc-md2-tests: Moved from ../.
88478         * modules/crypto/gc-md4: Moved from ../.
88479         * modules/crypto/gc-md4-tests: Moved from ../.
88480         * modules/crypto/gc-md5: Moved from ../.
88481         * modules/crypto/gc-md5-tests: Moved from ../.
88482         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
88483         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
88484         * modules/crypto/gc-random: Moved from ../.
88485         * modules/crypto/gc-rijndael: Moved from ../.
88486         * modules/crypto/gc-rijndael-tests: Moved from ../.
88487         * modules/crypto/gc-sha1: Moved from ../.
88488         * modules/crypto/gc-sha1-tests: Moved from ../.
88489         * modules/crypto/gc-tests: Moved from ../.
88490         * modules/crypto/hmac-md5: Moved from ../.
88491         * modules/crypto/hmac-md5-tests: Moved from ../.
88492         * modules/crypto/hmac-sha1: Moved from ../.
88493         * modules/crypto/hmac-sha1-tests: Moved from ../.
88494         * modules/crypto/md2: Moved from ../.
88495         * modules/crypto/md2-tests: Moved from ../.
88496         * modules/crypto/md4: Moved from ../.
88497         * modules/crypto/md4-tests: Moved from ../.
88498         * modules/crypto/md5: Moved from ../.
88499         * modules/crypto/md5-tests: Moved from ../.
88500         * modules/crypto/memxor: Moved from ../.
88501         * modules/crypto/rijndael: Moved from ../.
88502         * modules/crypto/rijndael-tests: Moved from ../.
88503         * modules/crypto/sha1: Moved from ../.
88505 2007-03-30  James Youngman  <jay@gnu.org>
88507         * tests/test-stat-time.c (prepare_test): use chmod() rather than
88508         rename() to change the ctime of a file (because ctime is unaffected
88509         by rename on jfs2 on AIX 5.1).
88510         (main): Start by doing cleanup, in case a previous run failed leaving
88511         test files behind.
88513 2007-03-31  Bruno Haible  <bruno@clisp.org>
88515         Support old proprietary implementations of iconv.
88516         * modules/iconv_open: New file.
88517         * lib/iconv_.h: New file.
88518         * m4/iconv_h.m4: New file.
88519         * lib/iconv_open.c: New file.
88520         * lib/iconv_open-aix.gperf: New file.
88521         * lib/iconv_open-hpux.gperf: New file.
88522         * lib/iconv_open-irix.gperf: New file.
88523         * lib/iconv_open-osf.gperf: New file.
88524         * m4/iconv_open.m4: New file.
88525         * modules/linebreak (Depends-on): Add iconv_open.
88526         * modules/striconv (Depends-on): Likewise.
88527         * modules/striconveh (Depends-on): Likewise.
88528         * modules/unicodeio (Depends-on): Likewise.
88529         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
88530         (iconv_t)(-1).
88531         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
88532         conversion if cd is (iconv_t)(-1).
88533         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
88534         is not possible.
88536 2007-03-31  Bruno Haible  <bruno@clisp.org>
88538         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
88539         work on Solaris either. Protect also second use of "autodetect_jp".
88541 2007-03-31  Bruno Haible  <bruno@clisp.org>
88543         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
88544         the function is not present.
88546 2007-03-31  Bruno Haible  <bruno@clisp.org>
88548         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
88549         the function is not present.
88551 2007-03-31  Bruno Haible  <bruno@clisp.org>
88553         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
88554         a bug in HP-UX iconv_open().
88556 2007-03-31  Bruno Haible  <bruno@clisp.org>
88558         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
88559         (Mathematics <math.h>): New section, add fpieee.
88560         (Input/output <stdio.h>): Add fseterr.
88561         (Mathematics <math.h>): New section, add printf-frexp.
88562         (Container data structures): Add sublist.
88563         (Core language properties): Add fpucw, inline.
88564         (Functions for greatest-width integer types <inttypes.h>): Add
88565         imaxabs, imaxdiv, inttypes.
88566         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
88567         isnanl-nolibm, ldexp.
88568         (Mathematics <math.h>): New section, add printf-frexpl.
88569         (Support for systems lacking POSIX:2001): Add fprintf-posix,
88570         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
88571         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
88572         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
88573         (Unicode string functions): Add unistr/u*-mbtoucr.
88574         (Java): Add javacomp-script, javaexec-script.
88575         (C#): Add csharpcomp-script, csharpexec-script.
88576         (Support for building libraries and executables): Add havelib,
88577         relocatable-*.
88578         (Support for maintaining and releasing projects): Renamed from
88579         'Support for maintaining and release projects'. Add announce-gen.
88581 2007-03-31  Bruno Haible  <bruno@clisp.org>
88583         * README: Talk primarily about git.
88584         (git and CVS): Renamed from CVS.
88585         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
88586         gnulib is available through git.
88587         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
88589 2007-03-30  Bruno Haible  <bruno@clisp.org>
88591         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
88592         * lib/poll_.h: Likewise.
88593         * lib/stat_.h: Likewise.
88594         * lib/sys_time_.h: Likewise.
88595         * lib/sysexit_.h: Likewise.
88596         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
88597         * lib/stdbool_.h: Likewise.
88598         * lib/byteswap_.h: Add double-inclusion guard.
88600 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
88602         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
88604 2007-03-30  Karl Berry  <karl@gnu.org>
88606         * config/srclist-update: double space after USA in the license
88607         substitution, since that's how it's usually (?) written.
88609 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
88611         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
88612         reported by Bruno Haible.
88614 2007-03-29  Bruno Haible  <bruno@clisp.org>
88616         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
88617         a bug in AIX iconv().
88619 2007-03-29  Bruno Haible  <bruno@clisp.org>
88621         * modules/ldexpl-tests: New file.
88622         * tests/test-ldexpl.c: New file.
88624 2007-03-29  Bruno Haible  <bruno@clisp.org>
88626         * lib/ldexpl.c: Include fpucw.h.
88627         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
88628         multiplication.
88629         * modules/ldexpl (Depends-on): Add fpucw.
88631 2007-03-29  Bruno Haible  <bruno@clisp.org>
88633         * modules/ldexpl: New file.
88634         * m4/ldexpl.m4: New file.
88635         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
88636         set.
88637         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
88638         REPLACE_LDEXPL.
88639         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
88640         REPLACE_LDEXPL.
88641         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
88642         gl_FUNC_LDEXPL_WORKS.
88643         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
88644         * modules/mathl (Files): Remove lib/ldexpl.c.
88645         (Depends-on): Add ldexpl.
88647 2007-03-29  Bruno Haible  <bruno@clisp.org>
88649         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
88651 2007-03-29  Bruno Haible  <bruno@clisp.org>
88653         * tests/test-striconveh.c (main): Don't assume that a direct conversion
88654         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
88655         and possibly also HP-UX.
88656         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
88657         work on AIX, IRIX, HP-UX, OSF/1.
88658         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
88659         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
88660         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
88661         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
88662         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
88663         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
88665 2007-03-29  Bruno Haible  <bruno@clisp.org>
88667         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
88669 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
88671         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
88672         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
88674 2007-03-29  Eric Blake  <ebb9@byu.net>
88676         * lib/acl-internal.h: Remove redundant include.
88677         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
88678         Cygwin when a file is locked.
88680 2007-03-29  Bruno Haible  <bruno@clisp.org>
88682         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
88683         file.
88684         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
88686 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
88688         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
88689         try to remove a parent directory if the child couldn't be removed
88690         (except for the first rmdir, which could fail because the child
88691         doesn't exist).  Problem reported by Jeff Blaine in
88692         <http://lists.gnu.org/r/bug-tar/2007-03/msg00014.html>.
88694 2007-03-28  Bruno Haible  <bruno@clisp.org>
88696         * lib/striconveh.c (utf8conv_carefully): New function.
88697         (mem_cd_iconveh_internal): Invoke it.
88699 2007-03-28  Bruno Haible  <bruno@clisp.org>
88701         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
88702         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
88703         input.
88704         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
88705         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
88706         unistr/u8-uctomb.
88708 2007-03-28  Bruno Haible  <bruno@clisp.org>
88710         * modules/unistr/u8-mbtoucr: New file.
88711         * lib/unistr/u8-mbtoucr.c: New file.
88712         * modules/unistr/u16-mbtoucr: New file.
88713         * lib/unistr/u16-mbtoucr.c: New file.
88714         * modules/unistr/u16-mbtoucr: New file.
88715         * lib/unistr/u16-mbtoucr.c: New file.
88716         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
88718 2007-03-27  Simon Josefsson  <simon@josefsson.org>
88719             Bruno Haible  <bruno@clisp.org>
88721         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
88722         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
88723         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
88725         * m4/stdio_h.m4: Add stubs for vasprintf too.
88727         * modules/stdio: Support vasprintf in sed command.
88729         * modules/vasprintf: Depend on stdio for prototypes.  Remove
88730         vasprintf.h.  Add stdio module indicator.
88732         * lib/stdio_.h: Declare asprintf and vasprintf, based on
88733         vasprintf.h.
88735         * lib/vasprintf.h: File removed.
88737         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
88738         * lib/vasprintf.c: Ditto.
88739         * lib/xvasprintf.c: Ditto.
88740         * tests/test-vasprintf-posix.c: Ditto.
88741         * tests/test-vasprintf.c: Ditto.
88743 2007-03-27  Bruno Haible  <bruno@clisp.org>
88745         Make vasnprintf multithread-safe.
88746         * lib/vasnprintf.c (decimal_point_char): New function.
88747         (VASNPRINTF): Use it.
88748         Suggested by Simon Josefsson.
88750 2007-03-27  Eric Blake  <ebb9@byu.net>
88752         Support sub-second birthtime on cygwin.
88753         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
88754         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
88755         (get_stat_birthtime): Also work with st_birthtim.
88757 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
88759         * lib/stat-time.h (USE_BIRTHTIME): Remove.
88760         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
88761         (get_stat_birthtime_ns): Do not try to use "spare" fields.
88762         (get_stat_birthtime_ns): Simplify compile-time tests.
88763         (get_stat_birthtime): Change the API to look like
88764         get_stat_mtime etc., except return a negative tv_nsec on error.
88765         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
88766         Don't check for "spare" fields.
88767         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
88768         or for struct stat.st_birthtime, as these tests aren't used.
88769         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
88771 2007-03-27  Bruno Haible  <bruno@clisp.org>
88773         * lib/stat-time.h: Include <sys/stat.h>.
88775 2007-03-27  James Youngman  <jay@gnu.org>
88777         * lib/stat-time.h (get_stat_birthtime): New function for
88778           retrieving st_birthtime as provided by UFS2 (hence *BSD).
88779         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
88780           and its variants.
88781         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
88782         * modules/stat-time-test: New file.
88783         * tests/test-stat-time.c: New test, devised by Bruno Haible.
88785 2007-03-26  Bruno Haible  <bruno@clisp.org>
88787         Better support of signalling NaNs.
88788         * lib/atanl.c: Include isnanl.h.
88789         (atanl): Perform test for NaN at the beginning of the function and
88790         through a call to isnanl.
88791         * lib/cosl.c: Include isnanl.h.
88792         (cosl): Perform test for NaN at the beginning of the function and
88793         through a call to isnanl.
88794         * lib/ldexpl.c: Include isnanl.h.
88795         (ldexpl): Perform test for NaN through a call to isnanl.
88796         * lib/logl.c: Include isnanl.h.
88797         (logl): Perform test for NaN at the beginning of the function and
88798         through a call to isnanl.
88799         * lib/sinl.c: Include isnanl.h.
88800         (sinl): Perform test for NaN at the beginning of the function and
88801         through a call to isnanl.
88802         * lib/sqrtl.c: Include isnanl.h.
88803         (sqrtl): Perform test for NaN at the beginning of the function and
88804         through a call to isnanl.
88805         * lib/tanl.c: Include isnanl.h.
88806         (tanl): Perform test for NaN at the beginning of the function and
88807         through a call to isnanl.
88808         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
88809         * modules/mathl (Depends-on): Add isnanl.
88811 2007-03-26  Eric Blake  <ebb9@byu.net>
88813         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
88814         regression in logic sense of previous patch.
88816 2007-03-26  Bruno Haible  <bruno@clisp.org>
88818         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
88819         unportable shell command "if ! ...".
88820         Reported by Ralf Wildenhues.
88822 2007-03-25  Bruno Haible  <bruno@clisp.org>
88824         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
88825         <sysexits.h> file, and only add EX_CONFIG.
88826         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
88827         absolute file name and whether it is sufficient. Substitute also
88828         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
88829         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
88830         ABSOLUTE_SYSEXITS_H into sysexits.h.
88832 2007-03-25  Bruno Haible  <bruno@clisp.org>
88834         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
88835         hints is NULL.
88837 2007-03-25  Bruno Haible  <bruno@clisp.org>
88839         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
88840         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
88842 2007-03-25  Bruno Haible  <bruno@clisp.org>
88844         * lib/vasnprintf.c: Include langinfo.h.
88845         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
88846         multithread-safe.
88847         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
88848         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
88849         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
88850         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
88851         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
88852         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
88853         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
88854         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
88855         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
88856         Reported by Simon Josefsson.
88858 2007-03-25  Bruno Haible  <bruno@clisp.org>
88860         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
88861         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
88862         * modules/vasnprintf (Depends-on): Add stdint.
88864 2007-03-25  Bruno Haible  <bruno@clisp.org>
88866         * modules/fpieee: New file.
88867         * m4/fpieee.m4: New file.
88868         * modules/isnan-nolibm (Depends-on): Add fpieee.
88869         * modules/isnanl-nolibm (Depends-on): Add fpieee.
88870         * modules/isnanl (Depends-on): Add fpieee.
88872 2007-03-25  Bruno Haible  <bruno@clisp.org>
88874         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
88876 2007-03-25  Bruno Haible  <bruno@clisp.org>
88878         Avoid test failures on IRIX 6.5.
88879         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
88880         (main): Use it.
88881         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
88882         macros.
88883         (main): Use them.
88885 2007-03-25  Bruno Haible  <bruno@clisp.org>
88887         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
88888         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
88889         exists but doesn't work.
88890         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
88891         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
88892         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
88893         * modules/math (Makefile.am): Substitute also REPLACE_FREXPL into
88894         math.h.
88896 2007-03-25  Bruno Haible  <bruno@clisp.org>
88898         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
88899         returns inf. Needed on IRIX 6.5.
88901 2007-03-25  Bruno Haible  <bruno@clisp.org>
88903         * tests/test-frexpl.c: Include isnanl-nolibm.h.
88904         (main): Use isnanl instead of x != x idiom.
88905         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
88907         * tests/test-frexp.c: Include isnan.h.
88908         (main): Use isnan instead of x != x idiom.
88909         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
88911 2007-03-25  Bruno Haible  <bruno@clisp.org>
88913         * tests/test-frexp.c (NaN): New function/macro.
88914         (main): Use it instead of 0.0 / 0.0.
88915         * tests/test-isnan.c (NaN): New function/macro.
88916         (main): Use it instead of 0.0 / 0.0.
88917         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
88918         (test_function): Use it instead of 0.0 / 0.0.
88919         * tests/test-vasprintf-posix.c (NaN): New function/macro.
88920         (test_function): Use it instead of 0.0 / 0.0.
88921         * tests/test-snprintf-posix.h (NaN): New function/macro.
88922         (test_function): Use it instead of 0.0 / 0.0.
88923         * tests/test-sprintf-posix.h (NaN): New function/macro.
88924         (test_function): Use it instead of 0.0 / 0.0.
88925         * tests/test-fprintf-posix.h (NaN): New function/macro.
88926         (test_function): Use it instead of 0.0 / 0.0.
88927         * tests/test-printf-posix.h (NaN): New function/macro.
88928         (test_function): Use it instead of 0.0 / 0.0.
88930         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
88932 2007-03-25  Bruno Haible  <bruno@clisp.org>
88934         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
88936 2007-03-25  Bruno Haible  <bruno@clisp.org>
88938         * lib/regexec.c (merge_state_with_log): Make static.
88940 2007-03-25  Bruno Haible  <bruno@clisp.org>
88942         * lib/trigl.c (kernel_rem_pio2): Make static.
88944 2007-03-25  Bruno Haible  <bruno@clisp.org>
88946         * lib/sincosl.c (sincosl_table): Make static.
88948 2007-03-25  Bruno Haible  <bruno@clisp.org>
88950         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
88951         if the compiler does not support C99.
88953 2007-03-25  Bruno Haible  <bruno@clisp.org>
88955         * modules/time (Makefile.am): Ensure all rule action lines start with a
88956         tab.
88958 2007-03-24  Bruno Haible  <bruno@clisp.org>
88960         * modules/tsearch-tests: New file.
88961         * tests/test-tsearch.sh: New file.
88962         * tests/test-tsearch.c: New file, mostly copied from glibc.
88964         * modules/search-tests: New file.
88965         * tests/test-search.c: New file.
88967         * modules/search: New file.
88968         * lib/search_.h: New file, incorporating lib/tsearch.h.
88969         * m4/search_h.m4: New file.
88970         * lib/tsearch.h: Remove file.
88971         * lib/tsearch.c: Include search.h instead of tsearch.h.
88972         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
88973         HAVE_TSEARCH.
88974         * modules/tsearch (Files): Remove lib/tsearch.h.
88975         (Depends-on): Add search.
88976         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
88977         (Include): Change tsearch.h into search.h.
88979 2007-03-24  Bruno Haible  <bruno@clisp.org>
88981         * modules/fpucw: New file.
88982         * lib/fpucw.h: New file.
88983         * lib/frexp.c: Include fpucw.h.
88984         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
88985         (FUNC): Use them.
88986         * lib/printf-frexp.c: Include fpucw.h.
88987         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
88988         (FUNC): Use them.
88989         * lib/vasnprintf.c: Include fpucw.h.
88990         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
88991         'long double' calculations.
88992         * tests/test-frexpl.c: Include fpucw.h.
88993         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
88994         * tests/test-printf-frexpl.c: Include fpucw.h.
88995         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
88996         * modules/frexpl (Depends-on): Add fpucw.
88997         * modules/printf-frexpl (Depends-on): Likewise.
88998         * modules/fprintf-posix (Depends-on): Likewise.
88999         * modules/snprintf-posix (Depends-on): Likewise.
89000         * modules/sprintf-posix (Depends-on): Likewise.
89001         * modules/vasnprintf-posix (Depends-on): Likewise.
89002         * modules/vasprintf-posix (Depends-on): Likewise.
89003         * modules/vfprintf-posix (Depends-on): Likewise.
89004         * modules/vsnprintf-posix (Depends-on): Likewise.
89005         * modules/vsprintf-posix (Depends-on): Likewise.
89006         * modules/frexpl-tests (Depends-on): Likewise.
89007         * modules/printf-frexpl-tests (Depends-on): Likewise.
89009 2007-03-24  Bruno Haible  <bruno@clisp.org>
89011         * lib/float+.h: New file.
89012         * lib/isnan.c: Include float+.h.
89013         (SIZE): New macro.
89014         (FUNC): Compare only SIZE bytes of the value.
89015         * lib/vasnprintf.c: Include float+.h.
89016         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
89017         SIZEOF_LDBL or SIZEOF_DBL bytes.
89018         * modules/isnan-nolibm (Files): Add lib/float+.h.
89019         * modules/isnanl-nolibm (Files): Add lib/float+.h.
89020         * modules/isnanl (Files): Add lib/float+.h.
89021         * modules/vasnprintf (Files): Add lib/float+.h.
89023 2007-03-24  Bruno Haible  <bruno@clisp.org>
89025         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
89026         include isnanl-nolibm.h.
89028 2007-03-24  Bruno Haible  <bruno@clisp.org>
89030         * tests/test-read-file.c (main): Don't produce spurious output for
89031         expected situations. Make the test fail if it encountered unexpected
89032         results.
89034 2007-03-24  Bruno Haible  <bruno@clisp.org>
89036         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
89037         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
89039 2007-03-24  Bruno Haible  <bruno@clisp.org>
89041         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
89043 2007-03-24  Bruno Haible  <bruno@clisp.org>
89045         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
89046         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
89048         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
89049         * modules/utf8-ucs4: Turn into a symbolic link to module
89050         unistr/u8-mbtouc.
89052         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
89053         utf8-ucs4-unsafe.
89054         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
89055         unistr/u8-mbtouc-unsafe.
89057         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
89058         * modules/utf16-ucs4: Turn into a symbolic link to module
89059         unistr/u16-mbtouc.
89061         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
89062         utf16-ucs4-unsafe.
89063         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
89064         unistr/u16-mbtouc-unsafe.
89066         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
89067         * modules/ucs4-utf8: Turn into a symbolic link to module
89068         unistr/u8-ubtomb.
89070         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
89071         * modules/ucs4-utf16: Turn into a symbolic link to module
89072         unistr/u16-ubtomb.
89074 2007-03-24  Bruno Haible  <bruno@clisp.org>
89076         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
89077         Enable the function only if HAVE_INLINE.
89078         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
89079         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
89080         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
89081         Enable the function only if HAVE_INLINE.
89082         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
89083         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
89084         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
89085         Enable the function only if HAVE_INLINE.
89086         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
89087         Enable the function only if HAVE_INLINE.
89088         * modules/utf8-ucs4: Update.
89089         * modules/utf8-ucs4-unsafe: Update.
89090         * modules/utf16-ucs4: Update.
89091         * modules/utf16-ucs4-unsafe: Update.
89092         * modules/ucs4-utf8: Update.
89093         * modules/ucs4-utf16: Update.
89095 2007-03-24  Bruno Haible  <bruno@clisp.org>
89097         * lib/utf8-ucs4.h: Remove file.
89098         * lib/utf8-ucs4-unsafe.h: Remove file.
89099         * lib/utf16-ucs4.h: Remove file.
89100         * lib/utf16-ucs4-unsafe.h: Remove file.
89101         * lib/ucs4-utf8.h: Remove file.
89102         * lib/ucs4-utf16.h: Remove file.
89103         * lib/unistr.h: Include their previous contents.
89104         * m4/utf-ucs4.m4: Remove file.
89105         * m4/ucs4-utf.m4: Remove file.
89106         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
89107         (Depends-on): Add unistr/base.
89108         (configure.ac): Remove gl_UTF_UCS4.
89109         (Makefile.am): Update.
89110         (Include): Change to unistr.h.
89111         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
89112         (Depends-on): Add unistr/base.
89113         (configure.ac): Remove gl_UTF_UCS4.
89114         (Makefile.am): Update.
89115         (Include): Change to unistr.h.
89116         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
89117         (Depends-on): Add unistr/base.
89118         (configure.ac): Remove gl_UTF_UCS4.
89119         (Makefile.am): Update.
89120         (Include): Change to unistr.h.
89121         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
89122         (Depends-on): Add unistr/base.
89123         (configure.ac): Remove gl_UTF_UCS4.
89124         (Makefile.am): Update.
89125         (Include): Change to unistr.h.
89126         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
89127         (Depends-on): Add unistr/base.
89128         (configure.ac): Remove gl_UCS4_UTF.
89129         (Makefile.am): Update.
89130         (Include): Change to unistr.h.
89131         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
89132         (Depends-on): Add unistr/base.
89133         (configure.ac): Remove gl_UCS4_UTF.
89134         (Makefile.am): Update.
89135         (Include): Change to unistr.h.
89136         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
89137         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
89138         utf8-ucs4-unsafe.h.
89139         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
89140         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
89141         utf16-ucs4-unsafe.h.
89142         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
89143         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
89144         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
89145         * lib/unistr/u8-strchr.c: Likewise.
89146         * lib/unistr/u8-strrchr.c: Likewise.
89147         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
89148         * lib/unistr/u16-strchr.c: Likewise.
89149         * lib/unistr/u16-strrchr.c: Likewise.
89150         * lib/striconveh.c: Update.
89151         * lib/linebreak.c: Update.
89153 2007-03-24  Bruno Haible  <bruno@clisp.org>
89155         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
89156         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
89158 2007-03-22  Bruno Haible  <bruno@clisp.org>
89160         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
89162 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
89164         * MODULES.html.sh (File system functions): New module write-any-file.
89165         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
89166         * m4/write-any-file.m4: New files.
89168 2007-03-23  Eric Blake  <ebb9@byu.net>
89170         * gnulib-tool: Rearrange space-tab sequences, since some editors
89171         like to eat them.
89173 2007-03-23  Eric Blake  <ebb9@byu.net>
89175         * lib/version-etc.c (version_etc_va): Update license wording to
89176         be more concise.  Recommended by Richard Stallman.
89178 2007-03-22  Bruno Haible  <bruno@clisp.org>
89180         * lib/poll.c (MSG_PEEK): New fallback definition.
89182 2007-03-22  Bruno Haible  <bruno@clisp.org>
89184         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
89185         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
89186         (main): Update.
89187         Fixes a compilation error on BeOS.
89189 2007-03-22  Bruno Haible  <bruno@clisp.org>
89191         * modules/frexpl-tests: New file.
89192         * tests/test-frexpl.c: New file.
89194         * modules/frexpl: New file.
89195         * m4/frexpl.m4: New file.
89196         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
89197         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
89198         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
89199         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
89200         (Depends-on): Add frexpl. Remove isnanl-nolibm.
89201         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
89203 2007-03-22  Bruno Haible  <bruno@clisp.org>
89205         * lib/frexpl.c: Share code with lib/frexp.c.
89206         * modules/mathl (Files): Add lib/frexp.c.
89207         (Depends-on): Add isnanl-nolibm.
89209 2007-03-22  Bruno Haible  <bruno@clisp.org>
89211         * modules/printf-frexp (Files): Add m4/frexp.m4.
89212         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
89213         only if the found frexp function actually works.
89215 2007-03-22  Bruno Haible  <bruno@clisp.org>
89217         * lib/frexp.c: Remove older implementation that uses divisions.
89219 2007-03-21  Bruno Haible  <bruno@clisp.org>
89221         * modules/frexp-tests: New file.
89222         * tests/test-frexp.c: New file.
89224         * modules/frexp: New file.
89225         * lib/frexp.c: New file.
89226         * m4/frexp.m4: New file.
89227         * lib/math_.h (frexp): New declaration.
89228         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
89229         REPLACE_FREXP.
89230         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
89232 2007-03-21  Bruno Haible  <bruno@clisp.org>
89234         * modules/isnanl-tests: New file.
89235         * tests/test-isnanl.c: New file.
89237         * modules/isnanl: New file.
89238         * lib/isnanl.h: New file.
89239         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
89240         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
89241         gl_FUNC_ISNANL_WORKS.
89242         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
89243         New macros.
89245 2007-03-21  Bruno Haible  <bruno@clisp.org>
89247         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
89248         lib/isnanl.h.
89249         (Include): Update.
89250         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
89251         * lib/vasnprintf.c: Update.
89252         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
89253         tests/test-isnanl.h, remove tests/test-isnanl.c.
89254         (Makefile.am): Update.
89255         * tests/test-isnanl-nolibm.c: New file.
89256         * tests/test-isnanl.h: New file.
89257         * tests/test-isnanl.c: Remove file.
89259 2007-03-21  Jim Meyering  <jim@meyering.net>
89261         When trying to open ".", treat ESTALE like EACCES.
89262         * lib/savewd.c (savewd_save): Resort to forking not just upon
89263         failure with EACCES, but also when errno is ESTALE.
89265 2007-03-20  Bruno Haible  <bruno@clisp.org>
89267         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
89268         Needed on AIX 5.1. Reported by Matthew Woehlke.
89270 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
89272         Suggestions by Bruno Haible:
89273         * lib/acl-internal.h: Include "gettext.h" rather than rolling
89274         our own.
89275         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
89276         * modules/acl (Depends-on): Add gettext.
89278 2007-03-19  Bruno Haible  <bruno@clisp.org>
89280         * modules/iconvme: Remove file.
89281         * lib/iconvme.h: Remove file.
89282         * lib/iconvme.c: Remove file.
89283         * m4/iconvme.m4: Remove file.
89285 2007-03-19  Bruno Haible  <bruno@clisp.org>
89287         * doc/relocatable-maint.texi: Break long shell script line.
89288         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
89290 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
89292         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
89293         handle file_has_acl.
89294         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
89295         * lib/acl.c: Move header inclusions and related macro defns into
89296         lib/acl-internal.h.
89297         (S_ISLNK): Remove defn, since that's now done for us.
89298         (file_has_acl): Move to lib/file-has-acl.c.
89299         Call acl_trivial if available.  This is the crucial part of the fix.
89300         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
89301         shared within the library.  Rewrite a bit, partly to make it compatible
89302         with the GNU coding style.
89303         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
89304         Remove unnecessary double-quotes.
89305         Don't test for acl_to_text; the build will catch that.
89306         Replace acl_entries if it doesn't exist and it is needed.
89307         Check for -lsec and acl_trivial (as used on Solaris 10).
89308         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
89309         lib/file-has-acl.c.
89310         (Depends-on): Add sys_stat, for S_ISLNK.
89312 2007-03-19  Ben Pfaff  <blp@gnu.org>
89314         * doc/gnulib.texi: Fix typos.
89315         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
89317 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
89319         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
89320         If size is zero here, buf must be zero.
89322 2007-03-19  Simon Josefsson  <simon@josefsson.org>
89324         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
89325         <bruno@clisp.org>.
89327 2007-03-18  Bruno Haible  <bruno@clisp.org>
89329         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
89330         Suggested by Eric Blake.
89332 2007-03-18  Ben Pfaff  <blp@gnu.org>
89334         * doc/relocatable.texi: Recommend using as prefix a directory
89335         that does not exist and will never be created.  Based on
89336         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
89337         and others.
89339 2007-03-17  Bruno Haible  <bruno@clisp.org>
89341         * lib/fchownat.c: Include lchown.h.
89343 2007-03-17  Bruno Haible  <bruno@clisp.org>
89345         Fix endless loop when the given allocated size was > INT_MAX.
89346         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
89347         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
89348         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
89349         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
89350         * lib/sprintf.c (sprintf): Likewise.
89352 2007-03-17  Bruno Haible  <bruno@clisp.org>
89354         * tests/test-argp-2.sh (func_compare): Output a context diff.
89356 2007-03-17  Bruno Haible  <bruno@clisp.org>
89358         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
89359         locale's decimal-point character.
89361 2007-03-17  Bruno Haible  <bruno@clisp.org>
89363         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
89364         before comparing it. Needed because on some platforms (e.g. x86) a
89365         'long double' occupies less bytes than sizeof (long double).
89367 2007-03-17  Bruno Haible  <bruno@clisp.org>
89369         * tests/test-crc.c (main): Make printf statements 64-bit clean.
89370         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
89371         * tests/test-getaddrinfo.c (simple): Likewise.
89372         * tests/test-read-file.c (main): Likewise.
89374 2007-03-17  Bruno Haible  <bruno@clisp.org>
89376         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
89378 2007-03-17  Bruno Haible  <bruno@clisp.org>
89380         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
89381         unused variable.
89383 2007-03-17  Bruno Haible  <bruno@clisp.org>
89385         * tests/test-c-strcasecmp.c: Include c-strcase.h.
89386         * tests/test-c-strncasecmp.c: Likewise.
89388 2007-03-17  Bruno Haible  <bruno@clisp.org>
89390         * modules/stdlib (Depends-on): Add unistd.
89391         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
89392         Needed for MacOS X 10.3.
89394 2007-03-17  Bruno Haible  <bruno@clisp.org>
89396         * lib/unistr/u-strdup.h: Include <stdlib.h>.
89398 2007-03-17  Bruno Haible  <bruno@clisp.org>
89400         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
89402 2007-03-17  Bruno Haible  <bruno@clisp.org>
89404         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
89405         to reflect files copied from gnulib (with or without modifications).
89406         Suggested by Jim Meyering.
89408 2007-03-17  Eric Blake  <ebb9@byu.net>
89410         * NEWS: Document stdlib change from 2007-02-18.
89412 2007-03-17  Jim Meyering  <jim@meyering.net>
89414         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
89415         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
89416         someone uses a name containing shell meta-characters.
89417         Reported by Alfred M. Szmidt.
89419         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
89421 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
89423         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
89424         and copy gettext configuration files only if configure.ac contains
89425         a use of AM_GNU_GETTEXT_VERSION.
89427 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
89429         * build-aux/bootstrap (gnulib_name): New variable.
89430         (gnulib_tool_options): Use it.
89432 2007-03-13  Simon Josefsson  <simon@josefsson.org>
89434         * tests/test-des.c: Use new namespace.
89436 2007-03-15  Bruno Haible  <bruno@clisp.org>
89438         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
89439         Reported by James Youngman <jay@gnu.org>.
89441 2007-03-15  Bruno Haible  <bruno@clisp.org>
89443         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
89444         declared prototype. Needed with cc on OSF/1 5.1.
89446 2007-03-15  Bruno Haible  <bruno@clisp.org>
89448         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
89449         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
89450         (struct gl_list_implementation): Add dispose_fn argument to the
89451         'create_empty', 'create' methods.
89452         (struct gl_list_impl_base): Add field 'dispose_fn'.
89453         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
89454         argument.
89455         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
89456         dispose_fn argument.
89457         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
89458         dispose_fn on the dropped values.
89459         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
89460         dispose_fn argument.
89461         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
89462         dropped values.
89463         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
89464         (gl_tree_remove_node): Call dispose_fn on the dropped value.
89465         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
89466         (gl_tree_remove_node): Call dispose_fn on the dropped value.
89467         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
89468         argument.
89469         (gl_tree_list_free): Call dispose_fn on the dropped values.
89470         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
89471         the dropped values.
89472         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
89473         Add dispose_fn argument.
89474         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
89475         Call dispose_fn on the dropped values.
89476         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
89477         Add dispose_fn argument.
89478         (gl_sublist_create): Initialize the 'dispose_fn' field.
89479         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
89480         * tests/test-array_list.c (main): Update.
89481         * tests/test-carray_list.c (main): Update.
89482         * tests/test-avltree_list.c (main): Update.
89483         * tests/test-rbtree_list.c (main): Update.
89484         * tests/test-avltreehash_list.c (main): Update.
89485         * tests/test-rbtreehash_list.c (main): Update.
89486         * tests/test-linked_list.c (main): Update.
89487         * tests/test-linkedhash_list.c (main): Update.
89488         * tests/test-array_oset.c (main): Update.
89490 2007-03-15  Bruno Haible  <bruno@clisp.org>
89492         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
89493         (gl_oset_create_empty): Add dispose_fn argument.
89494         (struct gl_oset_implementation): Add dispose_fn argument to
89495         'create_empty' method.
89496         (struct gl_oset_impl_base): Add dispose_fn field.
89497         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
89498         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
89499         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
89500         values.
89501         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
89502         (gl_tree_oset_free): Call dispose_fn on the dropped values.
89503         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
89504         dropped value.
89505         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
89506         dropped value.
89507         * tests/test-array_oset.c (main): Update.
89508         * tests/test-avltree_oset.c (main): Update.
89509         * tests/test-rbtree_oset.c (main): Update.
89510         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
89512 2007-03-13  Bruno Haible  <bruno@clisp.org>
89514         * tests/test-stdbool.c (i): Update after last patch.
89516 2007-03-12  Bruno Haible  <bruno@clisp.org>
89518         * lib/quotearg.c: Include <wctype.h> early, before the definition of
89519         the iswprint macro. Needed on Solaris 2.5.1.
89521 2007-03-12  Bruno Haible  <bruno@clisp.org>
89523         * tests/test-printf-frexp.c (main): Declare x as volatile.
89525 2007-03-12  Simon Josefsson  <simon@josefsson.org>
89527         * doc/gnulib.texi (Build robot for gnulib): New section.
89529 2007-03-12  Jim Meyering  <jim@meyering.net>
89531         * build-aux/bootstrap: New file.
89532         * build-aux/bootstrap.conf: New file, from coreutils.
89534 2007-03-11  Bruno Haible  <bruno@clisp.org>
89536         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
89538 2007-03-12  Simon Josefsson  <simon@josefsson.org>
89540         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
89541         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
89542         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
89544 2007-03-11  Bruno Haible  <bruno@clisp.org>
89546         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
89547         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
89549 2007-03-11  Bruno Haible  <bruno@clisp.org>
89551         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
89552         formula. Needed for SunPRO C 5.0.
89554 2007-03-11  Bruno Haible  <bruno@clisp.org>
89556         * modules/long-options (Depends-on): Add getopt.
89558 2007-03-11  Bruno Haible  <bruno@clisp.org>
89560         * modules/modechange (Depends-on): Add stdbool.
89562 2007-03-11  Bruno Haible  <bruno@clisp.org>
89564         * modules/i-ring (Depends-on): Add stdbool.
89566 2007-03-11  Bruno Haible  <bruno@clisp.org>
89568         * modules/gc-des (Depends-on): Add stdbool.
89570 2007-03-11  Bruno Haible  <bruno@clisp.org>
89572         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
89574 2007-03-11  Bruno Haible  <bruno@clisp.org>
89576         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
89578 2007-03-11  Bruno Haible  <bruno@clisp.org>
89580         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
89582 2007-03-11  Bruno Haible  <bruno@clisp.org>
89584         * lib/vasnprintf.c (sprintf): Undefine.
89586 2007-03-11  Bruno Haible  <bruno@clisp.org>
89588         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
89589         initializers in SunPRO C and Compaq C compilers.
89591 2007-03-11  Bruno Haible  <bruno@clisp.org>
89593         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
89594         decrementing code ANSI C compliant.
89596 2007-03-11  Bruno Haible  <bruno@clisp.org>
89598         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
89599         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
89601 2007-03-11  Bruno Haible  <bruno@clisp.org>
89603         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
89604         <stdbool.h> substitute doesn't pass.
89606 2007-03-11  Bruno Haible  <bruno@clisp.org>
89608         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
89610 2007-03-11  Bruno Haible  <bruno@clisp.org>
89612         * gnulib-tool (func_create_megatestdir): Create also an autobuild
89613         script, for submission to autobuild.josefsson.org.
89615 2007-03-10  Bruno Haible  <bruno@clisp.org>
89617         * modules/canonicalize-lgpl-tests: New file.
89618         * tests/test-canonicalize-lgpl.sh: New file.
89619         * tests/test-canonicalize-lgpl.c: New file.
89621         * modules/c-strcase-tests: New file.
89622         * tests/test-c-strcase.sh: New file.
89623         * tests/test-c-strcasecmp.c: New file.
89624         * tests/test-c-strncasecmp.c: New file.
89626         * modules/atexit-tests: New file.
89627         * tests/test-atexit.sh: New file.
89628         * tests/test-atexit.c: New file.
89630 2007-03-10  Bruno Haible  <bruno@clisp.org>
89632         * tests/test-binary-io.sh: Use temporary filenames that are not so
89633         likely to clash with those of other tests (in a parallel make).
89634         * tests/test-binary-io.c: Likewise.
89636 2007-03-10  Bruno Haible  <bruno@clisp.org>
89638         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
89639         fallback; use #error instead.
89640         Suggested by Simon Josefsson.
89642 2007-03-10  Bruno Haible  <bruno@clisp.org>
89644         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
89645         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
89646         first and the last.
89648 2007-03-10  Bruno Haible  <bruno@clisp.org>
89650         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
89652 2007-03-10  Bruno Haible  <bruno@clisp.org>
89654         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
89655         "make distcheck".
89656         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
89657         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
89658         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
89660 2007-03-10  Bruno Haible  <bruno@clisp.org>
89662         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
89663         variable.
89664         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
89665         variable.
89667 2007-03-09  Eric Blake  <ebb9@byu.net>
89668         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
89670         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
89671         types are not being provided by gnulib.
89672         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
89673         types are supported.
89675 2007-03-10  Bruno Haible  <bruno@clisp.org>
89677         * lib/stdio_.h (__attribute__): New macro.
89678         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
89679         vsprintf): Specify __attribute__ __format__ for GCC.
89680         Suggested by Eric Blake.
89682 2007-03-09  Bruno Haible  <bruno@clisp.org>
89684         * modules/printf-posix-tests: New file.
89685         * tests/test-printf-posix.sh: New file.
89686         * tests/test-printf-posix.c: New file.
89688         * modules/printf-posix: New file.
89689         * lib/printf.c: New file.
89690         * m4/printf-posix-rpl.m4: New file.
89691         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
89692         REPLACE_PRINTF.
89693         * lib/stdio_.h (printf): New declaration.
89694         (format, __format__, ____printf____, ____scanf____, ____strftime____,
89695         ____strfmon____): New macros.
89696         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
89697         REPLACE_PRINTF.
89699 2007-03-09  Bruno Haible  <bruno@clisp.org>
89701         * tests/test-vasnprintf-posix2.sh: New file.
89702         * tests/test-vasnprintf-posix2.c: New file.
89703         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
89704         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
89705         (Makefile.am): Activate test-vasnprintf-posix2.sh.
89707         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
89708         a locale dependent decimal point, rather than always '.'.
89710 2007-03-09  Eric Blake  <ebb9@byu.net>
89712         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
89713         spite of platforms like Tandem/NSK that define it to -1.
89715 2007-03-08  Bruno Haible  <bruno@clisp.org>
89717         * modules/vprintf-posix-tests: New file.
89718         * tests/test-vprintf-posix.sh: New file.
89719         * tests/test-vprintf-posix.c: New file.
89720         * tests/test-printf-posix.h: New file.
89722         * modules/vprintf-posix: New file.
89723         * lib/vprintf.c: New file.
89724         * m4/vprintf-posix.m4: New file.
89725         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
89726         REPLACE_VPRINTF.
89727         * lib/stdio_.h (vprintf): New declaration.
89728         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
89729         REPLACE_VPRINTF.
89731 2007-03-08  Bruno Haible  <bruno@clisp.org>
89733         * modules/fprintf-posix-tests: New file.
89734         * tests/test-fprintf-posix.sh: New file.
89735         * tests/test-fprintf-posix.c: New file.
89737         * modules/fprintf-posix: New file.
89738         * lib/fprintf.c: New file.
89739         * m4/fprintf-posix.m4: New file.
89740         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
89741         REPLACE_FPRINTF.
89742         * lib/stdio_.h (fprintf): New declaration.
89743         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
89744         REPLACE_FPRINTF.
89746 2007-03-08  Bruno Haible  <bruno@clisp.org>
89748         * modules/vfprintf-posix-tests: New file.
89749         * tests/test-vfprintf-posix.sh: New file.
89750         * tests/test-vfprintf-posix.c: New file.
89751         * tests/test-fprintf-posix.h: New file.
89752         * tests/test-fprintf-posix.out: New file.
89754         * modules/vfprintf-posix: New file.
89755         * lib/vfprintf.c: New file.
89756         * m4/vfprintf-posix.m4: New file.
89757         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
89758         REPLACE_VFPRINTF.
89759         * lib/stdio_.h (vfprintf): New declaration.
89760         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
89761         REPLACE_VFPRINTF.
89763 2007-03-08  Bruno Haible  <bruno@clisp.org>
89765         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
89767 2007-03-08  Bruno Haible  <bruno@clisp.org>
89769         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
89770         instead of 'expr' invocations.
89771         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
89772         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
89773         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
89774         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
89775         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
89776         Suggested by Paul Eggert.
89778 2007-03-08  Bruno Haible  <bruno@clisp.org>
89780         * modules/fseterr-tests: New file.
89781         * tests/test-fseterr.c: New file.
89783         * modules/fseterr: New file.
89784         * lib/fseterr.h: New file.
89785         * lib/fseterr.c: New file.
89787 2007-03-08  Bruno Haible  <bruno@clisp.org>
89789         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
89790         * lib/getopt_.h: Likewise.
89791         * lib/mbswidth.h: Likewise.
89792         * lib/setenv.h: Likewise.
89793         * lib/vasnprintf.h: Likewise.
89794         * lib/vasprintf.h: Likewise.
89795         * lib/verror.h: Likewise.
89796         * lib/xsetenv.h: Likewise.
89797         * lib/xvasprintf.h: Likewise.
89799 2007-03-08  Jim Meyering  <jim@meyering.net>
89801         * users.txt: Add parted.
89803         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
89805 2007-03-07  Bruno Haible  <bruno@clisp.org>
89807         * m4/printf.m4: Make the shell script snippets copy&pastable.
89809 2007-03-02  Bruno Haible  <bruno@clisp.org>
89811         * lib/netinet_in_.h: New file.
89812         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
89813         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
89814         * modules/netinet_in (Files): Add lib/netinet_in_.h.
89815         (Depends-on): Add absolute-header.
89816         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
89817         into netinet/in.h.
89819 2007-03-03  Bruno Haible  <bruno@clisp.org>
89821         * lib/sys_select_.h: New file.
89822         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
89823         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
89824         * modules/sys_select (Files): Add lib/sys_select_.h.
89825         (Depends-on): Add absolute-header.
89826         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
89827         into sys/select.h.
89829 2007-03-02  Bruno Haible  <bruno@clisp.org>
89831         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
89832         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
89833         values.
89834         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
89835         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
89836         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
89837         * modules/sys_socket (Depends-on): Add absolute-header.
89838         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
89839         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
89840         (Include): Remove requirement of inclusion of <sys/types.h>.
89842 2007-03-02  Bruno Haible  <bruno@clisp.org>
89844         * lib/byteswap_.h (bswap_32): Fix formula.
89846 2007-03-06  Bruno Haible  <bruno@clisp.org>
89848         * modules/sprintf-posix-tests: New file.
89849         * tests/test-sprintf-posix.c: New file.
89851         * modules/sprintf-posix: New file.
89852         * lib/sprintf.c: New file.
89853         * m4/sprintf-posix.m4: New file.
89854         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
89855         REPLACE_SPRINTF.
89856         * lib/stdio_.h (sprintf): New declaration.
89857         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
89858         REPLACE_SPRINTF.
89860 2007-03-06  Bruno Haible  <bruno@clisp.org>
89862         * modules/vsprintf-posix-tests: New file.
89863         * tests/test-vsprintf-posix.c: New file.
89864         * tests/test-sprintf-posix.h: New file.
89866         * modules/vsprintf-posix: New file.
89867         * lib/vsprintf.c: New file.
89868         * m4/vsprintf-posix.m4: New file.
89869         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
89870         REPLACE_VSPRINTF.
89871         * lib/stdio_.h (vsprintf): New declaration.
89872         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
89873         REPLACE_VSPRINTF.
89875 2007-03-06  Bruno Haible  <bruno@clisp.org>
89877         * modules/vsnprintf (Depend-on): Remove minmax.
89879 2007-03-06  Bruno Haible  <bruno@clisp.org>
89881         * modules/snprintf-posix-tests: New file.
89882         * tests/test-snprintf-posix.c: New file.
89884         * modules/snprintf-posix: New file.
89885         * m4/snprintf-posix.m4: New file.
89886         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
89887         gl_FUNC_SNPRINTF.
89888         (gl_FUNC_SNPRINTF): Invoke it.
89889         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
89890         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
89891         is set.
89892         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
89894 2007-03-06  Bruno Haible  <bruno@clisp.org>
89896         * modules/vsnprintf-posix-tests: New file.
89897         * tests/test-vsnprintf-posix.c: New file.
89898         * tests/test-snprintf-posix.h: New file.
89900         * modules/vsnprintf-posix: New file.
89901         * m4/vsnprintf-posix.m4: New file.
89902         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
89903         gl_FUNC_VSNPRINTF.
89904         (gl_FUNC_VSNPRINTF): Invoke it.
89905         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
89906         * lib/stdio_.h (vsnprintf): Define as a replacement if
89907         REPLACE_VSNPRINTF is set.
89908         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
89910 2007-03-06  Bruno Haible  <bruno@clisp.org>
89912         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
89913         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
89915 2007-03-06  Bruno Haible  <bruno@clisp.org>
89917         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
89918         (asinl): Declare also if HAVE_DECL_ASINL is set.
89919         (atanl): Declare also if HAVE_DECL_ATANL is set.
89920         (ceill): Declare also if HAVE_DECL_CEILL is set.
89921         (cosl): Declare also if HAVE_DECL_COSL is set.
89922         (expl): Declare also if HAVE_DECL_EXPL is set.
89923         (floorl): Declare also if HAVE_DECL_FLOORL is set.
89924         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
89925         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
89926         (logl): Declare also if HAVE_DECL_LOGL is set.
89927         (sinl): Declare also if HAVE_DECL_SINL is set.
89928         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
89929         (tanl): Declare also if HAVE_DECL_TANL is set.
89930         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
89931         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
89932         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
89933         declaration of frexpl, ldexpl.
89934         * modules/printf-frexpl (Depends-on): Add math.
89935         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
89937 2007-03-05  Bruno Haible  <bruno@clisp.org>
89939         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
89940         frexpl and ldexpl are declared.
89941         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
89943 2007-03-05  Bruno Haible  <bruno@clisp.org>
89945         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
89946         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
89948 2007-03-05  Bruno Haible  <bruno@clisp.org>
89950         * lib/stdio_.h: Include <stddef.h>.
89952 2007-03-05  Bruno Haible  <bruno@clisp.org>
89954         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
89956 2007-03-05  Bruno Haible  <bruno@clisp.org>
89958         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
89959         NetBSD 4, from Ralf Wildenhues.
89961 2007-03-04  Bruno Haible  <bruno@clisp.org>
89963         * lib/vasprintf.h: Update #if logic for the case when the functions
89964         exist but are overridden.
89966 2007-03-04  Bruno Haible  <bruno@clisp.org>
89968         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
89969         implementations: glibc-2.4 and MacOS X 10.3.
89970         * tests/test-vasnprintf-posix.c (test_function): Test also the case
89971         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
89972         * tests/test-vasprintf-posix.c (test_function): Likewise.
89974 2007-03-04  Bruno Haible  <bruno@clisp.org>
89976         * modules/vasprintf-posix-tests: New file.
89977         * tests/test-vasprintf-posix.c: New file.
89979         * modules/vasprintf-posix: New file.
89980         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
89981         defined.
89982         * m4/vasprintf-posix.m4: New file.
89983         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
89984         gl_FUNC_VASPRINTF.
89985         (gl_FUNC_VASPRINTF): Invoke it.
89986         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
89987         here.
89988         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
89990 2007-03-04  Bruno Haible  <bruno@clisp.org>
89992         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
89993         REPLACE_GETTIMEOFDAY.
89994         * modules/sys_time (Makefile.am): Likewise.
89995         * m4/sys_time_h.m4: Likewise.
89996         * m4/gettimeofday.m4: Likewise.
89998 2007-03-04  Bruno Haible  <bruno@clisp.org>
90000         * modules/vasnprintf-posix-tests: New file.
90001         * tests/test-vasnprintf-posix.c: New file.
90003         * modules/vasnprintf-posix: New file.
90004         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
90005         printf-frexpl.h.
90006         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
90007         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
90008         REPLACE_VASNPRINTF is defined.
90009         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
90010         gl_FUNC_VASNPRINTF.
90011         (gl_FUNC_VASNPRINTF): Invoke it.
90012         * m4/vasnprintf-posix.m4: New file.
90013         * m4/printf.m4: New file.
90015 2007-03-04  Bruno Haible  <bruno@clisp.org>
90017         Compile progreloc.c only if --enable-relocatable is specified.
90018         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
90019         if --enable-relocatable was specified.
90020         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
90021         lib_SOURCES.
90023 2007-03-04  Jim Meyering  <jim@meyering.net>
90025         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
90026         Use it consistently, rather than enumerating errno constants.
90028 2007-03-04  Bruno Haible  <bruno@clisp.org>
90030         * modules/xvasprintf-tests: New file.
90031         * tests/test-xvasprintf.c: New file.
90033         * modules/vasprintf-tests: New file.
90034         * tests/test-vasprintf.c: New file.
90036         * modules/vasnprintf-tests: New file.
90037         * tests/test-vasnprintf.c: New file.
90039         * modules/vsnprintf-tests: New file.
90040         * tests/test-vsnprintf.c: New file.
90042         * modules/snprintf-tests: New file.
90043         * tests/test-snprintf.c: New file.
90045 2007-03-04  Bruno Haible  <bruno@clisp.org>
90047         Compile relocatable.c only if --enable-relocatable is specified.
90048         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
90049         gl_RELOCATABLE_LIBRARY.
90050         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
90051         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
90052         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
90053         gl_RELOCATABLE_LIBRARY.
90054         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
90055         (Makefile.am): Remove lib_SOURCES.
90056         * modules/relocatable-lib-lgpl (configure.ac): Invoke
90057         gl_RELOCATABLE_LIBRARY.
90058         (Makefile.am): Remove lib_SOURCES.
90059         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
90060         always.
90061         * modules/relocatable-prog-wrapper (configure.ac): Invoke
90062         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
90064 2007-03-04  Bruno Haible  <bruno@clisp.org>
90066         * modules/argmatch-tests: New file.
90067         * tests/test-argmatch.c: New file.
90069         * tests/test-allocsa.c (main): Halve the number of loop runs.
90071         * modules/alloca-opt-tests: New file.
90072         * tests/test-alloca-opt.c: New file.
90074 2007-03-04  Jim Meyering  <jim@meyering.net>
90076         Work around difference between Linux ACLs and Solaris 10 ZFS.
90077         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
90078         for EINVAL.
90080 2007-03-03  Bruno Haible  <bruno@clisp.org>
90082         * modules/relocatable-prog (Depends-on): Add back progreloc's
90083         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
90085 2007-03-03  Bruno Haible  <bruno@clisp.org>
90087         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
90088         * modules/relocatable-lib: New file.
90090 2007-03-03  Bruno Haible  <bruno@clisp.org>
90092         * modules/relocatable-prog: Renamed from modules/relocatable.
90093         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
90095 2007-03-03  Bruno Haible  <bruno@clisp.org>
90097         * modules/relocatable-script (Files): Add doc/relocatable.texi,
90098         m4/relocatable-lib.m4.
90099         (Depends-on): Remove 'relocatable'.
90100         (configure.ac): Add gl_RELOCATABLE_NOP.
90102 2007-03-03  Bruno Haible  <bruno@clisp.org>
90104         * modules/relocatable-prog-wrapper: New file.
90105         * modules/relocatable (Depends-on): Add it. Remove all other
90106         dependencies except progname.
90107         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
90109         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
90110         (gl_FUNC_STRERROR): Nop.
90111         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
90113         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
90114         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
90116         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
90117         (gl_FUNC_READLINK): Update.
90119         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
90121 2007-03-03  Bruno Haible  <bruno@clisp.org>
90123         * lib/xreadlink.c: Include <unistd.h> unconditionally.
90124         * modules/xreadlink (Depends-on): Add unistd.
90125         * modules/xreadlink-with-size (Depends-on): Likewise.
90127 2007-03-03  Bruno Haible  <bruno@clisp.org>
90129         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
90130         extracted from gt_FUNC_SETENV.
90131         (gt_FUNC_SETENV): Remove macro.
90132         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
90133         remove gt_FUNC_SETENV.
90135 2007-03-03  Bruno Haible  <bruno@clisp.org>
90137         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
90138         ENABLE_RELOCATABLE here.
90139         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
90141 2007-03-03  Bruno Haible  <bruno@clisp.org>
90143         * modules/rbtreehash-list-tests (Depends-on): Add progname.
90144         * tests/test-rbtreehash_list.c: Include progname.h.
90145         (main): Call set_program_name.
90147         * modules/rbtree-oset-tests (Depends-on): Add progname.
90148         * tests/test-rbtree_oset.c: Include progname.h.
90149         (main): Call set_program_name.
90151         * modules/rbtree-list-tests (Depends-on): Add progname.
90152         * tests/test-rbtree_list.c: Include progname.h.
90153         (main): Call set_program_name.
90155         * modules/linked-list-tests (Depends-on): Add progname.
90156         * tests/test-linked_list.c: Include progname.h.
90157         (main): Call set_program_name.
90159 2007-03-03  Bruno Haible  <bruno@clisp.org>
90161         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
90162         All uses of __restrict changed to _Restrict_.
90163         * lib/glob_.h (__restrict): Remove macro.
90165 2007-03-02  Bruno Haible  <bruno@clisp.org>
90167         * modules/gettext (configure.ac): Require gettext infrastructure
90168         from version 0.16.1.
90170 2007-03-02  Bruno Haible  <bruno@clisp.org>
90172         * modules/linkedhash-list-tests (Depends-on): Add progname.
90173         * tests/test-linkedhash_list.c: Include progname.h.
90174         (main): Call set_program_name.
90176         * modules/carray-list-tests (Depends-on): Add progname.
90177         * tests/test-carray_list.c: Include progname.h.
90178         (main): Call set_program_name.
90180         * modules/avltreehash-list-tests (Depends-on): Add progname.
90181         * tests/test-avltreehash_list.c: Include progname.h.
90182         (main): Call set_program_name.
90184         * modules/avltree-oset-tests (Depends-on): Add progname.
90185         * tests/test-avltree_oset.c: Include progname.h.
90186         (main): Call set_program_name.
90188         * modules/avltree-list-tests (Depends-on): Add progname.
90189         * tests/test-avltree_list.c: Include progname.h.
90190         (main): Call set_program_name.
90192         * modules/array-oset-tests (Depends-on): Add progname.
90193         * tests/test-array_oset.c: Include progname.h.
90194         (main): Call set_program_name.
90196         * modules/array-list-tests (Depends-on): Add progname.
90197         * tests/test-array_list.c: Include progname.h.
90198         (main): Call set_program_name.
90200         * modules/argp-tests (Depends-on): Add progname.
90201         * tests/test-argp.c: Include argp.h first. Include progname.h.
90202         (main): Call set_program_name.
90204 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
90206         * doc/gnulib-tool.texi (Initial import): Reword description of
90207         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
90208         limited effect even if defined after the first system include.
90210 2007-03-01  Bruno Haible  <bruno@clisp.org>
90212         * build-aux/config.libpath: Update to libtool-1.5.22.
90213         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
90215 2007-03-01  Bruno Haible  <bruno@clisp.org>
90217         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
90218         foo_CFLAGS.
90219         Reported by Ralf Wildenhues.
90221 2007-03-01  Bruno Haible  <bruno@clisp.org>
90223         * build-aux/install-reloc: Remove object files left over by some
90224         compilers.
90225         Reported by Ralf Wildenhues.
90227 2007-03-01  Bruno Haible  <bruno@clisp.org>
90229         * build-aux/install-reloc: Break long lines.
90231 2007-03-01  Bruno Haible  <bruno@clisp.org>
90233         * doc/relocatable.texi: Document that it may not work on OpenBSD.
90234         Reported by Ralf Wildenhues.
90236 2007-03-01  Bruno Haible  <bruno@clisp.org>
90238         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
90239         include ordering constraints.
90241 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
90243         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
90244         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00136.html>.
90245         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
90246         as another example.
90247         * lib/time_.h: Fix misspelling.
90248         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
90249         Require gl_HEADER_TIME_H_DEFAULTS.
90250         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
90251         * m4/time_r.m4 (gl_TIME_R): Likewise.
90252         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
90254 2007-03-01  Bruno Haible  <bruno@clisp.org>
90256         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
90257         * m4/utimens.m4 (gl_UTIMENS): Likewise.
90259 2007-03-01  Jim Meyering  <jim@meyering.net>
90261         * modules/xreadlink (Maintainer): Add my name.
90262         * modules/xreadlink-with-size (Depends-on): Alphabetize.
90264 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
90265             Bruno Haible  <bruno@clisp.org>
90267         * build-aux/install-reloc: Compile also c-ctype.c.
90268         * build-aux/relocatable.sh.in: New file.
90269         * doc/relocatable.texi: New file.
90270         * doc/relocatable-maint.texi: New file.
90271         * doc/gnulib.texi: Include relocatable-maint.texi.
90272         * lib/progreloc.c: Include unistd.h unconditionally.
90273         * lib/relocwrapper.c: Include unistd.h unconditionally.
90274         Include c-ctype.h.
90275         (add_dotbin): Use c_tolower.
90276         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
90277         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
90278         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
90279         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
90280         to m4/relocatable-lib.m4.
90281         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
90282         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
90283         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
90284         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
90285         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
90286         * modules/relocatable: New file.
90287         * modules/relocatable-lib: New file.
90288         * modules/relocatable-script: New file.
90290 2007-02-28  Bruno Haible  <bruno@clisp.org>
90292         Import --enable-relocatable infrastructure.
90293         * build-aux/config.libpath: New file, from GNU gettext.
90294         * build-aux/install-reloc: New file, from GNU gettext.
90295         * build-aux/reloc-ldflags: New file, from GNU gettext.
90296         * lib/relocatable.h: New file, from GNU gettext.
90297         * lib/relocatable.c: New file, from GNU gettext.
90298         * lib/relocwrapper.c: New file, from GNU gettext.
90299         * m4/relocatable.m4: New file, from GNU gettext.
90301 2007-02-28  Bruno Haible  <bruno@clisp.org>
90303         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
90305         * modules/xreadlink: New file, from GNU gettext with modifications.
90306         * lib/xreadlink.c: New file, from GNU gettext.
90307         * lib/xreadlink.h: Add comments.
90308         (xreadlink): New declaration.
90310         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
90311         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
90312         lib/xreadlink-with-size.c.
90313         (configure.ac): Remove gl_XREADLINK invocation.
90314         (Makefile.am): Augment lib_SOURCES.
90315         * m4/xreadlink.m4: Remove file.
90316         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
90317         (xreadlink_with_size): Renamed from xreadink.
90318         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
90319         * modules/canonicalize (Depends-on): Replace xreadlink with
90320         xreadlink-with-size.
90321         * lib/canonicalize.c (canonicalize_filename_mode): Update.
90323 2007-02-25  Jim Meyering  <jim@meyering.net>
90325         * build-aux/announce-gen: When complaining about excess arguments,
90326         list them.
90328 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
90330         * README: Document signed integer overflow situation more
90331         accurately.
90333 2007-02-25  Bruno Haible  <bruno@clisp.org>
90335         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
90336         'a' or 'A' conversion.
90338 2007-02-25  Bruno Haible  <bruno@clisp.org>
90340         * modules/filename: Renamed from modules/pathname.
90341         (Files): Replace lib/pathname.h with lib/filename.h. Replace
90342         lib/concatpath.c with lib/concat-filename.c.
90343         (Makefile.am): Update.
90344         (Include): Replace pathname.h with filename.h.
90345         * lib/filename.h: Renamed from lib/pathname.h.
90346         (concatenated_filename): Renamed from concatenated_pathname.
90347         * lib/concat-filename.c: Renamed from lib/concatpath.c.
90348         (concatenated_filename): Renamed from concatenated_pathname.
90349         * lib/findprog.c: Include filename.h instead of pathname.h.
90350         (find_in_path): Update.
90351         * lib/javacomp.c: Include filename.h instead of pathname.h.
90352         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
90353         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
90354         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
90355         is_oldgcj_14_13_usable, is_javac_usable): Update.
90356         * lib/javaexec.c: Include filename.h instead of pathname.h.
90357         (execute_java_class): Update.
90358         * modules/findprog: Update.
90359         * modules/javacomp: Update.
90360         * modules/javaexec: Update.
90361         * MODULES.html.sh (File system functions): Add 'filename', remove
90362         'pathname'.
90364 2007-02-25  Bruno Haible  <bruno@clisp.org>
90366         * modules/printf-frexpl-tests: New file.
90367         * tests/test-printf-frexpl.c: New file.
90369         * modules/printf-frexpl: New file.
90370         * lib/printf-frexpl.h: New file.
90371         * lib/printf-frexpl.c: New file.
90372         * m4/printf-frexpl.m4: New file.
90374 2007-02-25  Bruno Haible  <bruno@clisp.org>
90376         * modules/printf-frexp-tests: New file.
90377         * tests/test-printf-frexp.c: New file.
90379         * modules/printf-frexp: New file.
90380         * lib/printf-frexp.h: New file.
90381         * lib/printf-frexp.c: New file.
90382         * m4/printf-frexp.m4: New file.
90384 2007-02-25  Bruno Haible  <bruno@clisp.org>
90386         Assume automake >= 1.10 for the tests.
90387         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
90388         * modules/arctwo-tests: Likewise.
90389         * modules/argp-tests: Likewise.
90390         * modules/avltree-list-tests: Likewise.
90391         * modules/avltree-oset-tests: Likewise.
90392         * modules/avltreehash-list-tests: Likewise.
90393         * modules/carray-list-tests: Likewise.
90394         * modules/crc-tests: Likewise.
90395         * modules/des-tests: Likewise.
90396         * modules/gc-arcfour-tests: Likewise.
90397         * modules/gc-arctwo-tests: Likewise.
90398         * modules/gc-des-tests: Likewise.
90399         * modules/gc-hmac-md5-tests: Likewise.
90400         * modules/gc-hmac-sha1-tests: Likewise.
90401         * modules/gc-md2-tests: Likewise.
90402         * modules/gc-md4-tests: Likewise.
90403         * modules/gc-md5-tests: Likewise.
90404         * modules/gc-pbkdf2-sha1-tests: Likewise.
90405         * modules/gc-rijndael-tests: Likewise.
90406         * modules/gc-sha1-tests: Likewise.
90407         * modules/gc-tests: Likewise.
90408         * modules/getaddrinfo-tests: Likewise.
90409         * modules/hmac-md5-tests: Likewise.
90410         * modules/hmac-sha1-tests: Likewise.
90411         * modules/linked-list-tests: Likewise.
90412         * modules/linkedhash-list-tests: Likewise.
90413         * modules/lock-tests: Likewise.
90414         * modules/md2-tests: Likewise.
90415         * modules/md4-tests: Likewise.
90416         * modules/md5-tests: Likewise.
90417         * modules/rbtree-list-tests: Likewise.
90418         * modules/rbtree-oset-tests: Likewise.
90419         * modules/rbtreehash-list-tests: Likewise.
90420         * modules/read-file-tests: Likewise.
90421         * modules/rijndael-tests: Likewise.
90422         * modules/stdint-tests: Likewise.
90423         * modules/tls-tests: Likewise.
90425 2007-02-24  Bruno Haible  <bruno@clisp.org>
90427         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
90428         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
90429         function; instead check whether isnan with a double argument links.
90430         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
90431         function; instead check whether isnan with a 'long double' argument
90432         links.
90433         Reported by Eric Blake <ebb9@byu.net>.
90435 2007-02-24  Bruno Haible  <bruno@clisp.org>
90437         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
90438         defined.
90439         * lib/isnanl.c: Remove all code. Just include isnan.c.
90440         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
90442 2007-02-25  Jim Meyering  <jim@meyering.net>
90444         Avoid conflicting types for 'unsetenv' on FreeBSD.
90445         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
90446         conflicting with FreeBSD's (5.0 and 6.1) function declaration
90447         in stdlib.h.
90449 2007-02-24  Bruno Haible  <bruno@clisp.org>
90451         * modules/isnanl-nolibm-tests: New file.
90452         * tests/test-isnanl.c: New file.
90454         * modules/isnanl-nolibm: New file.
90455         * lib/isnanl.h: New file.
90456         * lib/isnanl.c: New file.
90457         * m4/isnanl.m4: New file.
90459 2007-02-24  Bruno Haible  <bruno@clisp.org>
90461         * modules/isnan-nolibm-tests: New file.
90462         * tests/test-isnan.c: New file.
90464         * modules/isnan-nolibm: New file.
90465         * lib/isnan.h: New file.
90466         * lib/isnan.c: New file.
90467         * m4/isnan.m4: New file.
90469 2007-02-24  Bruno Haible  <bruno@clisp.org>
90471         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
90472         assume that an exponent fits in 20 bits.
90474 2007-02-24  Jim Meyering  <jim@meyering.net>
90476         * m4/regex.m4: Update the description of the configure-time option,
90477         --without-included-regex, to state accurately what the defaults are,
90478         and perhaps to give people an idea why using this option is risky.
90480 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
90482         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
90483         loops on small arguments.  This attempts to avoid the problem
90484         Bruno Haible reported for AIX 4.3.2 in
90485         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00309.html>.
90487 2007-02-23  Bruno Haible  <bruno@clisp.org>
90489         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
90490         Needed for help2man.
90492 2007-02-23  Karl Berry  <karl@gnu.org>
90494         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
90495         exists, foo.h should be cvs-ignored, not committed.
90497 2007-02-23  Eric Blake  <ebb9@byu.net>
90499         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
90500         * lib/stat-time.h (includes): Likewise.
90501         * lib/utimecmp.c (includes): Likewise.
90502         * lib/utimens.h (includes): Likewise.
90503         * lib/getdate.y (includes): Also include "timespec.h" for use
90504         internal to the module.
90505         * modules/utimens (Depends-on): Revert yesterday's patch.
90506         * modules/nanosleep (Depends-on): Add missing dependency.
90508 2007-02-22  Bruno Haible  <bruno@clisp.org>
90510         * lib/glob.c: Don't include getlogin_r.h.
90512 2007-02-22  Jim Meyering  <jim@meyering.net>
90514         * modules/utimens (Depends-on): Add timespec, required for
90515         utimens.h's inclusion of timespec.h.
90517 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
90519         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
90520         long unreadable paths in GNU/Linux.  Problem reported by Andreas
90521         Schwab in
90522         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00261.html>.
90523         I'll try to think of a better way to fix the Solaris problem.
90525         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
90526         like glibc; on Solaris 10, it fails with errno == EINVAL.
90527         POSIX says the behavior is unspecified if the first argument is NULL,
90528         so play it safe and never pass NULL to the system getcwd.
90530 2007-02-21  Jim Meyering  <jim@meyering.net>
90532         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
90533         of gettimeofday.  It would conflict with the one now always
90534         provided via sys_time_.h.  Reported by Matthew Woehlke, as
90535         an IRIX 6.5 build failure.
90537 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
90539         Minor fixups to port to Solaris 10 with Sun C 5.8.
90540         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
90541         * modules/getcwd (Depends-on): Add dirfd.
90542         * lib/putenv.c (putenv): #undef it.
90543         (rpl_putenv): New decl.
90544         (malloc, free): Include <stdlib.h> rather than prototyping separately.
90546 2007-02-20  Bruno Haible  <bruno@clisp.org>
90548         * modules/stdio-tests: New file.
90549         * tests/test-stdio.c: New file.
90551         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
90552         (Depends-on): Add stdio.
90553         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
90554         (Include): Use <stdio.h> instead of vsnprintf.h.
90555         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
90556         HAVE_DECL_VSNPRINTF.
90557         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
90559         * modules/snprintf (Files): Remove lib/snprintf.h.
90560         (Depends-on): Add stdio.
90561         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
90562         (Include): Use <stdio.h> instead of snprintf.h.
90563         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
90564         HAVE_DECL_SNPRINTF.
90565         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
90566         * lib/getaddrinfo.c: Likewise.
90568         * modules/stdio: New file.
90569         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
90570         * lib/snprintf.h: Remove file.
90571         * lib/vsnprintf.h: Remove file.
90572         * lib/.cppi-disable: Remove snprintf.h.
90573         * m4/stdio_h.m4: New file.
90574         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
90576 2007-02-20  Jim Meyering  <jim@meyering.net>
90578         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
90579         used by e.g., mingw.  From Bruno Haible.
90581 2007-02-19  Bruno Haible  <bruno@clisp.org>
90583         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
90584         warnings.
90585         Reported by Ben Pfaff <blp@cs.stanford.edu>.
90587 2007-02-19  Bruno Haible  <bruno@clisp.org>
90589         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
90590         from mingw users.
90592 2007-02-19  Bruno Haible  <bruno@clisp.org>
90594         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
90595         warnings.
90596         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
90598 2007-02-19  Jim Meyering  <jim@meyering.net>
90600         Don't use FD after a successful "fdopendir (fd)".
90601         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
90602         Reset it by calling dirfd on the just-obtained DIR*.
90604         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
90605         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
90607 2007-02-18  Bruno Haible  <bruno@clisp.org>
90609         * lib/readlink.c: Include <unistd.h>.
90610         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
90611         HAVE_READLINK.
90612         * modules/readlink (Depends-on): Add unistd.
90613         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
90614         (Include): Add <unistd.h>.
90616         * lib/getlogin_r.h: Remove file.
90617         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
90618         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
90619         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
90620         HAVE_DECL_GETLOGIN_R.
90621         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
90622         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
90623         (Include): Use <unistd.h> instead of getlogin_r.h.
90625         * lib/getcwd.h: Remove file.
90626         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
90627         * lib/xgetcwd.c: Likewise.
90628         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
90629         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
90630         * modules/getcwd (Files): Remove lib/getcwd.h.
90631         (Depends-on): Add unistd.
90632         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
90633         (Include): Use <unistd.h> instad of getcwd.h.
90635         * lib/ftruncate.c: Include <unistd.h> first.
90636         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
90637         Set HAVE_FTRUNCATE.
90638         * modules/ftruncate (Depends-on): Add unistd.
90639         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
90641         * lib/fchdir.c: Include <unistd.h> first.
90642         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
90643         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
90644         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
90645         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
90646         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
90648         * lib/dup2.c: Include <unistd.h> first.
90649         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
90650         HAVE_DUP2.
90651         * modules/dup2 (Depends-on): Add unistd.
90652         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
90654         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
90655         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
90656         REPLACE_CHOWN. Don't define chown as a macro here.
90657         * modules/chown (Depends-on): Add unistd.
90658         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
90660         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
90661         Add definition for GL_LINK_WARNING.
90662         (chown, dup2): New declarations.
90663         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
90664         link warning.
90665         (ftruncate): New declaration.
90666         (getcwd): New declaration, taken from old getcwd.h.
90667         (getlogin_r): New declaration, taken from old getlogin_r.h.
90668         (readlink): New declaration.
90669         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
90670         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
90671         (gl_PREREQ_UNISTD): Remove macro.
90672         (gl_UNISTD_MODULE_INDICATOR): New macro.
90673         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
90674         many new variables. Don't set UNISTD_H.
90675         * modules/unistd (Description): Change.
90676         (Depends-on): Add link-warning.
90677         (configure.ac): Update.
90678         (Makefile.am): Create unistd.h always. Substitute many new variables
90679         into it.
90681 2007-02-18  Bruno Haible  <bruno@clisp.org>
90683         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
90684         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
90685         HAVE_GETSUBOPT.
90686         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
90687         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
90688         * lib/getsubopt.h: Remove file.
90689         * modules/getsubopt (Files): Remove lib/getsubopt.h.
90690         (Depends-on): Add stdlib.
90691         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
90692         (Includes): Use <stdlib.h> instead of getsubopt.h.
90693         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
90694         Set HAVE_GETSUBOPT.
90695         * lib/getsubopt.c: Don't include getsubopt.h.
90697 2007-02-18  Bruno Haible  <bruno@clisp.org>
90699         * modules/fchdir (Depends-on): Add dup2.
90701 2007-02-18  Bruno Haible  <bruno@clisp.org>
90703         * lib/stdlib_.h: Handle glibc's special invocation convention
90704         specially.
90706 2007-02-18  Bruno Haible  <bruno@clisp.org>
90708         * modules/stdlib-tests: New file.
90709         * tests/test-stdlib.c: New file.
90711         * modules/mkstemp (Files): Remove lib/mkstemp.h.
90712         (Depends-on): Add stdlib.
90713         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
90714         (Includes): Use <stdlib.h> instead of mkstemp.h.
90715         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
90716         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
90717         * lib/mkstemp.c: Don't include mkstemp.h.
90718         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
90719         * lib/stdlib--.h: Don't include mkstemp.h.
90721         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
90722         (Depends-on): Add stdlib.
90723         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
90724         (Includes): Use <stdlib.h> instead of mkdtemp.h.
90725         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
90726         HAVE_MKDTEMP.
90727         * lib/mkdtemp.c: Don't include mkdtemp.h.
90728         * lib/clean-temp.c: Don't include mkdtemp.h.
90730         * modules/exit (Files): Remove lib/exit.h.
90731         (Depends-on): Add stdlib.
90732         (Makefile.am): Remove lib_SOURCES.
90733         (Include): Use <stdlib.h> instead of exit.h.
90734         * lib/argmatch.c: Don't include exit.h.
90735         * lib/execute.c: Likewise.
90736         * lib/pagealign_alloc.c: Likewise.
90737         * lib/pipe.c: Likewise.
90738         * lib/wait-process.c: Likewise.
90739         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
90740         * lib/exitfail.c: Likewise.
90741         * lib/savewd.c: Likewise.
90742         * lib/xsetenv.c: Likewise.
90744         * modules/stdlib: New file.
90745         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
90746         and extra comments about mkstemp().
90747         * lib/exit.h: Remove file.
90748         * lib/mkdtemp.h: Remove file.
90749         * lib/mkstemp.h: Remove file.
90750         * m4/stdlib_h.m4: New file.
90751         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
90753 2007-02-18  Bruno Haible  <bruno@clisp.org>
90755         * modules/math-tests: New file.
90756         * tests/test-math.c: New file.
90758         * modules/math: New file.
90759         * modules/mathl (Files): Remove lib/mathl.h.
90760         (Depends-on): Add math.
90761         (Makefile.am): Don't mention mathl.h.
90762         (Include): Use <math.h> instead of mathl.h.
90763         * lib/math_.h: New file.
90764         * lib/mathl.h: Remove file.
90765         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
90766         mathl.h.
90767         * lib/asinl.c: Likewise.
90768         * lib/atanl.c: Likewise.
90769         * lib/ceill.c: Likewise.
90770         * lib/cosl.c: Likewise.
90771         * lib/expl.c: Likewise.
90772         * lib/floorl.c: Likewise.
90773         * lib/frexpl.c: Likewise.
90774         * lib/ldexpl.c: Likewise.
90775         * lib/logl.c: Likewise.
90776         * lib/sincosl.c: Likewise.
90777         * lib/sinl.c: Likewise.
90778         * lib/sqrtl.c: Likewise.
90779         * lib/tanl.c: Likewise.
90780         * lib/trigl.c: Likewise.
90781         * m4/math_h.m4: New file.
90782         * MODULES.html.sh (Mathematics): Add math.
90784 2007-02-17  Bruno Haible  <bruno@clisp.org>
90786         * modules/wctype-tests: New file.
90787         * tests/test-wctype.c: New file.
90789         * modules/wchar-tests: New file.
90790         * tests/test-wchar.c: New file.
90792         * modules/unistd-tests: New file.
90793         * tests/test-unistd.c: New file.
90795         * modules/time-tests: New file.
90796         * tests/test-time.c: New file.
90798         * modules/sysexits-tests: New file.
90799         * tests/test-sysexits.c: New file.
90801         * modules/sys_time-tests: New file.
90802         * tests/test-sys_time.c: New file.
90804         * modules/sys_stat-tests: New file.
90805         * tests/test-sys_stat.c: New file.
90807         * modules/sys_socket-tests: New file.
90808         * tests/test-sys_socket.c: New file.
90810         * modules/sys_select-tests: New file.
90811         * tests/test-sys_select.c: New file.
90813         * modules/string-tests: New file.
90814         * tests/test-string.c: New file.
90816         * modules/stdbool-tests: New file.
90817         * tests/test-stdbool.c: New file.
90819         * modules/netinet_in-tests: New file.
90820         * tests/test-netinet_in.c: New file.
90822         * modules/inttypes-tests: New file.
90823         * tests/test-inttypes.c: New file.
90825         * modules/fcntl-tests: New file.
90826         * tests/test-fcntl.c: New file.
90828         * modules/byteswap-tests: New file.
90829         * tests/test-byteswap.c: New file.
90831         * modules/arpa_inet-tests: New file.
90832         * tests/test-arpa_inet.c: New file.
90834 2007-02-17  Bruno Haible  <bruno@clisp.org>
90836         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
90837         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
90838         if the corresponding module is not enabled. Emit link warnings if
90839         the function is used nevertheless.
90840         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
90841         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
90842         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
90843         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
90844         * modules/inttypes (Depends-on): Add link-warning.
90845         (Makefile.am): Copy the contents of build-aux/link-warning.h into
90846         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
90847         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
90848         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
90849         * modules/imaxdiv (configure.ac): Likewise.
90850         * modules/strtoimax (configure.ac): Likewise.
90851         * modules/strtoumax (configure.ac): Likewise.
90853 2007-02-17  Bruno Haible  <bruno@clisp.org>
90855         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
90856         gl_STRING_MODULE_INDICATOR_DEFAULTS.
90857         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
90858         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
90860 2007-02-17  Bruno Haible  <bruno@clisp.org>
90862         * modules/link-warning: New file.
90863         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
90864         * lib/string_.h (GL_LINK_WARNING): Remove definition.
90865         * modules/string (Depends-on): Add link-warning.
90866         (Makefile.am): Copy the contents of build-aux/link-warning.h into
90867         string.h.
90868         * MODULES.html.sh (Support for building libraries and executables): Add
90869         link-warning.
90871 2007-02-17  Bruno Haible  <bruno@clisp.org>
90873         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
90874         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
90875         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
90876         long lines.
90878 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
90879             Bruno Haible  <bruno@clisp.org>
90881         * modules/tmpfile: New file.
90882         * lib/tmpfile.c: New file.
90883         * m4/tmpfile.m4: New file.
90884         * MODULES.html.sh (func_all_modules): New section "Input/output".
90886 2007-02-15  Bruno Haible  <bruno@clisp.org>
90888         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
90889         (supports_delete_on_close): New function.
90890         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
90892 2007-02-14  Bruno Haible  <bruno@clisp.org>
90894         * modules/mbspcasecmp-tests: New file.
90895         * tests/test-mbspcasecmp.sh: New file.
90896         * tests/test-mbspcasecmp.c: New file.
90898         New module mbspcasecmp.
90899         * modules/mbspcasecmp: New file.
90900         * lib/mbspcasecmp.c: New file.
90901         * lib/string_.h (strncasecmp): Change warning message.
90902         (mbspcasecmp): New declaration.
90903         * m4/mbspcasecmp.m4: New file.
90904         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
90905         GNULIB_MBSPCASECMP.
90906         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
90907         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
90909 2007-02-14  Bruno Haible  <bruno@clisp.org>
90911         * modules/mbsncasecmp-tests: New file.
90912         * tests/test-mbsncasecmp.sh: New file.
90913         * tests/test-mbsncasecmp.c: New file.
90915         New module mbsncasecmp.
90916         * modules/mbsncasecmp: New file.
90917         * lib/mbsncasecmp.c: New file.
90918         * lib/string_.h (mbsncasecmp): New declaration.
90919         * m4/mbsncasecmp.m4: New file.
90920         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
90921         GNULIB_MBSNCASECMP.
90922         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
90923         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
90925 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
90927         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
90928         Verify that it doesn't overlap with our flags.
90929         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
90930         do not have the desired effect in multibyte locales; instead, use
90931         mbscasecmp.
90932         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
90933         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
90934         we don't require GNU fnmatch ourselves (if our users require it, they
90935         should do so explicitly).
90937         Fix regex code so it doesn't rely on strcasecmp.
90938         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
90939         Otherwise, include gnulib's langinfo.h.
90940         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
90941         undesirable behavior in non-C locales.  Instead, rely on localecharset.
90942         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
90943         * modules/regex (FILES): Remove m4/codeset.m4.
90944         (Depends-on): Add localcharset.  Remove strcase.
90946 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
90948         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
90949         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
90951 2007-02-13  Bruno Haible  <bruno@clisp.org>
90953         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
90954         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
90956 2007-02-12  Bruno Haible  <bruno@clisp.org>
90958         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
90959         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
90960         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
90961         time warning rather than a link error.
90963 2007-02-12  Bruno Haible  <bruno@clisp.org>
90965         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
90966         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
90967         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
90969 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
90971         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
90972         args, not 2.
90974 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
90976         New module 'time', so that apps can include <time.h> as per
90977         POSIX and GNU instead of separate include files like time_r.h
90978         and timegm.h.  This implementation tries out a simpler approach
90979         for replacing decls in standard include files (as compared to
90980         the string module), somewhat as an experiment.
90982         * config/srclist.txt: Comment out mktime.c for now.
90983         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
90984         since it doesn't apply any more.  Use generic wording instead.
90985         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
90986         'time'.
90987         * lib/time_.h, m4/time_h.m4, modules/time: New files.
90988         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
90989         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
90990         Don't include <sys/types.h>; no longer needed since we assume C89.
90991         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
90992         * lib/strftime.c: Likewise.
90993         * lib/time_r.c: Likewise.
90994         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
90995         * lib/nanosleep.c: Include <time.h> first, to check interface.
90996         * lib/strptime.c: Likewise.
90997         * lib/time_r.c: Likewise.
90998         * lib/timegm.c: Likewise.
90999         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
91000         needed.
91001         * lib/timegm.c: Don't include timegm.h; no longer needed.
91002         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
91003         time.h now handles any problems in that area.
91004         (struct timespec, nanosleep): Remove; time.h now arranges for these.
91005         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
91006         that time.h defines struct timespec.
91007         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
91008         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
91009         handles that.
91010         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
91011         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
91012         needed.  Set REPLACE_LOCALTIME.
91013         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
91014         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
91015         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
91016         nanosleep; time_h.m4 now does that.  Don't require
91017         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
91018         module handles this now.
91019         * modules/getdate (Depends-on): Remove timespec.  Add time.
91020         * modules/nanosleep (Depends-on): Likewise.
91021         * modules/stat-time (Depends-on): Likewise.
91022         * modules/nanosleep (Include): Include time.h, not timespec.h.
91023         * modules/strptime (Files): Remove lib/strptime.h.
91024         (Depends-on): Add extensions, time.
91025         (Include): Include time.h, not strptime.h.
91026         * modules/time_r (Files): Remove lib/time_r.h.
91027         (Depends-on): Add time.
91028         (Include): Include time.h, not time_r.h.
91029         * modules/timegm: Likewise.
91030         * modules/timespec (Description): Now does timespec-related decls
91031         of our own, instead of struct timespec itself.
91032         (Depends-on): Add time; remove extensions.
91033         (Maintainer): Add self.
91034         * modules/utimecmp (Depends-on): Add time; remove timespec.
91035         * modules/utimens (Depends-on): Likewise.
91036         * modules/xnanosleep (Depends-on): Likewise.
91038 2007-02-11  Bruno Haible  <bruno@clisp.org>
91040         * lib/c-strstr.c: Include allocsa.h.
91041         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
91042         * lib/c-strcasestr.c: Include allocsa.h.
91043         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
91044         * lib/strcasestr.c: Include allocsa.h.
91045         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
91046         * lib/mbsstr.c: Include allocsa.h.
91047         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
91048         allocsa/freesa instead of malloc/free.
91049         * lib/mbscasestr.c: Include allocsa.h.
91050         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
91051         allocsa/freesa instead of malloc/free.
91052         * modules/c-strstr (Depends-on): Add allocsa.
91053         * modules/c-strcasestr (Depends-on): Likewise.
91054         * modules/strcasestr (Depends-on): Likewise.
91055         * modules/mbsstr (Depends-on): Likewise.
91056         * modules/mbscasestr (Depends-on): Likewise.
91058 2007-02-11  Bruno Haible  <bruno@clisp.org>
91060         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
91062         * modules/mbsspn-tests: New file.
91063         * tests/test-mbsspn.sh: New file.
91064         * tests/test-mbsspn.c: New file.
91066 2007-02-11  Bruno Haible  <bruno@clisp.org>
91068         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
91070         * modules/mbspbrk-tests: New file.
91071         * tests/test-mbspbrk.sh: New file.
91072         * tests/test-mbspbrk.c: New file.
91074 2007-02-11  Bruno Haible  <bruno@clisp.org>
91076         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
91077         unneeded cast.
91079         * modules/mbscspn-tests: New file.
91080         * tests/test-mbscspn.sh: New file.
91081         * tests/test-mbscspn.c: New file.
91083 2007-02-11  Bruno Haible  <bruno@clisp.org>
91085         * modules/mbscasecmp-tests: New file.
91086         * tests/test-mbscasecmp.sh: New file.
91087         * tests/test-mbscasecmp.c: New file.
91089 2007-02-11  Bruno Haible  <bruno@clisp.org>
91091         Ensure O(n) worst-case complexity of mbscasestr.
91092         * lib/mbscasestr.c: Include stdbool.h.
91093         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
91094         functions.
91095         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
91096         the bookkeeping indicates that it's worth it.
91097         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
91099         * modules/mbscasestr-tests: New file.
91100         * tests/test-mbscasestr1.c: New file.
91101         * tests/test-mbscasestr2.sh: New file.
91102         * tests/test-mbscasestr2.c: New file.
91103         * tests/test-mbscasestr3.sh: New file.
91104         * tests/test-mbscasestr3.c: New file.
91105         * tests/test-mbscasestr4.sh: New file.
91106         * tests/test-mbscasestr4.c: New file.
91107         * m4/locale-tr.m4: New file.
91109 2007-02-11  Bruno Haible  <bruno@clisp.org>
91111         Ensure O(n) worst-case complexity of mbsstr.
91112         * lib/mbsstr.c: Include stdbool.h.
91113         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
91114         functions.
91115         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
91116         bookkeeping indicates that it's worth it.
91117         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
91119         * modules/mbsstr-tests: New file.
91120         * tests/test-mbsstr1.c: New file.
91121         * tests/test-mbsstr2.sh: New file.
91122         * tests/test-mbsstr2.c: New file.
91123         * tests/test-mbsstr3.sh: New file.
91124         * tests/test-mbsstr3.c: New file.
91125         * m4/locale-fr.m4: New file.
91127 2007-02-11  Bruno Haible  <bruno@clisp.org>
91129         * lib/mbsrchr.c (mbsrchr): Fix bug.
91131         * modules/mbsrchr-tests: New file.
91132         * tests/test-mbsrchr.sh: New file.
91133         * tests/test-mbsrchr.c: New file.
91135 2007-02-11  Bruno Haible  <bruno@clisp.org>
91137         * lib/mbschr.c (mbschr): Fix bug.
91139         * modules/mbschr-tests: New file.
91140         * tests/test-mbschr.sh: New file.
91141         * tests/test-mbschr.c: New file.
91142         * m4/locale-zh.m4: New file.
91144 2007-02-11  Bruno Haible  <bruno@clisp.org>
91146         Support for copying multibyte string iterators.
91147         * lib/mbiter.h: Include <string.h>.
91148         (mbiter_multi_copy): New function.
91149         (mbi_copy): New macro.
91150         * lib/mbuiter.h: Include <string.h>.
91151         (mbuiter_multi_copy): New function.
91152         (mbui_copy): New macro.
91154 2007-02-11  Bruno Haible  <bruno@clisp.org>
91156         New module mbslen.
91157         * modules/mbslen: New file.
91158         * lib/mbslen.c: New file.
91159         * lib/string_.h (mbslen): New declaration.
91160         * m4/mbslen.m4: New file.
91161         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91162         GNULIB_MBSLEN.
91163         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
91164         * MODULES.html.sh (Internationalization functions): Add mbslen.
91166 2007-02-11  Bruno Haible  <bruno@clisp.org>
91168         Ensure O(n) worst-case complexity of strcasestr substitute.
91169         * lib/strcasestr.c: Include stdbool.h.
91170         (knuth_morris_pratt): New function.
91171         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
91172         bookkeeping indicates that it's worth it.
91173         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
91175         * modules/strcasestr-tests: New file.
91176         * tests/test-strcasestr.c: New file.
91178 2007-02-11  Bruno Haible  <bruno@clisp.org>
91180         Ensure O(n) worst-case complexity of c_strcasestr.
91181         * lib/c-strcasestr.c: Include stdbool.h, string.h.
91182         (knuth_morris_pratt): New function.
91183         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
91184         the bookkeeping indicates that it's worth it.
91185         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
91187         * modules/c-strcasestr-tests: New file.
91188         * tests/test-c-strcasestr.c: New file.
91190 2007-02-11  Bruno Haible  <bruno@clisp.org>
91192         Ensure O(n) worst-case complexity of c_strstr.
91193         * lib/c-strstr.c: Include stdbool.h, string.h.
91194         (knuth_morris_pratt): New function.
91195         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
91196         bookkeeping indicates that it's worth it.
91197         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
91199         * lib/c-strstr.c: Complete rewrite for maintainability.
91201         * modules/c-strstr-tests: New file.
91202         * tests/test-c-strstr.c: New file.
91204 2007-02-11  Bruno Haible  <bruno@clisp.org>
91206         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
91207         5.2.1 and earlier, whereby \055 was treated just like the range
91208         delimiter '-'.
91209         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
91211 2007-02-08  Bruno Haible  <bruno@clisp.org>
91213         * modules/regex (Depends-on): Add stdbool.
91214         Reported by Dalibor Topic <robilad@kaffe.org>.
91216 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
91218         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
91219         Prefer returning from main to exiting from it.
91220         Remove unnecessary parens after sizeof.
91222 2007-02-05  Bruno Haible  <bruno@clisp.org>
91224         New module mbssep.
91225         * modules/mbssep: New file.
91226         * lib/mbssep.c: New file.
91227         * lib/string_.h (strsep): Add a conditional link warning.
91228         (mbssep): New declaration.
91229         * m4/mbssep.m4: New file.
91230         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91231         GNULIB_MBSSEP.
91232         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
91233         * MODULES.html.sh (Internationalization functions): Add mbssep.
91235 2007-02-05  Bruno Haible  <bruno@clisp.org>
91237         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
91238         Optimize search in case of 1 delimiter.
91240 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
91242         * lib/acl.h: Include sys/types.h before sys/acl.h.
91244 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
91246         Merge upstream fix for glibc bugzilla #3957:
91248         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
91250         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
91251         bit for RE_HAT_LISTS_NOT_NEWLINE.
91252         (build_charclass_op): Remove bogus comment.
91254 2007-02-05  Simon Josefsson  <simon@josefsson.org>
91256         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
91258 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
91260         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
91261         * lib/memmem.c [!defined _LIBC]: Include config.h.
91263 2007-02-04  Bruno Haible  <bruno@clisp.org>
91265         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
91266         warning message.
91268 2007-02-04  Bruno Haible  <bruno@clisp.org>
91270         New module mbstok_r.
91271         * modules/mbstok_r: New file.
91272         * lib/mbstok_r.c: New file.
91273         * lib/string_.h (strtok_r): Change argument names to match the
91274         comments. Add a conditional link warning.
91275         (mbstok_r): New declaration.
91276         * m4/mbstok_r.m4: New file.
91277         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91278         GNULIB_MBSTOK_R.
91279         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
91280         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
91282 2007-02-04  Bruno Haible  <bruno@clisp.org>
91284         New module mbsspn.
91285         * modules/mbsspn: New file.
91286         * lib/mbsspn.c: New file.
91287         * lib/string_.h (strspn): Add a conditional link warning.
91288         (mbsspn): New declaration.
91289         * m4/mbsspn.m4: New file.
91290         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91291         GNULIB_MBSSPN.
91292         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
91293         * MODULES.html.sh (Internationalization functions): Add mbsspn.
91295 2007-02-04  Bruno Haible  <bruno@clisp.org>
91297         New module mbspbrk.
91298         * modules/mbspbrk: New file.
91299         * lib/mbspbrk.c: New file.
91300         * lib/string_.h (strpbrk): Add a conditional link warning.
91301         (mbspbrk): New declaration.
91302         * m4/mbspbrk.m4: New file.
91303         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91304         GNULIB_MBSPBRK.
91305         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
91306         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
91308 2007-02-04  Bruno Haible  <bruno@clisp.org>
91310         New module mbscspn.
91311         * modules/mbscspn: New file.
91312         * lib/mbscspn.c: New file.
91313         * lib/string_.h (strcspn): Add a conditional link warning.
91314         (mbscspn): New declaration.
91315         * m4/mbscspn.m4: New file.
91316         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91317         GNULIB_MBSCSPN.
91318         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
91319         * MODULES.html.sh (Internationalization functions): Add mbscspn.
91321 2007-02-04  Bruno Haible  <bruno@clisp.org>
91323         New module mbscasestr, reduced goal of strcasestr.
91324         * modules/mbscasestr: New file.
91325         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
91326         (mbscasestr): Renamed from strcasestr.
91327         * lib/strcasestr.c: Don't include mbuiter.h.
91328         (strcasestr): Remove support for multibyte locales.
91329         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
91330         Change the conditional link warning.
91331         (mbscasestr): New declaration.
91332         * m4/mbscasestr.m4: New file.
91333         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
91334         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
91335         REPLACE_STRCASESTR.
91336         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
91337         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
91338         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
91339         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
91340         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
91341         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
91342         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
91343         (Depends-on): Remove mbuiter.
91344         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
91346 2007-02-04  Bruno Haible  <bruno@clisp.org>
91348         Simplify handling of strncasecmp.
91349         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
91350         the conditional link warning.
91351         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
91352         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
91353         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
91354         * modules/strcase (configure.ac): Don't invoke
91355         gl_STRING_MODULE_INDICATOR.
91356         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
91358 2007-02-04  Bruno Haible  <bruno@clisp.org>
91360         New module mbscasecmp, reduced goal of strcasecmp.
91361         * modules/mbscasecmp: New file.
91362         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
91363         (mbscasecmp): Renamed from strcasecmp.
91364         * lib/strcasecmp.c: Don't include mbuiter.h.
91365         (strcasecmp): Remove support for multibyte locales.
91366         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
91367         Change the conditional link warning.
91368         (mbscasecmp): New declaration.
91369         * m4/mbscasecmp.m4: New file.
91370         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
91371         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
91372         REPLACE_STRCASECMP.
91373         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
91374         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91375         GNULIB_MBSCASECMP.
91376         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
91377         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
91378         * modules/strcase (Files): Remove m4/mbrtowc.m4.
91379         (Depends-on): Remove mbuiter.
91380         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
91382 2007-02-04  Bruno Haible  <bruno@clisp.org>
91384         New module mbsstr. Remove module strstr.
91385         * modules/mbsstr: New file.
91386         * modules/strstr: Remove file.
91387         * lib/mbsstr.c: Renamed from lib/strstr.c.
91388         (mbsstr): Renamed from strstr.
91389         * lib/string_.h (strstr): Remove declaration. Change the conditional
91390         link warning.
91391         (mbsstr): New declaration.
91392         * m4/mbsstr.m4: New file.
91393         * m4/strstr.m4: Remove file.
91394         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
91395         REPLACE_STRSTR.
91396         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
91397         Don't initialize GNULIB_STRSTR.
91398         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
91399         substitute GNULIB_STRSTR and REPLACE_STRSTR.
91400         * MODULES.html.sh (Internationalization functions): Add mbsstr.
91401         (Support for systems lacking ANSI C 89): Remove strstr.
91403 2007-02-04  Bruno Haible  <bruno@clisp.org>
91405         New module mbsrchr.
91406         * modules/mbsrchr: New file.
91407         * lib/mbsrchr.c: New file.
91408         * lib/string_.h (strrchr): Add a conditional link warning.
91409         (mbsrchr): New declaration.
91410         * m4/mbsrchr.m4: New file.
91411         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91412         GNULIB_MBSRCHR.
91413         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
91414         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
91416 2007-02-04  Bruno Haible  <bruno@clisp.org>
91418         New module mbschr.
91419         * modules/mbschr: New file.
91420         * lib/mbschr.c: New file.
91421         * lib/string_.h (strchr): Add a conditional link warning.
91422         (mbschr): New declaration.
91423         * m4/mbschr.m4: New file.
91424         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91425         GNULIB_MBSCHR.
91426         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
91427         * MODULES.html.sh (Internationalization functions): Add mbschr.
91429 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
91431         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
91433         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
91435 2007-02-04  Bruno Haible  <bruno@clisp.org>
91437         New module description section 'configure.ac-early'.
91438         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
91439         (func_get_autoconf_early_snippet): New function.
91440         (func_import, func_create_testdir): Use it. Remove special cases for
91441         modules 'extensions' and 'lock'.
91442         * modules/extensions (configure.ac-early): Require
91443         gl_USE_SYSTEM_EXTENSIONS.
91444         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
91446 2007-02-04  Bruno Haible  <bruno@clisp.org>
91448         Make use of gcj-4.3's -fsource and -ftarget option.
91449         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
91450         and if so try the options -fsource and -ftarget.
91451         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
91452         source_version, ftarget_option, target_version arguments.
91453         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
91454         (is_envjavac_oldgcj_14_14_usable): Renamed from
91455         is_envjavac_gcj_14_14_usable.
91456         (is_envjavac_oldgcj_14_13_usable): Renamed from
91457         is_envjavac_gcj_14_13_usable.
91458         (is_gcj_present): Update.
91459         (is_gcj_43, is_gcj43_usable): New functions.
91460         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
91461         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
91462         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
91463         try the options -fsource and -ftarget.
91465 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
91467         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
91468         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
91469         larger value.
91471 2007-02-03  Jim Meyering  <jim@meyering.net>
91473         Give tools a better chance to allocate space for very large buffers.
91474         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
91476         Make pwd and readlink work also when run with an unreadable parent dir
91477         on systems with openat support.
91478         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
91479         provided getcwd function, even when we have openat support.
91480         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
91482 2007-02-02  Bruno Haible  <bruno@clisp.org>
91484         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
91485         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
91486         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
91487         portability problems if one of these functions is only used on specific
91488         platforms.
91489         Reported by Paul Eggert.
91491 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
91493         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
91494         is causing more trouble than it's curing.
91495         * lib/regex_internal.h (__mempcpy): Remove.
91496         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
91497         (and make the code a tad smaller to boot).
91498         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
91500 2007-02-02  Jim Meyering  <jim@meyering.net>
91502         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
91503         section, not in the Makefile.am: one.
91505 2007-02-02  Eric Blake  <ebb9@byu.net>
91507         * lib/strchrnul.c: Always include config.h first.
91509         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
91510         gnulib strstr is not necessary here.
91512 2007-02-02  Simon Josefsson  <simon@josefsson.org>
91514         * m4/socklen.m4: Fix typo.
91516 2007-02-02  Eric Blake  <ebb9@byu.net>
91518         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
91519         * modules/netinet_in (Makefile.am): Likewise.
91521 2007-02-01  Bruno Haible  <bruno@clisp.org>
91523         * lib/string_.h (GL_LINK_WARNING): New macro.
91524         (strcasecmp, strstr, strcasestr): If provided by the system,
91525         conditionally define as a macro that leads to a warning instead of to
91526         an error.
91527         (strncasecmp): Conditionally define as a macro that leads to a warning.
91529 2007-02-01  Karl Berry  <karl@gnu.org>
91531         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
91533 2007-02-01  Bruno Haible  <bruno@clisp.org>
91535         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
91536         renamings.
91538 2007-02-01  Eric Blake  <ebb9@byu.net>
91540         * modules/regex (Depends-on): Revert dependence on mempcpy.
91541         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
91542         module's definition of mempcpy.
91543         Reported by Paul Eggert.
91545 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
91547         * lib/string_.h: If the gnulib module XYZ is not present, undefine
91548         the symbol XYZ before redefining it.  This fixes a problem with
91549         programs that don't use XYZ, when compiled on systems that define
91550         XYZ to something else.
91552 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
91554         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
91555         occurs when "mkdir -m foo" creates a setgid directory that is (1)
91556         writeable to group or other and (2) is intended to have a special
91557         mode bit that is set or cleared.  In such a case, the directory
91558         should be neither group- nor other-writeable until the special
91559         mode bits are right.
91561 2007-01-31  Eric Blake  <ebb9@byu.net>
91563         * modules/mountlist (Depends-on): Add strstr.
91565         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
91566         bug.
91567         * modules/string (Makefile.am): Remove redundant replacement.
91568         * modules/regex (Depends-on): Add mempcpy.
91570 2007-01-31  Bruno Haible  <bruno@clisp.org>
91572         New module description field 'Link'.
91573         * gnulib-tool (func_usage): Document --extract-link-directive.
91574         (sed_extract_prog): Recognize 'Link' directive.
91575         (func_get_link_directive): New function.
91576         (func_import): Show summary of link directives.
91577         Handle --extract-link-directive option.
91578         * modules/acl (Link): New section.
91579         * modules/clock-time (Link): New section.
91580         * modules/euidaccess (Link): New section.
91581         * modules/gettext (Link): New section.
91582         * modules/iconv (Link): New section.
91583         * modules/lock (Link): New section.
91584         * modules/nanosleep (Link): New section.
91585         * modules/readline (Link): New section.
91587 2007-01-27  Bruno Haible  <bruno@clisp.org>
91589         Enforce the use of gnulib modules for unportable <string.h> functions.
91590         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
91591         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
91592         (gl_HEADER_STRING_H_BODY): Require it.
91593         * lib/string_.h: If the gnulib module XYZ is not present, redefine
91594         the symbol XYZ to one that gives a link error.
91595         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
91596         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
91597         * modules/mempcpy (configure.ac): Likewise.
91598         * modules/memrchr (configure.ac): Likewise.
91599         * modules/stpcpy (configure.ac): Likewise.
91600         * modules/stpncpy (configure.ac): Likewise.
91601         * modules/strcase (configure.ac): Likewise.
91602         * modules/strcasestr (configure.ac): Likewise.
91603         * modules/strchrnul (configure.ac): Likewise.
91604         * modules/strdup (configure.ac): Likewise.
91605         * modules/strndup (configure.ac): Likewise.
91606         * modules/strnlen (configure.ac): Likewise.
91607         * modules/strpbrk (configure.ac): Likewise.
91608         * modules/strsep (configure.ac): Likewise.
91609         * modules/strstr (configure.ac): Likewise.
91610         * modules/strtok_r (configure.ac): Likewise.
91612 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
91614         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
91616 2007-01-30  Jim Meyering  <jim@meyering.net>
91618         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
91620 2007-01-29  Bruno Haible  <bruno@clisp.org>
91622         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
91623         * lib/execute.c: Likewise.
91624         * lib/pipe.c: Likewise.
91625         * lib/printf-args.h: Likewise.
91626         * lib/printf-args.c: Likewise.
91627         * lib/printf-parse.c: Likewise.
91628         * lib/vasnprintf.c: Likewise.
91630 2007-01-29  Eric Blake  <ebb9@byu.net>
91632         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
91633         declaration.
91635 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
91637         * lib/strptime.h (strptime): Use 'restrict' for args where
91638         POSIX requires this.
91639         * lib/strptime.c (strptime): Likewise.
91640         Change license notice from LGPL to GPL, since gnulib-tool will
91641         change this as needed.
91642         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
91643         defined.
91644         Include "strptime.h" first, to check interface.
91645         Do not #undef _LIBC and _NL_CURRENT.
91646         Do not include <stdlib.h>; no longer needed.
91647         Include "time_r.h" and declare ptime_locale_status
91648         only if _LIBC is not defined.
91649         (__P): Remove unused macro.
91650         (match_string): Bring back glibc version, but use it only if _LIBC
91651         is defined.
91652         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
91653         Remove unnecessary assertion and abort() call.
91654         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
91655         * m4/strptime.m4: Fix serial number comment.
91656         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
91657         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
91658         (Depends-on): Add time_r.
91660 2007-01-29  Bruno Haible  <bruno@clisp.org>
91662         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
91663         strptime.
91664         * modules/strptime (Depends-on): Add stdbool.
91665         * lib/strptime.h: Include <time.h> always. Add comments.
91667 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
91669         * modules/strptime: New file.
91670         * lib/strptime.h: New file.
91671         * lib/strptime.c: New file.
91672         * m4/strptime.m4: New file.
91674 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
91676         * MODULES.html.sh: New module mpsort.
91677         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
91679         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
91680         a circularity problem with HP-UX ia64 reported by Bob Proulx in
91681         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00394.html>.
91682         All uses changed.
91683         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
91684         All uses changed.
91685         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
91686         to _Restrict_.
91687         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
91688         the parameter matches the prototype.
91690 2007-01-28  Jim Meyering  <jim@meyering.net>
91692         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
91693         sys/time.h here, reverting that part of the previous patch:
91694         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
91696 2007-01-28  Bruno Haible  <bruno@clisp.org>
91698         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
91699         value of $(SYS_TIME_H).
91700         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
91701         remove it conditionally, too. [added by Jim Meyering]
91702         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
91703         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
91704         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
91705         GETTIMEOFDAY_REPLACEMENT to 1.
91707 2007-01-28  Bruno Haible  <bruno@clisp.org>
91709         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
91710         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
91711         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
91712         Set UNISTD_H instead of UNISTD_H2.
91713         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
91715 2007-01-28  Bruno Haible  <bruno@clisp.org>
91717         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
91718         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
91720 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91722         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
91723         (func_create_testdir): Ensure C locale for `grep' and `tr'
91724         character ranges.
91725         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
91726         ACLOCAL_AMFLAGS parsing state machine.
91728 2007-01-27  Bruno Haible  <bruno@clisp.org>
91730         * modules/unistr/base: Update.
91732 2007-01-27  Bruno Haible  <bruno@clisp.org>
91734         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
91735         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
91736         * modules/unistr/u32-mbtouc-unsafe: Renamed from
91737         modules/unistr/u32-mbtouc.
91738         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
91739         * lib/unistr.h: Update.
91740         * lib/linebreak.c: Update.
91741         * modules/unistr/u32-mbtouc: Renamed from
91742         modules/unistr/u32-mbtouc-safe.
91743         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
91744         * lib/unistr.h: Update.
91745         * lib/unistr/u32-to-u8.c: Update.
91746         * lib/unistr/u32-to-u16.c: Update.
91748 2007-01-27  Bruno Haible  <bruno@clisp.org>
91750         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
91751         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
91752         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
91753         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
91754         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
91755         * modules/unistr/u16-mbtouc-unsafe: Renamed from
91756         modules/unistr/u16-mbtouc.
91757         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
91758         * lib/unistr.h: Update.
91759         * lib/linebreak.c: Update.
91760         * modules/linebreak: Update.
91761         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
91762         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
91763         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
91764         * modules/unistr/u16-mbtouc: Renamed from
91765         modules/unistr/u16-mbtouc-safe.
91766         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
91767         * lib/unistr.h: Update.
91768         * lib/unistr/u16-to-u8.c: Update.
91769         * modules/unistr/u16-to-u8: Update.
91770         * lib/unistr/u16-to-u32.c: Update.
91771         * modules/unistr/u16-to-u32: Update.
91773 2007-01-27  Bruno Haible  <bruno@clisp.org>
91775         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
91776         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
91777         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
91778         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
91779         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
91780         * modules/unistr/u8-mbtouc-unsafe: Renamed from
91781         modules/unistr/u8-mbtouc.
91782         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
91783         * lib/unistr.h: Update.
91784         * lib/striconveh.c: Update.
91785         * modules/striconveh: Update.
91786         * lib/linebreak.c: Update.
91787         * modules/linebreak: Update.
91788         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
91789         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
91790         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
91791         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
91792         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
91793         * lib/unistr.h: Update.
91794         * lib/striconveh.c: Update.
91795         * modules/striconveh: Update.
91796         * lib/unistr/u8-to-u16.c: Update.
91797         * modules/unistr/u8-to-u16: Update.
91798         * lib/unistr/u8-to-u32.c: Update.
91799         * modules/unistr/u8-to-u32: Update.
91801 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91803         Sync from Libtool.
91804         * lib/argz.c: Do not include strings.h nor memory.h, include
91805         string.h unconditionally.  Patch by Simon Josefsson.
91807 2007-01-27  Bruno Haible  <bruno@clisp.org>
91809         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
91810         from gl_HEADER_STRING_H_BODY.
91811         (gl_HEADER_STRING_H_BODY): Require it.
91812         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
91813         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
91814         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
91815         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
91816         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
91817         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
91818         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
91819         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
91820         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
91821         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
91822         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
91823         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
91824         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
91825         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
91826         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
91828 2007-01-27  Bruno Haible  <bruno@clisp.org>
91830         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
91831         check_PROGRAMS into noinst_PROGRAMS.
91832         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
91833         check_PROGRAMS in this case.
91834         (func_import): Set for_test to false.
91835         (func_create_testdir): Set for_test to true.
91837 2007-01-27  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91838             Bruno Haible  <bruno@clisp.org>
91840         * modules/strcasestr (Files): Remove lib/strcasestr.h.
91841         (Depends-on): Add string.
91842         (Includes): Use <string.h> instead of strcasestr.h.
91843         * modules/string (Makefile.am): Also substitute the value of
91844         REPLACE_STRCASESTR.
91845         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
91846         assume strcasestr is declared in <string.h> not <strings.h>. Also
91847         set REPLACE_STRCASESTR.
91848         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
91849         REPLACE_STRCASESTR.
91850         * lib/strcasestr.h: Remove file.
91851         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
91852         * lib/string_.h (strcasestr): New declaration.
91854 2007-01-27  Bruno Haible  <bruno@clisp.org>
91856         * lib/string_.h: Use 'extern'.
91858 2007-01-27  Jim Meyering  <jim@meyering.net>
91860         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
91861         of set-but-not-used local, "q".
91863         * lib/mempcpy.c: Include <config.h> before <string.h>.
91864         This fixes a compilation error on HP-UX, due to the system's
91865         "restrict"-using mempcpy prototype.
91867 2007-01-26  Bruno Haible  <bruno@clisp.org>
91869         Small optimization.
91870         * lib/javacomp.c: Include c-strstr.h.
91871          (is_envjavac_gcj): Use c_strstr instead of strstr.
91872         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
91874 2007-01-26  Bruno Haible  <bruno@clisp.org>
91876         * MODULES.html.sh (Unicode string functions): Add the new modules.
91878         * modules/uniconv/u32-strconv-to-locale: New file.
91879         * lib/uniconv/u32-strconv-to-locale.c: New file.
91881         * modules/uniconv/u16-strconv-to-locale: New file.
91882         * lib/uniconv/u16-strconv-to-locale.c: New file.
91884         * modules/uniconv/u8-strconv-to-locale: New file.
91885         * lib/uniconv/u8-strconv-to-locale.c: New file.
91887         * modules/uniconv/u32-strconv-from-locale: New file.
91888         * lib/uniconv/u32-strconv-from-locale.c: New file.
91890         * modules/uniconv/u16-strconv-from-locale: New file.
91891         * lib/uniconv/u16-strconv-from-locale.c: New file.
91893         * modules/uniconv/u8-strconv-from-locale: New file.
91894         * lib/uniconv/u8-strconv-from-locale.c: New file.
91896         * modules/uniconv/u32-strconv-to-enc: New file.
91897         * lib/uniconv/u32-strconv-to-enc.c: New file.
91898         * modules/uniconv/u32-strconv-to-enc-tests: New file.
91899         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
91901         * modules/uniconv/u16-strconv-to-enc: New file.
91902         * lib/uniconv/u16-strconv-to-enc.c: New file.
91903         * lib/uniconv/u-strconv-to-enc.h: New file.
91904         * modules/uniconv/u16-strconv-to-enc-tests: New file.
91905         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
91907         * modules/uniconv/u8-strconv-to-enc: New file.
91908         * lib/uniconv/u8-strconv-to-enc.c: New file.
91909         * modules/uniconv/u8-strconv-to-enc-tests: New file.
91910         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
91912         * modules/uniconv/u32-strconv-from-enc: New file.
91913         * lib/uniconv/u32-strconv-from-enc.c: New file.
91914         * modules/uniconv/u32-strconv-from-enc-tests: New file.
91915         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
91917         * modules/uniconv/u16-strconv-from-enc: New file.
91918         * lib/uniconv/u16-strconv-from-enc.c: New file.
91919         * modules/uniconv/u16-strconv-from-enc-tests: New file.
91920         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
91922         * modules/uniconv/u8-strconv-from-enc: New file.
91923         * lib/uniconv/u8-strconv-from-enc.c: New file.
91924         * lib/uniconv/u-strconv-from-enc.h: New file.
91925         * modules/uniconv/u8-strconv-from-enc-tests: New file.
91926         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
91928         * modules/uniconv/u32-conv-from-enc: New file.
91929         * lib/uniconv/u32-conv-from-enc.c: New file.
91930         * modules/uniconv/u32-conv-from-enc-tests: New file.
91931         * tests/uniconv/test-u32-conv-from-enc.c: New file.
91933         * modules/uniconv/u16-conv-from-enc: New file.
91934         * lib/uniconv/u16-conv-from-enc.c: New file.
91935         * lib/uniconv/u-conv-from-enc.h: New file.
91936         * modules/uniconv/u16-conv-from-enc-tests: New file.
91937         * tests/uniconv/test-u16-conv-from-enc.c: New file.
91939         * modules/uniconv/u8-conv-from-enc: New file.
91940         * lib/uniconv/u8-conv-from-enc.c: New file.
91941         * modules/uniconv/u8-conv-from-enc-tests: New file.
91942         * tests/uniconv/test-u8-conv-from-enc.c: New file.
91944         * modules/uniconv/base: New file.
91945         * lib/uniconv.h: New file.
91947 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
91949         * doc/gnulib-tool.texi (Initial import): Update to match current
91950         behavior with strdup module.
91951         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
91952         * lib/memmem.h: Remove; all uses removed.  This is now done
91953         by <string.h>.
91954         * lib/mempcpy.h: Likewise.
91955         * lib/memrchr.h: Likewise.
91956         * lib/stpcpy.h: Likewise.
91957         * lib/stpncpy.h: Likewise.
91958         * lib/strcase.h: Likewise.
91959         * lib/strchrnul.h: Likewise.
91960         * lib/strdup.h: Likewise.
91961         * lib/strndup.h: Likewise.
91962         * lib/strnlen.h: Likewise.
91963         * lib/strpbrk.h: Likewise.
91964         * lib/strsep.h: Likewise.
91965         * lib/strstr.h: Likewise.
91966         * lib/strtok_r.h: Likewise.
91967         * lib/string_.h: New file.
91968         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
91969         Rely on <string.h> instead.
91970         * lib/canon-host.c: Likewise.
91971         * lib/chdir-long.c: Likewise.
91972         * lib/concatpath.c: Likewise.
91973         * lib/exclude.c: Likewise.
91974         * lib/fchdir.c: Likewise.
91975         * lib/getaddrinfo.c: Likewise.
91976         * lib/getcwd.c: Likewise.
91977         * lib/getsubopt.c: Likewise.
91978         * lib/glob.c: Likewise.
91979         * lib/hard-locale.c: Likewise.
91980         * lib/iconvme.c: Likewise.
91981         * lib/javacomp.c: Likewise.
91982         * lib/mempcpy.c: Likewise.
91983         * lib/memrchr.c: Likewise.
91984         * lib/regex_internal.h: Likewise.
91985         * lib/stpncpy.c: Likewise.
91986         * lib/strcasecmp.c: Likewise.
91987         * lib/strchrnul.c: Likewise.
91988         * lib/strdup.c: Likewise.
91989         * lib/striconv.c: Likewise.
91990         * lib/striconveh.c: Likewise.
91991         * lib/striconveha.c: Likewise.
91992         * lib/strncasecmp.c: Likewise.
91993         * lib/strndup.c: Likewise.
91994         * lib/strnlen.c: Likewise.
91995         * lib/strsep.c: Likewise.
91996         * lib/strstr.c: Likewise.
91997         * lib/strtok_r.c: Likewise.
91998         * lib/userspec.c: Likewise.
91999         * lib/w32spawn.h: Likewise.
92000         * lib/xstrndup.c: Likewise.
92001         * lib/mountlist.c (strstr): Remove decl.
92002         * m4/string_h.m4: New file.
92003         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
92004         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
92005         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
92006         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
92007         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
92008         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
92009         Set REPLACE_STRCASECMP if necessary.
92010         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
92011         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
92012         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
92013         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
92014         HAVE_DECL_STRDUP if necessary.
92015         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
92016         since gl_FUNC_STRNDUP does that now.
92017         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
92018         Check for decl here...
92019         (gl_PREREQ_STRNLEN): ... not here.
92020         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
92021         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
92022         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
92023         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
92024         necessary.
92025         * modules/string: New file.
92026         * modules/memmem (Files): Remove special-purpose include file.
92027         (Depends-on): Add string.
92028         (Include): Include <string.h>, not the removed file.
92029         * modules/mempcpy: Likewise.
92030         * modules/memrchr: Likewise.
92031         * modules/stpcpy: Likewise.
92032         * modules/stpncpy: Likewise.
92033         * modules/strcase: Likewise.
92034         * modules/strchrnul: Likewise.
92035         * modules/strdup: Likewise.
92036         * modules/strndup: Likewise.
92037         * modules/strnlen: Likewise.
92038         * modules/strpbrk: Likewise.
92039         * modules/strsep: Likewise.
92040         * modules/strstr: Likewise.
92041         * modules/strtok_r: Likewise.
92042         * tests/test-dirname.c: Don't include "strdup.h", since
92043         <string.h> now suffices.
92044         * tests/test-memmem.c: Don't include "memmem.h", since
92045         <string.h> now suffices.
92047 2007-01-25  Bruno Haible  <bruno@clisp.org>
92049         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
92050         *resultp is 0.
92052         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
92053         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
92054         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
92055         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
92057         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
92058         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
92059         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
92060         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
92061         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
92062         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
92064 2007-01-24  Bruno Haible  <bruno@clisp.org>
92066         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
92067         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00279.html>.
92068         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
92069         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
92070         gl_FUNC_FTS_CORE.
92071         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
92072         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
92073         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
92074         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
92075         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
92076         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
92077         gl_FUNC_FCHOWNAT.
92078         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
92079         gl_FUNC_STRFTIME.
92080         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
92081         Reported by Ralf Wildenhues.
92083 2007-01-24  Bruno Haible  <bruno@clisp.org>
92085         Drop AC_REQUIRE calls that are redundant with the module dependencies.
92086         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
92087         gl_GETADDRINFO.
92088         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
92089         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
92090         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
92092 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
92094         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
92095         Don't use 'exit'; just return from 'main'.
92096         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
92098         * lib/fnmatch_.h: Readjust white space and comments to match
92099         glibc, to avoid spurious diffs.
92101 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
92103         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
92104         2004-12-01 change by Jakub Jelinek, since this code won't compile
92105         if !LIBC.  Problem reported by Bob Proulx.
92107 2007-01-23  Bruno Haible  <bruno@clisp.org>
92109         * lib/striconveh.c: Include c-strcaseeq.h.
92110         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
92111         * modules/striconveh (Depends-on): Add c-strcaseeq.
92113 2007-01-23  Bruno Haible  <bruno@clisp.org>
92115         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
92117         * modules/c-strcaseeq: New file.
92118         * lib/c-strcaseeq.h: New file.
92120         * modules/streq: New file.
92121         * lib/streq.h: New file.
92123 2007-01-23  Bruno Haible  <bruno@clisp.org>
92125         * modules/striconveha-tests: New file.
92126         * tests/test-striconveha.c: New file.
92128         * lib/striconveha.h: Include <stdbool.h>.
92129         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
92130         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
92131         (mem_iconveha_notranslit): Renamed from mem_iconveha.
92132         (mem_iconveha): New function.
92133         (str_iconveha_notranslit): Renamed from str_iconveha.
92134         (str_iconveha): New function.
92135         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
92136         c-strcase.
92138 2007-01-23  Bruno Haible  <bruno@clisp.org>
92140         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
92141         encodings without forgiving before trying any encoding with handler.
92142         (str_iconveha): Try all encodings without forgiving before trying any
92143         encoding with handler.
92145 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
92147         Import the following changes from libc.
92149         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
92151         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
92153         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
92155         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
92156         normal_bracket label.
92158         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
92160         [BZ #361]
92161         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
92162         to normal_bracket after fetching the next character.
92164 2007-01-22  Bruno Haible  <bruno@clisp.org>
92166         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
92167         argument.
92168         * lib/striconveh.c (iconv_carefully_1): New function.
92169         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
92170         argument.
92171         (str_cd_iconveh): Update.
92172         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
92173         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
92174         * tests/test-striconveh.c (MAGIC): New macro.
92175         (new_offsets): New function.
92176         (main): Test call with and without offsets.
92178 2007-01-22  Bruno Haible  <bruno@clisp.org>
92180         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
92181         * modules/sys_select (Makefile.am): Likewise.
92182         * modules/sys_socket (Makefile.am): Likewise.
92183         * modules/sys_time (Makefile.am): Likewise.
92185 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
92187         * modules/gettimeofday (License): Change from GPL to LGPL, since
92188         gettimeofday is a library function.
92190 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92192         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
92194 2007-01-21  Bruno Haible  <bruno@clisp.org>
92196         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
92198 2007-01-21  Bruno Haible  <bruno@clisp.org>
92200         * modules/striconveha: New file.
92201         * lib/striconveha.h: New file.
92202         * lib/striconveha.c: New file.
92203         * MODULES.html.sh (Internationalization functions): Add striconveha.
92204         * lib/striconv.c (str_iconv): Optimize the case of an empty input
92205         string.
92206         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
92208 2007-01-21  Bruno Haible  <bruno@clisp.org>
92210         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
92211         * lib/striconveh.c (str_iconveh): Likewise.
92213 2007-01-21  Bruno Haible  <bruno@clisp.org>
92215         * lib/striconveh.h (mem_iconveh): New declaration.
92216         * lib/striconveh.c (mem_iconveh): New function.
92217         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
92219 2007-01-21  Bruno Haible  <bruno@clisp.org>
92221         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
92223         * lib/striconveh.h (mem_cd_iconveh): Change specification.
92224         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
92225         original result buffer.
92226         (str_cd_iconveh): Update.
92227         * tests/test-striconveh.c (main): Update.
92229         * lib/striconv.h (mem_cd_iconv): Change specification.
92230         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
92231         result buffer.
92232         (str_cd_iconv): Update.
92233         * tests/test-striconv.c (main): Update.
92235 2007-01-21  Bruno Haible  <bruno@clisp.org>
92237         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
92239 2007-01-20  Jim Meyering  <jim@meyering.net>
92241         * lib/userspec.c (parse_with_separator): If a user or group string
92242         starts with "+", skip the corresponding name-to-ID look-up, since
92243         such a look-up must fail: user and group names may not include "+".
92245 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
92247         * lib/poll.c: Include sys/time.h and time.h unconditionally,
92248         since we now assume the sys_time module.
92249         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
92250         check for sys/time.h; no longer needed.
92251         * modules/poll (Depends-on): Depend on sys_time.
92253 2007-01-18  Bruno Haible  <bruno@clisp.org>
92255         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
92256         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
92258         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
92259         gettimeofday.
92261         * tests/test-gettimeofday.c: Include <time.h>.
92262         (dummy): Remove variable.
92264         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
92265         gl_HEADER_SYS_TIME_H.
92266         (gl_HEADER_SYS_TIME_H): New macro.
92268         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
92269         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
92270         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
92271         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
92272         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
92273         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
92274         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
92275         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
92276         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
92277         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
92278         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
92280         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
92281         last change; it caused a compilation error when cross-compiling to
92282         Cygwin.
92284 2007-01-18  Jim Meyering  <jim@meyering.net>
92286         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
92287         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
92288         than the race-prone "test -d sys || mkdir sys".
92289         (configure.ac): Use AC_PROG_MKDIR_P.
92290         * modules/sys_select: Likewise.
92291         * modules/sys_socket: Likewise.
92292         * modules/sys_time: Likewise.
92294 2007-01-18  Eric Blake  <ebb9@byu.net>
92296         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
92297         replace gettimeofday.
92298         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
92299         name, to avoid infinite recursion.
92301 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
92303         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
92304         module sys_time.
92305         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
92306         assume timespec.h defines struct timeval.
92307         * lib/settime.c: Likewise.
92308         * lib/utimens.c: Likewise.
92309         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
92310         since we now assume the gettimeofday module.
92311         * lib/tempname.c (__gen_tempname): Likewise.
92312         * lib/gettimeofday.h: Remove.
92313         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
92314         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
92315         Include <time.h>, for 'time()'.
92316         (localtime_buffer_addr): Also use this workaround if
92317         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
92318         to simplify the uses.  All uses changed.
92319         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
92320         that #undef is inside {}, and 'const' follows type name consistently.
92321         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
92322         (gettimeofday): Do not use the maximum possible value for
92323         tv->tv_usec, since that might break usages other than ls.c.
92324         Instead, we'll leave ls.c alone.  This undoes today's patch
92325         by Bruno.  Add a compile-time warning for 1s-clock resolution;
92326         we've never observed the problem but might as well keep the
92327         canary.
92328         * lib/nanosleep.c: Include timespec.h first, for interface check.
92329         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
92330         now assume the sys_time module.
92331         * lib/tempname.c: Likewise.
92332         * lib/timespec.h: Likewise.
92333         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
92334         needed.
92335         * lib/strftime.c: Likewise.
92336         * lib/timespec.h: Likewise.
92337         * lib/posixtm.c: Include posixtm.h first, for interface check.
92338         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
92339         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
92340         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
92341         * lib/sys_time_.h: New file.
92342         * lib/timespec.h (struct timespec): Use long int, not long.
92343         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
92344         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
92345         Remove obsolescent call to AC_HEADER_TIME.
92346         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
92347         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
92348         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
92349         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
92350         Likewise.
92351         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
92352         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
92353         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
92354         into the sys_time module.  Check for gettimeofday just once.
92355         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
92356         for gettimeofday signature to just check the signature.  Merely
92357         compile it, since linking doesn't test signature.  Improve test for
92358         whether gettimeofday.o is actually needed.
92359         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
92360         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
92361         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
92362         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
92363         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
92364         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
92365         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
92366         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
92367         than worrying about sys/time.h.
92368         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
92369         Don't bother worrying about TIME_WITH_SYS_TIME.
92370         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
92371         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
92372         * m4/sys_time_h.m4: New file.
92373         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
92374         Don't include sys/time.h.  Return from main rather than exiting.
92375         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
92376         all uses changed.
92377         * modules/gethrxtime (Depends-on): Add sys_time.
92378         * modules/gettime (Depends-on): Likewise.
92379         * modules/gettimeofday (Depends-on): Likewise.
92380         * modules/nanosleep (Depends-on): Likewise.
92381         * modules/settime (Depends-on): Likewise.
92382         * modules/tempname (Depends-on): Likewise.
92383         * modules/utimens (Depends-on): Likewise.
92384         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
92385         (Include): Change back to <sys/time.h>.
92386         (Maintainer): Add self.
92387         * modules/sys_time: New file.
92388         * modules/tempname (Depends-on): Add gettimeofday.
92389         * tests/test-gettimeofday.c: Include <sys/time.h>
92390         rather than gettimeofday.h.
92392 2007-01-17  Bruno Haible  <bruno@clisp.org>
92394         * gnulib-tool (func_get_license): Revert last patch. Instead, let
92395         the license default to GPL.
92396         (func_create_testdir): Don't complain if a module is LGPL and its
92397         tests module depends on GPLed modules.
92399 2007-01-17  Bruno Haible  <bruno@clisp.org>
92401         * lib/gettimeofday.c (gettimeofday): Add code for the case
92402         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
92403         maximum possible value for tv->tv_usec, rather than the minimum one.
92405 2005-10-08  Martin Lambers  <marlam@marlam.de>
92406 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
92407 2007-01-16  Bruno Haible  <bruno@clisp.org>
92409         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
92410         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
92411         gl_FUNC_GETTIMEOFDAY.
92412         (Include): Add gettimeofday.h.
92413         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
92414         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
92415         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
92416         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
92417         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
92418         * lib/gettimeofday.h: New file.
92419         * lib/gettimeofday.c: Include <sys/timeb.h>.
92420         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
92421         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
92422         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
92423         fall back on time().
92425         * tests/test-gettimeofday.c: New file.
92426         * modules/gettimeofday-tests: New file.
92428 2007-01-16  Eric Blake  <ebb9@byu.net>
92430         * modules/fnmatch (Depends-on): Depend on wchar.
92431         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
92432         * m4/fnmatch.m4: Likewise.
92433         * modules/mbchar (Makefile.am): Assume <wchar.h>.
92434         * m4/mbchar.m4: Likewise.
92435         * modules/mbswidth (Depends-on): Depend on wchar.
92436         * lib/mbswidth.c: Assume <wchar.h>.
92437         * m4/mbswidth.m4: Likewise.
92438         * modules/quotearg (Depends-on): Depend on wchar.
92439         * lib/quotearg.c: Assume <wchar.h>.
92440         * m4/quotearg.m4: Likewise.
92441         * modules/regex (Depends-on): Depend on wchar.
92442         * lib/regex_internal.h: Assume <wchar.h>.
92443         * m4/regex.m4: Likewise.
92444         * modules/stdint (Depends-on): Depend on wchar.
92445         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
92446         * m4/stdint.m4: Likewise.
92447         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
92448         * modules/strftime (Depends-on): Depend on wchar.
92449         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
92450         * modules/strtol (Depends-on): Depend on wchar.
92451         * lib/strtol.c: Assume <wchar.h>.
92452         * modules/wcwidth (Depends-on): Depend on wchar.
92453         * lib/wcwidth.h: Assume <wchar.h>.
92454         * m4/wcwidth.m4: Likewise.
92456 2007-01-16  Bruno Haible  <bruno@clisp.org>
92458         * modules/csharpexec-script: New, created from...
92459         * modules/csharpexec: ... this.
92461 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
92463         * modules/javaexec-script: New, created from...
92464         * modules/javaexec: ... this.
92466 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92468         * modules/poll (Dependencies): Add sys_select.
92470 2007-01-15  Jim Meyering  <jim@meyering.net>
92472         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
92473         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
92474         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
92475         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
92477 2007-01-15  Bruno Haible  <bruno@clisp.org>
92479         * modules/striconveh: New file.
92480         * lib/striconveh.h: New file.
92481         * lib/striconveh.c: New file.
92482         * MODULES.html.sh (Internationalization functions): Add striconveh.
92484         * modules/striconveh-tests: New file.
92485         * tests/test-striconveh.c: New file.
92487 2007-01-15  Bruno Haible  <bruno@clisp.org>
92489         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
92490         not from GNU libiconv or GNU libc.
92492 2007-01-15  Bruno Haible  <bruno@clisp.org>
92494         * doc/gnulib-intro.texi (Copyright): Explain the different license
92495         terms for module descriptions, autoconf macros, tests, documentation.
92497 2007-01-14  Bruno Haible  <bruno@clisp.org>
92499         * modules/striconv-tests: New file.
92500         * tests/test-striconv.c: New file.
92502 2007-01-14  Bruno Haible  <bruno@clisp.org>
92504         * modules/iconv-tests: New file.
92505         * tests/test-iconv.c: New file.
92507 2007-01-14  Bruno Haible  <bruno@clisp.org>
92509         * gnulib-tool (func_get_license): For test modules, use the license of
92510         the main module.
92512 2007-01-14  Bruno Haible  <bruno@clisp.org>
92514         * modules/iconv (Include): Clarify that <iconv.h> can only be included
92515         if iconv is found to exist.
92517 2007-01-14  Bruno Haible  <bruno@clisp.org>
92519         * modules/c-ctype-tests: New file.
92520         * tests/test-c-ctype.c: New file.
92522 2007-01-14  Bruno Haible  <bruno@clisp.org>
92524         * modules/binary-io-tests: New file.
92525         * tests/test-binary-io.sh: New file.
92526         * tests/test-binary-io.c: New file.
92528 2007-01-14  Bruno Haible  <bruno@clisp.org>
92530         * modules/array-oset-tests: New file.
92531         * tests/test-array_oset.c: New file.
92533 2007-01-14  Bruno Haible  <bruno@clisp.org>
92535         * modules/array-list-tests: New file.
92536         * tests/test-array_list.c: New file.
92538 2007-01-14  Bruno Haible  <bruno@clisp.org>
92540         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
92541         and make.
92542         Reported by Simon Josefsson in
92543         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00139.html>
92545 2007-01-14  Bruno Haible  <bruno@clisp.org>
92547         * modules/allocsa-tests: New file.
92548         * tests/test-allocsa.c: New file.
92550 2007-01-14  Bruno Haible  <bruno@clisp.org>
92552         * modules/fchdir (Depends-on): Add absolute-header.
92553         * modules/unistd (Depends-on): Likewise.
92555 2006-12-30  Bruno Haible  <bruno@clisp.org>
92557         * modules/fchdir: New file.
92558         * modules/unistd (Files): Add lib/unistd_.h.
92559         (Makefile.am): Generate unistd.h from unistd_.h.
92560         * lib/fchdir.c: New file.
92561         * lib/dirent_.h: New file.
92562         * lib/unistd_.h: New file.
92563         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
92564         * m4/fchdir.m4: New file.
92565         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
92566         (gl_HEADER_UNISTD): Invoke it.
92567         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
92568         function.
92569         * lib/backupfile.c (opendir, closedir): Undefine.
92570         * lib/chown.c (open, close): Undefine.
92571         * lib/clean-temp.c (open, close): Undefine.
92572         * lib/copy-file.c (open, close): Undefine.
92573         * lib/execute.c (open, close): Undefine.
92574         * lib/fsusage.c (open, close): Undefine.
92575         * lib/gc-gnulib.c (open, close): Undefine.
92576         * lib/getcwd.c (opendir, closedir): Undefine.
92577         * lib/glob.c (opendir, closedir): Undefine.
92578         * lib/javacomp.c (open, close): Undefine.
92579         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
92580         * lib/openat-proc.c (open, close): Undefine.
92581         * lib/pagealign_alloc.c (open, close): Undefine.
92582         * lib/pipe.c (open, close): Undefine.
92583         * lib/progreloc.c (open, close): Undefine.
92584         * lib/savedir.c (opendir, closedir): Undefine.
92585         * lib/utime.c (open, close): Undefine.
92586         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
92588 2007-01-10  Bruno Haible  <bruno@clisp.org>
92590         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
92592 2007-01-12  Eric Blake  <ebb9@byu.net>
92594         Provide a robust <wchar.h>.  Further simplifications are now
92595         possible in other modules, but not included here.
92596         * modules/wchar: New module.
92597         * m4/wchar.m4: New file.
92598         * lib/wchar_.h: Likewise.
92599         * modules/mbchar (Depends-on): Depend on wchar, as the first use
92600         of the new module.
92601         * MODULES.html.sh (Extended multibyte and wide character utilities):
92602         New section.
92604 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
92606         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
92607         to a reasonable default for memory allocation.
92608         (xreadlink): Don't allocate a huge buffer, to work around a buggy
92609         file system that reports garbage st_size values for symlinks.
92610         Problem reported by Liyang Hu.
92612 2007-01-11  Simon Josefsson  <simon@josefsson.org>
92614         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
92615         Emacs .#* auto-save files).
92617 2007-01-11  Bruno Haible  <bruno@clisp.org>
92619         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
92620         directory.
92622 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
92624         Use @...@ consistently in lib/wctype_.h.
92625         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
92626         on it being set to 1 or 0.
92627         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
92628         go back to AC_SUBSTing it.
92629         * modules/wctype (Makefile.am): Undo previous change.
92631 2007-01-10  Eric Blake  <ebb9@byu.net>
92633         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
92634         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
92635         * modules/wctype (Makefile.am): Likewise.
92636         Reported by Chris McGuire.
92638 2007-01-10  Jim Meyering  <jim@meyering.net>
92640         fts.c: a small readability/maintainability improvement
92641         * lib/fts.c (fts_read): Make this code slightly more readable and
92642         maintainable by hoisting the "sp->fts_cur = p" assignments to
92643         immediately follow the statements that set P.  Derived from
92644         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
92646 2007-01-10  Eric Blake  <ebb9@byu.net>
92648         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
92649         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
92650         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
92651         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
92652         Reported by Chris McGuire.
92654 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92656         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
92657         in sed script.
92659 2007-01-09  Bruno Haible  <bruno@clisp.org>
92661         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
92662         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
92663         variables.
92664         (func_module): Use them.
92666 2007-01-09  Bruno Haible  <bruno@clisp.org>
92668         * modules/unistr/base: New file.
92669         * lib/unistr.h: New file.
92671         * modules/unistr/u8-to-u16: New file.
92672         * lib/unistr/u8-to-u16.c: New file.
92674         * modules/unistr/u8-to-u32: New file.
92675         * lib/unistr/u8-to-u32.c: New file.
92677         * modules/unistr/u16-to-u8: New file.
92678         * lib/unistr/u16-to-u8.c: New file.
92680         * modules/unistr/u16-to-u32: New file.
92681         * lib/unistr/u16-to-u32.c: New file.
92683         * modules/unistr/u32-to-u8: New file.
92684         * lib/unistr/u32-to-u8.c: New file.
92686         * modules/unistr/u32-to-u16: New file.
92687         * lib/unistr/u32-to-u16.c: New file.
92689         * modules/unistr/u8-check: New file.
92690         * modules/unistr/u16-check: New file.
92691         * modules/unistr/u32-check: New file.
92692         * lib/unistr/u8-check.c: New file.
92693         * lib/unistr/u16-check.c: New file.
92694         * lib/unistr/u32-check.c: New file.
92696         * modules/unistr/u8-chr: New file.
92697         * modules/unistr/u16-chr: New file.
92698         * modules/unistr/u32-chr: New file.
92699         * lib/unistr/u8-chr.c: New file.
92700         * lib/unistr/u16-chr.c: New file.
92701         * lib/unistr/u32-chr.c: New file.
92703         * modules/unistr/u8-cmp: New file.
92704         * modules/unistr/u16-cmp: New file.
92705         * modules/unistr/u32-cmp: New file.
92706         * lib/unistr/u8-cmp.c: New file.
92707         * lib/unistr/u16-cmp.c: New file.
92708         * lib/unistr/u32-cmp.c: New file.
92710         * modules/unistr/u8-cpy: New file.
92711         * modules/unistr/u16-cpy: New file.
92712         * modules/unistr/u32-cpy: New file.
92713         * lib/unistr/u8-cpy.c: New file.
92714         * lib/unistr/u16-cpy.c: New file.
92715         * lib/unistr/u32-cpy.c: New file.
92716         * lib/unistr/u-cpy.h: New file.
92718         * modules/unistr/u8-cpy-alloc: New file.
92719         * modules/unistr/u16-cpy-alloc: New file.
92720         * modules/unistr/u32-cpy-alloc: New file.
92721         * lib/unistr/u8-cpy-alloc.c: New file.
92722         * lib/unistr/u16-cpy-alloc.c: New file.
92723         * lib/unistr/u32-cpy-alloc.c: New file.
92724         * lib/unistr/u-cpy-alloc.h: New file.
92726         * modules/unistr/u8-endswith: New file.
92727         * modules/unistr/u16-endswith: New file.
92728         * modules/unistr/u32-endswith: New file.
92729         * lib/unistr/u8-endswith.c: New file.
92730         * lib/unistr/u16-endswith.c: New file.
92731         * lib/unistr/u32-endswith.c: New file.
92732         * lib/unistr/u-endswith.h: New file.
92734         * modules/unistr/u8-mblen: New file.
92735         * modules/unistr/u16-mblen: New file.
92736         * modules/unistr/u32-mblen: New file.
92737         * lib/unistr/u8-mblen.c: New file.
92738         * lib/unistr/u16-mblen.c: New file.
92739         * lib/unistr/u32-mblen.c: New file.
92741         * modules/unistr/u8-mbtouc: New file.
92742         * modules/unistr/u16-mbtouc: New file.
92743         * modules/unistr/u32-mbtouc: New file.
92744         * lib/unistr/u8-mbtouc.c: New file.
92745         * lib/unistr/u16-mbtouc.c: New file.
92746         * lib/unistr/u32-mbtouc.c: New file.
92748         * modules/unistr/u8-mbtouc-safe: New file.
92749         * modules/unistr/u16-mbtouc-safe: New file.
92750         * modules/unistr/u32-mbtouc-safe: New file.
92751         * lib/unistr/u8-mbtouc-safe.c: New file.
92752         * lib/unistr/u16-mbtouc-safe.c: New file.
92753         * lib/unistr/u32-mbtouc-safe.c: New file.
92755         * modules/unistr/u8-move: New file.
92756         * modules/unistr/u16-move: New file.
92757         * modules/unistr/u32-move: New file.
92758         * lib/unistr/u8-move.c: New file.
92759         * lib/unistr/u16-move.c: New file.
92760         * lib/unistr/u32-move.c: New file.
92761         * lib/unistr/u-move.h: New file.
92763         * modules/unistr/u8-next: New file.
92764         * modules/unistr/u16-next: New file.
92765         * modules/unistr/u32-next: New file.
92766         * lib/unistr/u8-next.c: New file.
92767         * lib/unistr/u16-next.c: New file.
92768         * lib/unistr/u32-next.c: New file.
92770         * modules/unistr/u8-prev: New file.
92771         * modules/unistr/u16-prev: New file.
92772         * modules/unistr/u32-prev: New file.
92773         * lib/unistr/u8-prev.c: New file.
92774         * lib/unistr/u16-prev.c: New file.
92775         * lib/unistr/u32-prev.c: New file.
92777         * modules/unistr/u8-set: New file.
92778         * modules/unistr/u16-set: New file.
92779         * modules/unistr/u32-set: New file.
92780         * lib/unistr/u8-set.c: New file.
92781         * lib/unistr/u16-set.c: New file.
92782         * lib/unistr/u32-set.c: New file.
92783         * lib/unistr/u-set.h: New file.
92785         * modules/unistr/u8-startswith: New file.
92786         * modules/unistr/u16-startswith: New file.
92787         * modules/unistr/u32-startswith: New file.
92788         * lib/unistr/u8-startswith.c: New file.
92789         * lib/unistr/u16-startswith.c: New file.
92790         * lib/unistr/u32-startswith.c: New file.
92791         * lib/unistr/u-startswith.h: New file.
92793         * modules/unistr/u8-stpcpy: New file.
92794         * modules/unistr/u16-stpcpy: New file.
92795         * modules/unistr/u32-stpcpy: New file.
92796         * lib/unistr/u8-stpcpy.c: New file.
92797         * lib/unistr/u16-stpcpy.c: New file.
92798         * lib/unistr/u32-stpcpy.c: New file.
92799         * lib/unistr/u-stpcpy.h: New file.
92801         * modules/unistr/u8-stpncpy: New file.
92802         * modules/unistr/u16-stpncpy: New file.
92803         * modules/unistr/u32-stpncpy: New file.
92804         * lib/unistr/u8-stpncpy.c: New file.
92805         * lib/unistr/u16-stpncpy.c: New file.
92806         * lib/unistr/u32-stpncpy.c: New file.
92807         * lib/unistr/u-stpncpy.h: New file.
92809         * modules/unistr/u8-strcat: New file.
92810         * modules/unistr/u16-strcat: New file.
92811         * modules/unistr/u32-strcat: New file.
92812         * lib/unistr/u8-strcat.c: New file.
92813         * lib/unistr/u16-strcat.c: New file.
92814         * lib/unistr/u32-strcat.c: New file.
92815         * lib/unistr/u-strcat.h: New file.
92817         * modules/unistr/u8-strchr: New file.
92818         * modules/unistr/u16-strchr: New file.
92819         * modules/unistr/u32-strchr: New file.
92820         * lib/unistr/u8-strchr.c: New file.
92821         * lib/unistr/u16-strchr.c: New file.
92822         * lib/unistr/u32-strchr.c: New file.
92824         * modules/unistr/u8-strcmp: New file.
92825         * modules/unistr/u16-strcmp: New file.
92826         * modules/unistr/u32-strcmp: New file.
92827         * lib/unistr/u8-strcmp.c: New file.
92828         * lib/unistr/u16-strcmp.c: New file.
92829         * lib/unistr/u32-strcmp.c: New file.
92831         * modules/unistr/u8-strcpy: New file.
92832         * modules/unistr/u16-strcpy: New file.
92833         * modules/unistr/u32-strcpy: New file.
92834         * lib/unistr/u8-strcpy.c: New file.
92835         * lib/unistr/u16-strcpy.c: New file.
92836         * lib/unistr/u32-strcpy.c: New file.
92837         * lib/unistr/u-strcpy.h: New file.
92839         * modules/unistr/u8-strcspn: New file.
92840         * modules/unistr/u16-strcspn: New file.
92841         * modules/unistr/u32-strcspn: New file.
92842         * lib/unistr/u8-strcspn.c: New file.
92843         * lib/unistr/u16-strcspn.c: New file.
92844         * lib/unistr/u32-strcspn.c: New file.
92845         * lib/unistr/u-strcspn.h: New file.
92847         * modules/unistr/u8-strdup: New file.
92848         * modules/unistr/u16-strdup: New file.
92849         * modules/unistr/u32-strdup: New file.
92850         * lib/unistr/u8-strdup.c: New file.
92851         * lib/unistr/u16-strdup.c: New file.
92852         * lib/unistr/u32-strdup.c: New file.
92853         * lib/unistr/u-strdup.h: New file.
92855         * modules/unistr/u8-strlen: New file.
92856         * modules/unistr/u16-strlen: New file.
92857         * modules/unistr/u32-strlen: New file.
92858         * lib/unistr/u8-strlen.c: New file.
92859         * lib/unistr/u16-strlen.c: New file.
92860         * lib/unistr/u32-strlen.c: New file.
92861         * lib/unistr/u-strlen.h: New file.
92863         * modules/unistr/u8-strmblen: New file.
92864         * modules/unistr/u16-strmblen: New file.
92865         * modules/unistr/u32-strmblen: New file.
92866         * lib/unistr/u8-strmblen.c: New file.
92867         * lib/unistr/u16-strmblen.c: New file.
92868         * lib/unistr/u32-strmblen.c: New file.
92870         * modules/unistr/u8-strmbtouc: New file.
92871         * modules/unistr/u16-strmbtouc: New file.
92872         * modules/unistr/u32-strmbtouc: New file.
92873         * lib/unistr/u8-strmbtouc.c: New file.
92874         * lib/unistr/u16-strmbtouc.c: New file.
92875         * lib/unistr/u32-strmbtouc.c: New file.
92877         * modules/unistr/u8-strncat: New file.
92878         * modules/unistr/u16-strncat: New file.
92879         * modules/unistr/u32-strncat: New file.
92880         * lib/unistr/u8-strncat.c: New file.
92881         * lib/unistr/u16-strncat.c: New file.
92882         * lib/unistr/u32-strncat.c: New file.
92883         * lib/unistr/u-strncat.h: New file.
92885         * modules/unistr/u8-strncmp: New file.
92886         * modules/unistr/u16-strncmp: New file.
92887         * modules/unistr/u32-strncmp: New file.
92888         * lib/unistr/u8-strncmp.c: New file.
92889         * lib/unistr/u16-strncmp.c: New file.
92890         * lib/unistr/u32-strncmp.c: New file.
92892         * modules/unistr/u8-strncpy: New file.
92893         * modules/unistr/u16-strncpy: New file.
92894         * modules/unistr/u32-strncpy: New file.
92895         * lib/unistr/u8-strncpy.c: New file.
92896         * lib/unistr/u16-strncpy.c: New file.
92897         * lib/unistr/u32-strncpy.c: New file.
92898         * lib/unistr/u-strncpy.h: New file.
92900         * modules/unistr/u8-strnlen: New file.
92901         * modules/unistr/u16-strnlen: New file.
92902         * modules/unistr/u32-strnlen: New file.
92903         * lib/unistr/u8-strnlen.c: New file.
92904         * lib/unistr/u16-strnlen.c: New file.
92905         * lib/unistr/u32-strnlen.c: New file.
92906         * lib/unistr/u-strnlen.h: New file.
92908         * modules/unistr/u8-strpbrk: New file.
92909         * modules/unistr/u16-strpbrk: New file.
92910         * modules/unistr/u32-strpbrk: New file.
92911         * lib/unistr/u8-strpbrk.c: New file.
92912         * lib/unistr/u16-strpbrk.c: New file.
92913         * lib/unistr/u32-strpbrk.c: New file.
92914         * lib/unistr/u-strpbrk.h: New file.
92916         * modules/unistr/u8-strrchr: New file.
92917         * modules/unistr/u16-strrchr: New file.
92918         * modules/unistr/u32-strrchr: New file.
92919         * lib/unistr/u8-strrchr.c: New file.
92920         * lib/unistr/u16-strrchr.c: New file.
92921         * lib/unistr/u32-strrchr.c: New file.
92923         * modules/unistr/u8-strspn: New file.
92924         * modules/unistr/u16-strspn: New file.
92925         * modules/unistr/u32-strspn: New file.
92926         * lib/unistr/u8-strspn.c: New file.
92927         * lib/unistr/u16-strspn.c: New file.
92928         * lib/unistr/u32-strspn.c: New file.
92929         * lib/unistr/u-strspn.h: New file.
92931         * modules/unistr/u8-strstr: New file.
92932         * modules/unistr/u16-strstr: New file.
92933         * modules/unistr/u32-strstr: New file.
92934         * lib/unistr/u8-strstr.c: New file.
92935         * lib/unistr/u16-strstr.c: New file.
92936         * lib/unistr/u32-strstr.c: New file.
92937         * lib/unistr/u-strstr.h: New file.
92939         * modules/unistr/u8-strtok: New file.
92940         * modules/unistr/u16-strtok: New file.
92941         * modules/unistr/u32-strtok: New file.
92942         * lib/unistr/u8-strtok.c: New file.
92943         * lib/unistr/u16-strtok.c: New file.
92944         * lib/unistr/u32-strtok.c: New file.
92945         * lib/unistr/u-strtok.h: New file.
92947         * modules/unistr/u8-uctomb: New file.
92948         * modules/unistr/u16-uctomb: New file.
92949         * modules/unistr/u32-uctomb: New file.
92950         * lib/unistr/u8-uctomb.c: New file.
92951         * lib/unistr/u16-uctomb.c: New file.
92952         * lib/unistr/u32-uctomb.c: New file.
92954         * MODULES.html.sh (Unicode string functions): Add the new modules.
92956 2007-01-08  Bruno Haible  <bruno@clisp.org>
92958         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
92959         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
92960         subdirectories.
92962 2007-01-08  Karl Berry  <karl@gnu.org>
92964         * doc/error.texi: mention that main() fns must set program_name
92965         when progname is used.
92967 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
92969         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
92970         WCTYPE_H is empty, for the benefit of builds from non-distclean
92971         directories.  Problem reported by Eric Blake in
92972         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00157.html>.
92974 2007-01-08  Bruno Haible  <bruno@clisp.org>
92976         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
92977         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
92978         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
92979         PROVIDE_CANONICALIZE_FILENAME_MODE.
92980         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
92982 2007-01-08  Bruno Haible  <bruno@clisp.org>
92984         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
92985         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
92986         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
92987         * lib/fts.c: Likewise.
92988         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
92990 2006-12-25  Bruno Haible  <bruno@clisp.org>
92992         * modules/utf8-ucs4-safe: New file.
92993         * lib/utf8-ucs4-safe.h: New file.
92994         * lib/unistr/utf8-ucs4-safe.c: New file.
92996         * modules/utf16-ucs4-safe: New file.
92997         * lib/utf16-ucs4-safe.h: New file.
92998         * lib/unistr/utf16-ucs4-safe.c: New file.
93000         * MODULES.html.sh (Unicode string functions): Add the new modules.
93002 2007-01-08  Bruno Haible  <bruno@clisp.org>
93004         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
93005         (Depends-on): Add unitypes.
93006         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
93007         (u8_mbtouc_aux): Move out to separate file.
93008         (u8_mbtouc): Use ucs4_t, uint8_t types.
93009         * lib/unistr/utf8-ucs4.c: New file.
93011         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
93012         (Depends-on): Add unitypes.
93013         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
93014         (u16_mbtouc_aux): Move out to separate file.
93015         (u16_mbtouc): Use ucs4_t, uint16_t types.
93016         * lib/unistr/utf16-ucs4.c: New file.
93018         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
93019         (Depends-on): Add unitypes.
93020         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
93021         (u8_uctomb_aux): Move out to separate file.
93022         (u8_uctomb): Use ucs4_t, uint8_t types.
93023         * lib/unistr/ucs4-utf8.c: New file.
93025         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
93026         (Depends-on): Add unitypes.
93027         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
93028         (u16_uctomb_aux): Move out to separate file.
93029         (u16_uctomb): Use ucs4_t, uint16_t types.
93030         * lib/unistr/ucs4-utf16.c: New file.
93032 2006-12-25  Bruno Haible  <bruno@clisp.org>
93034         * modules/unitypes: New file.
93035         * lib/unitypes.h: New file.
93036         * MODULES.html.sh (func_all_modules): New section "Unicode string
93037         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
93038         this section. Add unitypes.
93040 2007-01-08  Bruno Haible  <bruno@clisp.org>
93042         Avoid variable names that conflict with those from libtool.
93043         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
93044         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
93045         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
93046         library_names_spec to acl_library_names_spec, hardcode_* to
93047         acl_hardcode_*.
93048         Reported by Ralf Wildenhues.
93050 2007-01-08  Bruno Haible  <bruno@clisp.org>
93052         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
93053         definition.
93054         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
93055         definition.
93056         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
93057         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
93058         definition.
93059         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
93060         definition.
93061         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
93062         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
93063         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
93064         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
93065         definition.
93066         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
93067         definition.
93068         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
93069         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
93070         GC_USE_<algorithm>.
93071         * lib/gc-libgcrypt.c: Likewise.
93072         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
93073         * modules/gc-arctwo (configure.ac): Likewise.
93074         * modules/gc-des (configure.ac): Likewise.
93075         * modules/gc-hmac-md5 (configure.ac): Likewise.
93076         * modules/gc-hmac-sha1 (configure.ac): Likewise.
93077         * modules/gc-md2 (configure.ac): Likewise.
93078         * modules/gc-md4 (configure.ac): Likewise.
93079         * modules/gc-md5 (configure.ac): Likewise.
93080         * modules/gc-random (configure.ac): Likewise.
93081         * modules/gc-rijndael (configure.ac): Likewise.
93082         * modules/gc-sha1 (configure.ac): Likewise.
93084 2007-01-08  Bruno Haible  <bruno@clisp.org>
93086         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
93087         macro definition.
93088         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
93089         definition.
93090         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
93091         definition.
93092         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
93093         * modules/fcntl-safer (configure.ac): Likewise.
93094         * modules/fopen-safer (configure.ac): Likewise.
93095         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
93096         GNULIB_FWRITEERROR macro definition.
93098 2007-01-08  Bruno Haible  <bruno@clisp.org>
93100         * m4/gnulib-common.m4: New file.
93101         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
93102         (func_get_filelist): Add m4/gnulib-common.m4.
93104 2007-01-08  Bruno Haible  <bruno@clisp.org>
93106         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
93107         command.
93109 2007-01-08  Jim Meyering  <jim@meyering.net>
93111         Use a more robust test for a "can't happen" condition.
93112         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
93113         narrowed the st_size value.  Presuming the "can't happen" condition
93114         is true, that narrowing could conceivably convert an invalid st_size
93115         value into a valid one.  Instead, use a change based on Matthew
93116         Woehlke's original patch.
93118         Slight readability improvement: use an assert-like macro
93119         in place of literal "abort ()" uses.
93120         * lib/fts.c (fts_assert): Define.
93121         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
93122         Use this macro instead of a bare 'abort'.
93124 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
93126         Don't worry about using IRIX 5.3's wctype.h broken definitions;
93127         simply work around them.
93128         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
93129         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
93130         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
93131         declaring.
93132         Don't bother to define as macros, since the standard doesn't require it.
93133         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
93134         longer worry about IRIX 5.3.
93135         (HAVE_WCTYPE_CTMP_BUG): Remove.
93137 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
93139         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
93140         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
93141         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
93142         Problems reported by Georg Schwarz for IRIX 5.3.
93144         * gnulib-tool (autoconf_minversion): Take the maximum version number
93145         found, not the minimum.  Problem reported by James Youngman.
93147 2007-01-03  Karl Berry  <karl@gnu.org>
93149         * doc/error.texi: new file, explaining interaction with progname.
93150         * doc/gnulib.texi: include it.  Update copyright.
93152 2007-01-03  Simon Josefsson  <simon@josefsson.org>
93154         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
93155         AC_CANONICAL_HOST, to improve autobuild outputs.
93157 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
93158             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
93160         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
93161         sockets, server sockets, and other file descriptors.  Count errors
93162         to compute the return value.  Reorder the code a bit to be easier
93163         to follow.  Don't set event bits that were not requested (except
93164         POLLERR and POLLHUP).
93166 2007-01-01  Bruno Haible  <bruno@clisp.org>
93168         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
93170 2007-01-03  Jim Meyering  <jim@meyering.net>
93172         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
93174 2007-01-02  Bruno Haible  <bruno@clisp.org>
93176         * modules/settime (Include): Require timespec.h.
93177         * modules/nanosleep (Include): Likewise.
93179 2007-01-01  Bruno Haible  <bruno@clisp.org>
93181         * gnulib-tool (func_emit_copyright_notice): Bump year.
93182         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
93184 2007-01-01  Bruno Haible  <bruno@clisp.org>
93186         Improve support for OpenBSD.
93187         * build-aux/config.rpath (libname_spec): Export.
93188         (library_names_spec): New variable. Export.
93189         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
93190         library_names_spec from the config.rpath output. Locate shared library
93191         through the name pattern in library_names_spec.
93193 2007-01-01  Eric Blake  <ebb9@byu.net>
93195         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
93197 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
93199         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
93200         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
93201         assume the C locale, and avoid an "eval" that could cause trouble.
93202         Problem with SORT reported by Bob Proulx.
93204         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
93205         Define.  Trivial patch from Henning Nielsen Lund, originally
93206         sent to bug-grep@gnu.org today.
93208 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
93210         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
93211         struct stat.  Problem reported by Henning Nielsen Lund.
93212         * lib/acl.c: Include acl.h first, to check interface.  Don't
93213         bother to include sys/types.h and sys/stat.h again.
93215 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
93217         Import the following change from libc; problem reported by
93218         Sven Verdoolaege.
93220         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
93222         [BZ #1373]
93223         * lib/argp.h: Remove __NTH for __argp_usage inline function.
93225 2006-12-28  Jim Meyering  <jim@meyering.net>
93227         * build-aux/announce-gen: Do not assume that the package
93228         builds any of tar.gz, tar.bz2, and .xdelta files.
93229         Suggestion from Simon Josefsson.
93231 2006-12-28  Simon Josefsson  <simon@josefsson.org>
93233         * modules/announce-gen: New file.
93235 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
93237         * lib/mbchar.h: Just include <wctype.h>; the wctype module
93238         handles its gotchas now.
93239         * lib/mbswidth.c: Likewise.
93240         * lib/wcwidth.h: Likewise.
93241         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
93242         and iswcntrl; the wctype module does this stuff now.
93243         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
93244         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
93245         * modules/mbchar (Depends-on): Add wctype.
93246         * modules/mbswidth (Depends-on): Likewise.
93247         * modules/wcwidth (Depends-on): Likewise.
93249 2006-12-27  Eric Blake  <ebb9@byu.net>
93251         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
93252         module uses more than what <wctype.h> is required to provide.
93254 2006-12-26  Eric Blake  <ebb9@byu.net>
93256         * gnulib-tool (sed_extract_prog): Avoid space-tab.
93258 2006-12-26  Eric Blake  <ebb9@byu.net>
93260         * modules/absolute-header: New module.
93261         * modules/fcntl (Depends-on): Depend on it.
93262         * modules/inttypes (Depends-on): Likewise.
93263         * modules/stdint (Depends-on): Likewise.
93264         * modules/sys_stat (Depends-on): Likewise.
93265         * modules/wctype (Depends-on): Likewise.
93266         * MODULES.html.sh (Support for building libraries and
93267         executables): Document it.
93269 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
93271         * gnulib-tool (SED): Remove, undoing previous change.
93272         The problem was that it broke coreutils on Solaris, because
93273         "sed --posix" leaked into a makefile.
93274         (sed): New alias, if 'alias' and GNU sed.
93276 2006-12-24  Jim Meyering  <jim@meyering.net>
93278         Work around an fchownat bug in glibc-2.4:
93279         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
93280         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
93281         in spite of the -P option.
93282         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
93283         New macros.
93284         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
93285         * modules/openat (Files): Add lib/fchownat.c.
93286         * lib/openat.c (fchownat): Don't define here.  Move to...
93287         * lib/fchownat.c: ...this new file.
93289 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
93291         Fix bug reported by Bruno Haible in
93292         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00228.html>
93293         where quotearg.c didn't compile on Mac OS X 10.2 because it
93294         lacks <wchar.h> and wint_t.
93295         * lib/wctype_.h (__wctype_wint_t): New type.
93296         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
93297         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
93298         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
93299         Arg is now of type __wctype_wint_t, not wint_t.
93300         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
93301         substitute HAVE_WINT_T.
93302         * modules/wctype (Files): Add m4/wint_t.m4.
93303         (wctype.h): Substitute HAVE_WINT_T.
93305 2006-12-23  Bruno Haible  <bruno@clisp.org>
93307         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
93309 2006-12-23  Bruno Haible  <bruno@clisp.org>
93311         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
93312         S_ISLNK.
93313         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
93314         mingw.
93316 2006-12-22  Bruno Haible  <bruno@clisp.org>
93318         * lib/copy-file.c: Include acl.h.
93319         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
93320         Close the file descriptors only after being done with copy_acl.
93321         * modules/copy-file (Depends-on): Add acl.
93323 2006-12-22  Bruno Haible  <bruno@clisp.org>
93325         * gnulib-tool (SED): New variable.
93326         Use $SED instead of sed everywhere.
93328 2006-12-22  Bruno Haible  <bruno@clisp.org>
93330         * modules/no-c++: New file.
93331         * m4/no-c++.m4: New file.
93332         * MODULES.html.sh (Support for building libraries and executables):
93333         Add no-c++.
93335 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
93337         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
93338         Include <limits.h>, and use its INT_MAX to rewrite the
93339         j loop so that it does not overflow 'int'.  Problem reported by
93340         Ralf Wildenhues in
93341         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00084.html>.
93342         Play it safe by shifting left by 1 rather than multiplying by 2,
93343         as GCC is less likely to optimize this away when the value
93344         is signed (when it assumes overflow leads to undefined behavior).
93345         Also, don't assume time_t uses two's complement.
93347 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
93349         * MODULES.html.sh: New module wctype.
93350         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
93351         * lib/fnmatch.c: Don't bother to include <wchar.h> before
93352         <wctype.h>, since the new wctype module should fix this.
93353         * lib/quotearg.c: Include <wctype.h> unconditionally, since
93354         the wctype module should arrange for it.
93355         * lib/regex_internal.h: Likewise.
93356         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
93357         since the wctype module should handle this now.
93358         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
93359         * modules/fnmatch (Depends-on): Add wctype.
93360         * modules/quotearg (Depends-on): Likewise.
93361         * modules/regex (Depends-on): Likewise.
93363 2006-12-19  Bruno Haible  <bruno@clisp.org>
93365         * lib/strdup.h [C++]: Wrap definitions in extern "C".
93366         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
93368 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93370         * modules/savewd (Depends-on): Fix dependency on fcntl.
93372 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
93374         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
93375         conforms to C99, rather than relying on the user's environment
93376         setting of STDINT_H.
93378 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
93379         and Eric Blake  <ebb9@byu.net>
93381         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
93382         This is more consistent with the other defines here.
93383         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
93384         Port to z/OS.  Problem reported by Paul Gilmartin.
93385         Change local vars to use gl_ prefix rather than ac_.
93386         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
93387         with other defines.
93388         * modules/double-slash-root: New module.
93389         * modules/dirname (Files): Remove m4/double-slash-root.m4.
93390         (Depends-on): Add double-slash-root.
93391         * MODULES.html.sh (File system functions): Mention new module.
93393 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
93395         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
93396         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
93397         This is for the benefit of gzip, which doesn't do i18n.
93399 2006-12-12  Jim Meyering  <jim@meyering.net>
93401         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
93402         Reported by Andreas Schwab <schwab@suse.de>.
93404 2006-12-12  Bruno Haible  <bruno@clisp.org>
93406         Merge these changes.
93407         2006-09-05  Bruno Haible  <bruno@clisp.org>
93408         * lib/iconvme.c (iconv_string): No need to save and restore errno when
93409         iconv_alloc succeeded.
93410         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
93411         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
93412         test for " && dest " at the end - dest is always != NULL there. Call
93413         iconv with 4xNULL arguments initially, to reset the state. Call iconv
93414         with 2xNULL arguments, also to flush the state storage. Handle the
93415         IRIX iconv behaviour. Realloc the final result, to throw away unused
93416         memory.
93418 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
93420         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
93421         and fchmodat unconditionally, since glibc 2.4 has them.
93422         Problem reported by Arkadiusz Miskiewicz.
93424 2006-12-10  Bruno Haible  <bruno@clisp.org>
93426         * gnulib-tool (func_import): Show the include files only for those
93427         modules that are copied and specified.
93428         Reported by Karl Berry.
93430 2006-12-08  Jim Meyering  <jim@meyering.net>
93432         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
93433         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
93435         * build-aux/announce-gen: Add two new options, both optional:
93436         --bootstrap-tools=TOOL_LIST
93437               a comma-separated list of tools, e.g.,
93438               autoconf,automake,bison,gnulib
93439         --gnulib-snapshot-date=DATE
93440               if gnulib is in the bootstrap tool list,
93441               then report this as the snapshot date.
93442               If not specified, use the current date/time.
93443               If you specify a date here, be sure it's UTC.
93445 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93447         * tests/test-argp-2.sh: Fix test to match actual output.
93448         (func_compare): Fix sed script to be portable.
93450 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
93452         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
93453         workaround for this case.  It is not autoconfigured now; offhand
93454         it's hard to see how to autoconfigure it.
93456 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
93458         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
93459         a directory that is about to be chowned.  Such a directory's
93460         initial file permissions should permit the owner only and this
93461         should not be changed until after the chown, since the group and
93462         other bits would be incorrect if they granted permission before
93463         the chown.
93465         Fix porting problem for iswctype reported by Georg Schwarz in:
93466         http://lists.gnu.org/r/bug-coreutils/2006-12/msg00017.html
93467         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
93468         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
93469         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
93470         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
93472 2006-12-03  Jim Meyering  <jim@meyering.net>
93474         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
93475         p->fts_statp may not yet be defined.
93476         (fts_read): Instead, set it in the caller, once p->fts_statp is
93477         sure to be defined, and corresponds to a top-level directory.
93478         This bug made du -x fail.  Here's the coreutils test case:
93479         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
93480         Reported by Mike Frysinger.
93482 2006-12-01  Jim Meyering  <jim@meyering.net>
93484         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
93485         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
93486         Reported by Simon Josefsson.
93488 2006-11-30  Jim Meyering  <jim@meyering.net>
93490         * m4/warning.m4: Use the all-permissive copyright notice
93491         recommended by RMS (rather than LGPL).
93492         * m4/vararrays.m4: Likewise.
93493         * m4/flexmember.m4: Likewise.
93495 2006-11-29  Bruno Haible  <bruno@clisp.org>
93497         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
93498         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
93499         using +=.
93500         Reported by Simon Josefsson <simon@josefsson.org>.
93502 2006-11-28  James Youngman  <jay@gnu.org>
93504         * README: Advise users that they might find the bug-gnulib@gnu.org
93505         and autotools-announce@gnu.org mailing lists useful.
93507 2006-11-28  Bruno Haible  <bruno@clisp.org>
93509         * m4/ptrdiff_max.m4: Remove file.
93511 2006-11-21  Bruno Haible  <bruno@clisp.org>
93513         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
93514         _AC_COMPUTE_INT.
93515         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
93516         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
93517         _AC_COMPUTE_INT.
93518         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
93519         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
93520         _AC_COMPUTE_INT.
93521         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
93523 2006-11-28  Jim Meyering  <jim@meyering.net>
93525         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
93526         warning from "gcc -Wshadow" about shadowing the builtin.
93528 2006-11-27  Bruno Haible  <bruno@clisp.org>
93530         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
93531         _AC_COMPUTE_INT.
93532         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
93534 2006-11-27  Bruno Haible  <bruno@clisp.org>
93535             Paul Eggert  <eggert@cs.ucla.edu>
93537         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
93539 2006-11-26  Bruno Haible  <bruno@clisp.org>
93541         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
93542         noinst_LTLIBRARIES.
93544 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
93545             Bruno Haible  <bruno@clisp.org>
93547         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
93548         if compiling with "gcc -ansi".
93550 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
93552         Fix some incompatibilities with gcc -ansi -pedantic.
93553         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
93554         if compiling pedantically with GCC, unless it's C99 or later.
93555         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
93556         it mishandles gcc -ansi -pedantic as well.
93557         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
93558         if gcc -pedantic.
93559         * lib/regexec.c (check_node_accept_bytes): Don't use auto
93560         initializers for struct if -pedantic, unless it's C99 or later.
93562 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
93564         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
93565         Don't close an fd more than once. Identical atimes indicate
93566         success, not failure.
93568 2006-11-22  Robinson Mittmann  <bob@hoplon.com>  (tiny change)
93570         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
93572 2006-11-23  Jim Meyering  <jim@meyering.net>
93574         * build-aux/announce-gen: New file.  From coreutils.
93576 2006-11-22  Jim Meyering  <jim@meyering.net>
93578         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
93579         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
93580         (fts_read): Use a temporary to narrow the overused st_size member
93581         before using it in a switch statement.  Reported by Matthew Woehlke.
93583         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
93584         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
93586 2006-11-20  Bruno Haible  <bruno@clisp.org>
93588         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
93589         changequote instead of pairs of brackets.
93590         Reported by Andreas Schwab <schwab@suse.de>.
93592 2006-11-21  Jim Meyering  <jim@meyering.net>
93594         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
93595         so as to remain compatible with older compilers.
93596         Patch from Michael Deutschmann.
93598 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
93600         * MODULES.html.sh (File system functions): Add openat.
93602         * lib/openat.h (rpl_fstatat): New macro, if
93603         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
93604         (fstatat): Define to rpl_fstatat under the same conditions,
93605         unless COMPILING_FSTATAT.
93606         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
93607         seems to have the bug.
93608         * lib/fstatat.c: New file.
93609         * modules/openat (Files): Add it.
93611 2006-11-20  Bruno Haible  <bruno@clisp.org>
93613         * Makefile: New file.
93615 2006-11-20  Jim Meyering  <jim@meyering.net>
93617         The beginnings of syntax-related checks for gnulib.
93618         * lib/Makefile: New file.
93619         * lib/t-idcache: New script.  Ensure that the two halves of
93620         idcache.c stay in sync.
93622         * lib/idcache.c: Adjust comments in user- and group- portions to
93623         be more accurate, and to be consistent with one another.
93625 2006-11-20  Jim Meyering  <jim@meyering.net>
93627         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
93628         continue using the flexible array member (thus, this module performs
93629         half as many malloc calls), with the addition that...
93630         (getgroup, getuser): Consistently record a non-match via an empty
93631         "name" string, and map an empty string match to a NULL return value.
93632         * modules/idcache (Depends-on): Re-add flexmember.
93634         * lib/idcache.c (getuser): Remove all uses of the register keyword.
93635         (getuidbyname, getgroup, getgidbyname): Likewise.
93637         Use cleaner syntax: NULL rather than 0.
93638         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
93640 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
93642         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
93643         It mishandled the case where the group was missing.
93644         Problem reported by Greg Schafer.
93645         * modules/idcache: Likewise.
93647 2006-11-18  Jim Meyering  <jim@meyering.net>
93649         * check-module (%exempt_header): Add exception for some
93650         conditionally-included headers.
93652         * modules/i-ring (Depends-on): Add verify.
93653         (License): Change to LGPL.
93655 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
93657         * modules/getaddrinfo (Depends-on): Remove inttostr; add snprintf.
93658         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
93659         and inttostr.h.  Use snprintf rather than uinttostr, so that
93660         LGPLed code doesn't depend on GPLed.
93662 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
93664         * modules/inline (License): Change from GPL to LGPL.
93666 2006-11-17  Jim Meyering  <jim@meyering.net>
93668         * modules/d-type (License): Switch to LGPL.
93670 2006-11-15  Bruno Haible  <bruno@clisp.org>
93672         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
93674 2006-11-15  Eric Blake  <ebb9@byu.net>
93676         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
93677         the module dependency.
93679 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
93680             Bruno Haible  <bruno@clisp.org>
93682         * gnulib-tool (func_create_testdir): Add license consistency check.
93684 2006-11-15  Eric Blake  <ebb9@byu.net>
93686         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
93687         random "(cached)" in configure output.
93689 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93691         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
93692         test for conforming inttypes.h is both announced and cached.
93694         * MODULES.html.sh (seen_modules, seen_files): New variables.
93695         (func_module): Rewrite to use a few less gnulib-tool and sed
93696         invocations.  Avoid a couple of quadratic algorithms for ...
93697         (missed_modules, missed_files): ... these, with ...
93698         (func_append, func_tmpdir): ... these new functions, from
93699         gnulib-tool.  Analogously, install traps for cleanup.
93701         * tests/test-gc.c (main): Remove unused variables.
93702         * tests/test-read-file.c: Include stdlib.h, for 'free'.
93704 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
93706         * modules/inttostr (License): Change to LGPL.
93708 2006-11-14  Eric Blake  <ebb9@byu.net>
93710         * modules/tempname (License): Change to LGPL.
93712 2006-11-14  Eric Blake  <ebb9@byu.net>
93714         * doc/functions.texi (Function Portability): *printf functions on
93715         Cygwin now understand all POSIX size specifiers.
93717 2006-11-14  Bruno Haible  <bruno@clisp.org>
93719         * modules/c-ctype (License): Change to LGPL.
93721 2006-11-12  Bruno Haible  <bruno@clisp.org>
93723         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
93724         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
93725         for GNOME libraries, for which the include files are installed in
93726         subdirectories of $prefix/include.
93728 2006-11-12  Bruno Haible  <bruno@clisp.org>
93730         * m4/lib-link.m4: Require at least autoconf-2.54.
93731         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
93732         name to underscores for the --with option.
93734 2006-11-13  Bruno Haible  <bruno@clisp.org>
93736         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
93737         the tests directory.
93738         Reported by Ralf Wildenhues.
93740 2006-11-13  Bruno Haible  <bruno@clisp.org>
93742         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
93743         (func_emit_initmacro_end): Undo the override here.
93744         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
93745         Works around the famous automake error in coreutils.
93747 2006-11-13  Eric Blake  <ebb9@byu.net>
93749         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
93750         element, not its node.
93752 2006-11-12  Bruno Haible  <bruno@clisp.org>
93754         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
93755         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
93757 2006-11-12  Bruno Haible  <bruno@clisp.org>
93759         * gnulib-tool: New option --local-symlink.
93760         (func_usage): Document it.
93761         (lsymbolic): New variable.
93762         (func_import, func_create_testdir): If --symlink was not specified,
93763         test whether --local-symlink was specified and the file comes from
93764         the local_gnulib_dir.
93766 2006-11-12  Bruno Haible  <bruno@clisp.org>
93768         * gnulib-tool (func_ln): New function.
93769         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
93771 2006-11-12  Bruno Haible  <bruno@clisp.org>
93773         Finish support for source files in subdirectories.
93774         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
93775         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
93776         AUTOMAKE_OPTIONS.
93777         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
93779 2006-11-12  Bruno Haible  <bruno@clisp.org>
93781         * gnulib-tool (func_get_automake_snippet): Synthesize also an
93782         EXTRA_lib_SOURCES augmentation.
93783         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
93785 2006-11-12  Jim Meyering  <jim@meyering.net>
93787         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
93788         file descriptors.  This also averts a failure on systems with
93789         native openat support when a traversed directory lacks "x" access.
93790         * lib/fts_.h: Include "i-ring.h"
93791         (struct FTS) [fts_fd_ring]: New member.
93792         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
93793         (FCHDIR): Add parentheses.
93794         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
93795         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
93796         When descending, rather than simply closing the previous
93797         fts_cwd_fd value, push that file descriptor onto the ring.
93798         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
93799         (fts_open): Initialize the new fd_ring member.
93800         (fts_close): Clear the ring.
93801         (fts_safe_changedir): When possible, use our new fd_ring to skip
93802         the diropen and fstat and dev/ino comparison that would normally
93803         accompany a virtual `chdir ("..")'.
93805         * modules/fts (Depends-on): Add i-ring.
93806         * modules/i-ring: New module.
93807         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
93808         * m4/i-ring.m4: New file.
93810 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93812         * gnulib-tool (func_create_testdir): Fix replacement of
93813         `build-aux' in configure.ac.  Run autotools in gltests
93814         subdirectory.
93815         (func_create_testdir, func_create_megatestdir, test): There is
93816         no need for '--force' in most autotool invocations in a new
93817         tree.  Actually fail the whole test if any of the tools, or the
93818         configure or make stages fail.
93820         Sync from Automake.
93821         * build-aux/gnupload: Revert last change.  Add pointer to upload
93822         instructions of the GNU Maintenance Instructions.
93823         Suggestion by Karl Berry.
93825 2006-11-10  Jim Meyering  <jim@meyering.net>
93827         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
93829 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
93831         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
93832         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
93833         (bind_textdomain_codeset) [! ENABLE_NLS]:
93834         Evaluate all the arguments.  That way, callers get compatible behavior
93835         if the arguments have side effects.  Also, it avoids some GCC
93836         diagnostics in some cases; Joel E. Denny reported problems when Bison
93837         was configured with --enable-gcc-warnigs.
93839 2006-11-10  Jim Meyering  <jim@meyering.net>
93841         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
93842         relevant options in CFLAGS (like -O, -fno-inline) are taken into
93843         account.
93845 2006-11-10  Jim Meyering  <jim@meyering.net>
93847         * modules/inline: New file/module.
93848         * modules/xalloc (Files): Remove m4/inline.m4.
93849         (Depends-on): Add inline, instead.
93850         * modules/oset: Likewise.
93851         * modules/list: Likewise.
93853 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
93855         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
93856         Problem reported by Matthew Woehlke.
93858 2006-11-09  Bruno Haible  <bruno@clisp.org>
93860         * lib/tempname.c (gen_tempname): Remove variant that invokes
93861         __gen_tempname.
93862         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
93863         __gen_tempname.
93865 2006-11-08  Bruno Haible  <bruno@clisp.org>
93867         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
93868         to 'yes' instead of 'cross-compiling'.
93870 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
93872         * lib/quotearg.h (quotearg_free): New decl.
93873         * lib/quotearg.c (quotearg_free): New function.
93874         (slot0, nslots, slotvec0, slotvec):
93875         Now file-scope so that quotearg_free can get at them.
93877 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93879         Sync from Automake.
93880         * build-aux/gnupload: Add missing 'gnu' to example URL.
93881         Report by Karl Berry.
93883 2006-11-08  Bruno Haible  <bruno@clisp.org>
93885         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
93886         Suggested by Paul Eggert.
93888 2006-11-08  Jim Meyering  <jim@meyering.net>
93890         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
93891         It's already included if !_LIBC.
93892         (fts_safe_changedir): Add a comment.
93894 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
93896         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
93897         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
93898         Matthew Woehlke.
93900         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
93901         definitions up, to avoid colliding with change below.
93902         (static_inline) [HAVE_INLINE]: New macro.
93903         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
93904         Provide extern decls when !HAVE_INLINE.  Do not define unless
93905         static_inline is defined, either by us or by xmalloc.c.  Use
93906         static_inline rather than static inline.
93907         (XCALLOC): Optimize sizeof(T) = 1 case.
93908         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
93910 2006-11-07  Bruno Haible  <bruno@clisp.org>
93912         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
93913         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
93914         AC_C_INLINE.
93915         * modules/xalloc (Files): Add m4/inline.m4.
93917 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93919         * README: Fix typo.
93920         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
93921         (Miscellanous Notes): ...from this.
93923 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
93925         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
93926         Mention that offsetof should be used instead of sizeof.
93927         From Bruno Haible.
93929 2006-11-07  Bruno Haible  <bruno@clisp.org>
93931         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
93933 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
93935         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
93936         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
93937         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
93938         (gl_tree_add_before, gl_tree_add_after):
93939         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
93940         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
93941         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
93942         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
93943         (gl_linked_add_after, gl_linked_add_at): Likewise.
93944         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
93945         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
93946         (gl_tree_add_before, gl_tree_add_after): Likewise.
93947         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
93948         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
93949         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
93951 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93953         * lib/gl_oset.h: Use C comment style, not C++ comment style.
93955 2006-11-06  Bruno Haible  <bruno@clisp.org>
93957         * m4/inline.m4: New file.
93958         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
93959         * modules/list (Files): Add m4/inline.m4.
93960         * modules/oset (Files): Likewise.
93962 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
93964         * lib/idcache.c: Include <stddef.h>, for offsetof.
93965         (struct userid.name): Change from char * to a flexible array member.
93966         All uses changed.
93967         * modules/idcache (Depends-on): Add flexmember.
93969         * MODULES.html.sh (Core language properties): New module flexmember.
93970         * modules/flexmember, m4/flexmember.m4: New files.
93972         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
93973         inline functions that are identical with the old xnmalloc_inline,
93974         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
93975         that we can avoid some unnecessary integer multiplications and
93976         divisions in the common case where the element size is known at
93977         compile time.
93978         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
93979         needed.
93980         (xnboundedmalloc): Remove.
93981         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
93982         arguments, for consistency with rest of this header.
93983         (xcharalloc): Rewrite using XNMALLOC.
93984         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
93985         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
93986         versions have been moved to lib/xalloc.h and renamed to be the
93987         non-*_inline versions.
93988         (xmalloc, xrealloc): Implement without reference to the xnmalloc
93989         and xnrealloc functions, since those functions are now inline and
93990         now call us.
93991         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
93992         renaming described above.
93993         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
93994         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
93995         captures the dependency in AC_C_INLINE.
93997         New module canonicalize-lgpl, proposed by Charles Wilson in
93998         <http://lists.gnu.org/r/bug-gnulib/2006-11/msg00020.html>
93999         with a few small changes afterwards.
94000         * MODULES.html.sh (File system functions): New module
94001         canonicalize-lgpl.
94002         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
94003         and canonicalize_file_name.
94004         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
94005         * modules/canonicalize-lgpl: New files.
94007 2006-11-05  Bruno Haible  <bruno@clisp.org>
94009         * gnulib-tool (func_import, func_create_testdir): Create directories
94010         also for files in subdirectories of lib/.
94012 2006-11-05  Bruno Haible  <bruno@clisp.org>
94014         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
94015         ANSI C compliant.
94017 2006-11-03  Bruno Haible  <bruno@clisp.org>
94019         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
94020         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
94021         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
94022         (xnboundedmalloc): New inline function.
94023         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
94024         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
94025         xmalloc.
94026         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
94027         xmalloc.
94028         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
94029         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
94030         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
94031         xmalloc.
94032         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
94033         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
94034         xmalloc.
94035         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
94036         gl_tree_add_after): Use XMALLOC instead of xmalloc.
94037         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
94038         xmalloc.
94039         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
94040         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
94041         gl_tree_add_after): Use XMALLOC instead of xmalloc.
94042         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
94043         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
94044         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
94045         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
94047 2006-11-03  Bruno Haible  <bruno@clisp.org>
94049         * lib/c-ctype.h [C++]: Define functions without name mangling.
94050         * lib/fwriteerror.h [C++]: Likewise.
94051         * lib/gcd.h [C++]: Likewise.
94052         * lib/linebreak.h [C++]: Likewise.
94054 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
94056         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
94057         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
94058         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
94059         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
94060         Check for functions and headers just once.
94061         Check for declaration of canonicalize_file_name.
94062         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
94064 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
94066         * gnulib-tool (func_import): Fix typo in actioncmd.
94068 2006-11-02  Bruno Haible  <bruno@clisp.org>
94070         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
94071         newline sequence in the Makefile.am snippet as a space, like "make"
94072         does.
94073         Reported by Roger Persson <perrog@gmail.com>.
94075 2006-11-01  Bruno Haible  <bruno@clisp.org>
94077         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
94078         already declared in <string.h>.
94079         * lib/strcase.h (strncasecmp): Don't declare it if yes.
94081 2006-11-01  Bruno Haible  <bruno@clisp.org>
94083         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
94084         * lib/strcase.h: Include <string.h>.
94085         (strcasecmp): Define to rpl_strcasecmp here.
94087 2006-11-01  Bruno Haible  <bruno@clisp.org>
94089         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
94091 2006-11-01  Eric Blake  <ebb9@byu.net>
94093         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
94095         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
94097 2006-10-29  Bruno Haible  <bruno@clisp.org>
94099         Make it compile in C++ mode.
94100         * lib/full-write.c (full_rw): Add a cast.
94102 2006-11-01  Bruno Haible  <bruno@clisp.org>
94104         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
94105         be POSIX compliant.
94106         Reported by Roger Persson <perrog@gmail.com>.
94108 2006-11-01  Eric Blake  <ebb9@byu.net>
94110         * lib/getopt_.h: Fix comments.
94112 2006-10-31  Eric Blake  <ebb9@byu.net>
94114         * modules/tmpdir (Depends-on): Add sys_stat.
94115         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
94116         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
94117         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
94118         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
94119         tempname.
94121 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
94123         Avoid some C++ diagnostics reported by Bruno Haible.
94124         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
94125         xmalloc.
94126         (quotearg_alloc): Use xcharalloc rather than xmalloc.
94127         (struct slotvec): Move to top level.
94128         (quotearg_n_options): Rewrite to avoid xmalloc.
94129         * lib/xalloc.h (xcharalloc): New function.
94130         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
94131         [defined __cplusplus]: Add function template that provides result
94132         type propagation.  This part of the change is from Bruno Haible.
94134 2006-10-29  Bruno Haible  <bruno@clisp.org>
94136         Make it compile in C++ mode.
94137         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
94138         * lib/strnlen1.c (strnlen1): Cast memchr result.
94139         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
94140         * lib/clean-temp.c (string_equals, string_hash): Add casts.
94141         (create_temp_dir): Rename local variable 'template'.
94142         (compile_csharp_using_sscli): Add cast.
94143         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
94144         * lib/findprog.c (find_in_path): Likewise.
94145         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
94146         * lib/wait-process.c (register_slave_subprocess): Likewise.
94148 2006-10-22  Bruno Haible  <bruno@clisp.org>
94150         * modules/tsearch: New file.
94151         * lib/tsearch.h: New file.
94152         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
94153         * m4/tsearch.m4: New file.
94154         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
94156 2006-10-29  Eric Blake  <ebb9@byu.net>
94158         * lib/arcfour.c: Assume config.h.
94159         * lib/arctwo.c: Likewise.
94160         * lib/base64.c: Likewise.
94161         * lib/check-version.c: Likewise.
94162         * lib/crc.c: Likewise.
94163         * lib/des.c: Likewise.
94164         * lib/gc-gnulib.c: Likewise.
94165         * lib/gc-libgcrypt.c: Likewise.
94166         * lib/gc-pbkdf2-sha1.c: Likewise.
94167         * lib/getaddrinfo.c: Likewise.
94168         * lib/getdelim.c: Likewise.
94169         * lib/getline.c: Likewise.
94170         * lib/hmac-md5.c: Likewise.
94171         * lib/hmac-sha1.c: Likewise.
94172         * lib/iconvme.c: Likewise.
94173         * lib/md2.c: Likewise.
94174         * lib/md4.c: Likewise.
94175         * lib/memxor.c: Likewise.
94176         * lib/read-file.c: Likewise.
94177         * lib/readline.c: Likewise.
94178         * lib/rijndael-alg-fst.c: Likewise.
94179         * lib/rijndael-api-fst.c: Likewise.
94180         * lib/xgetdomainname.c: Likewise.
94182 2006-10-28  Eric Blake  <ebb9@byu.net>
94184         * lib/xstrndup.c: Assume config.h.
94186 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
94188         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
94189         stat-macros.h is now for our own macros, whereas stat_h is for
94190         macros in the <sys/stat.h> name space.
94191         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
94192         (STAT_MACROS_H): Remove.
94193         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
94194         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
94195         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
94196         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
94197         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
94198         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
94199         Move these macros to ...
94200         * lib/stat_.h: here.  Don't include stat-macros.h.
94201         * lib/canonicalize.c: Don't include stat-macros.h.
94202         * lib/chown.c: Likewise.
94203         * lib/euidaccess.c: Likewise.
94204         * lib/file-type.c: Likewise.
94205         * lib/filemode.c: Likewise.
94206         * lib/glob.c: Likewise.
94207         * lib/isapipe.c: Likewise.
94208         * lib/lchown.c: Likewise.
94209         * lib/lstat.c: Likewise.
94210         * lib/mkdir-p.c: Likewise.
94211         * lib/rmdir.c: Likewise.
94212         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
94213         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
94214         unless mkdir isn't declared, to speed up 'configure'.
94215         Always create sys/stat.h, since it's unlikely any real sys/stat.h
94216         would define all the S_* symbols.
94217         * modules/canonicalize (Depends-on):
94218         Depend on sys_stat, not stat-macros.
94219         * modules/chown: Likewise.
94220         * modules/euidaccess: Likewise.
94221         * modules/filemode: Likewise.
94222         * modules/file-type: Likewise.
94223         * modules/glob: Likewise.
94224         * modules/isapipe: Likewise.
94225         * modules/lchown: Likewise.
94226         * modules/lstat: Likewise.
94227         * modules/mkancesdirs: Likewise.
94228         * modules/rmdir: Likewise.
94229         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
94230         * modules/modechange: Likewise.
94231         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
94232         (configure.ac): Remove gl_STAT_MACROS.
94233         * modules/sys_stat (Depends-on): Remove stat-macros.
94235 2006-10-27  Bruno Haible  <bruno@clisp.org>
94237         * m4/signed.m4: Remove file.
94238         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
94239         invocation.
94240         * modules/vasnprintf (Files): Remove m4/signed.m4.
94242 2006-10-27  Bruno Haible  <bruno@clisp.org>
94244         Update to GNU gettext 0.16.
94245         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
94246         m4/inttypes-h.m4, m4/signed.m4.
94247         * m4/gettext.m4: Update to GNU gettext 0.16.
94248         * m4/intl.m4: New file, from GNU gettext.
94249         * m4/intldir.m4: New file, from GNU gettext.
94250         * config/srclist.txt: Update
94252 2006-10-27  Eric Blake  <ebb9@byu.net>
94254         * MODULES.html.sh: Document tempname.
94255         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
94256         dependencies.
94257         (Files): Move lib/tempname.c...
94258         * modules/tempname: ...to this new module.
94259         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
94260         (gl_PREREQ_TEMPNAME): Move...
94261         * m4/tempname.m4: ...to this new file.
94262         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
94263         * modules/sys_stat (Depends-on): Add stat-macros.
94264         * lib/stat_.h (includes): Pick up stat macros.
94265         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
94266         if stat macros are broken.
94267         * lib/tempname.c (includes): No need to include "stat-macros.h".
94268         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
94269         (direxists, __path_search) [!_LIBC]: Don't compile these in
94270         gnulib; the tmpdir module covers that.
94271         * lib/tempname.h: New file.
94273 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
94275         * COPYING: Explain how gnulib-tool converts licence headers.
94276         Almost all wording by Eric Blake.
94278 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
94280         * lib/mbchar.h (is_basic_table): Make read-only.
94281         * lib/mbchar.c (is_basic_table): Likewise.
94282         Reported by John Darrington.
94284 2006-10-25  Bruno Haible  <bruno@clisp.org>
94286         * lib/progname.h (set_program_name): Undefine before defining.
94288 2006-10-25  Bruno Haible  <bruno@clisp.org>
94290         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
94291         false for non-gcc C++ compilers.
94292         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
94294 2006-10-24  Bruno Haible  <bruno@clisp.org>
94296         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
94297         iconv implementations like Irix iconv.
94299 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
94301         * modules/vararrays: New file.
94302         * m4/vararrays.m4: New file, taken from diffutils.
94303         * MODULES.html.sh: New module vararrays.
94305 2006-10-24  Karl Berry  <karl@gnu.org>
94307         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
94308         Don't call GNU Unix.
94310 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94312         * users.txt: Add Libtool.
94314         Sync from Libtool:
94316         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
94318         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
94319         to gnulib's policy of including config.h unconditionally.
94321 2006-10-24  Bruno Haible  <bruno@clisp.org>
94323         * modules/wcwidth (Files): Add m4/wint_t.m4.
94324         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
94325         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
94327 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
94329         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
94330         to pacify GCC with some -W flags enabled.  Problem reported by
94331         Bruno Haible.
94333 2006-10-24  Jim Meyering  <jim@meyering.net>
94335         * MODULES.html.sh: Remove uinttostr.  It's not a module.
94336         Reported by Karl Berry.
94338 2006-10-23  Bruno Haible  <bruno@clisp.org>
94340         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
94342 2006-10-24  Bruno Haible  <bruno@clisp.org>
94344         * lib/gl_list.h: Use C comment style, not C++ comment style.
94346 2006-10-23  Eric Blake  <ebb9@byu.net>
94348         * lib/getaddrinfo.c (includes): Add missing include.
94350 2006-10-23  Bruno Haible  <bruno@clisp.org>
94351             Paul Eggert  <eggert@cs.ucla.edu>
94353         Ability to rename obstack_free.
94354         * lib/obstack.h (__obstack_free): New macro. Declare instead of
94355         obstack_free.
94356         (obstack_free): Invoke the __obstack_free macro.
94357         * lib/obstack.c (obstack_free): Use __obstack_free macro.
94359 2006-10-23  Bruno Haible  <bruno@clisp.org>
94360             Paul Eggert  <eggert@cs.ucla.edu>
94362         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
94363         __argc, __argv from the declaration. (They are defined as macros on
94364         mingw.)
94366 2006-10-22  Bruno Haible  <bruno@clisp.org>
94368         * doc/gnulib-intro.texi: New file.
94369         * doc/gnulib.texi: Include it.
94371 2006-10-21  Bruno Haible  <bruno@clisp.org>
94373         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
94374         "Introduction", "Miscellanous Notes", "Particular Modules".
94376 2006-10-21  Bruno Haible  <bruno@clisp.org>
94378         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
94379         Change mostlyclean-local rule to avoid sh syntax error from bash
94380         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
94382 2006-10-23  Jim Meyering  <jim@meyering.net>
94384         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
94385         in place of snprintf.
94387         * modules/inttostr (Files): Add lib/uinttostr.c.
94388         * lib/uinttostr.c (inttostr): New file/function.
94389         * lib/inttostr.h (uinttostr): Declare.
94390         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
94391         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
94392         Add uinttostr.
94393         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
94395 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
94397         * lib/canonicalize.c (ELOOP): Define if not already defined.
94398         Problem reported by Bruno Haible in
94399         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00282.html>.
94401 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
94403         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
94404         Problem reported by Perry Smith and Ville Laurikari.
94406         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
94407         uses.
94409 2006-10-19  Bruno Haible  <bruno@clisp.org>
94411         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
94412         for mingw.
94414 2006-10-19  Bruno Haible  <bruno@clisp.org>
94416         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
94417         Needed for mingw.
94419 2006-10-19  Bruno Haible  <bruno@clisp.org>
94421         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
94423 2006-10-19  Bruno Haible  <bruno@clisp.org>
94425         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
94426         it.
94428 2006-10-19  Bruno Haible  <bruno@clisp.org>
94430         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
94431         invocation.
94433 2006-10-19  Bruno Haible  <bruno@clisp.org>
94435         * gnulib-tool (func_create_testdir): Don't include ftruncate and
94436         mountlist by default.
94438 2006-10-16  Bruno Haible  <bruno@clisp.org>
94440         * lib/c-strstr.c: Include c-strstr.h.
94442 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
94444         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
94445         in a slash.
94447 2006-10-18  Bruno Haible  <bruno@clisp.org>
94449         * lib/lock.h [C++]: Wrap definitions in extern "C".
94451 2006-10-18  Bruno Haible  <bruno@clisp.org>
94453         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
94454         gl_LIBOBJS list.
94456 2006-10-18  Bruno Haible  <bruno@clisp.org>
94458         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
94460 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
94462         * lib/xstrtol.h: Include gettext.h.
94463         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
94464         Problem reported by Eric Blake.
94465         * modules/xstrtol (Depends-on): Add gettext-h.
94467 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
94469         * lib/strftime.c (advance): New macro.
94470         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
94471         incomplete type, so you can't add 0 to it.  Problem and patch
94472         reported by Eelco Dolstra for dietlibc.
94474 2006-10-18  Jim Meyering  <jim@meyering.net>
94476         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
94477         type for a local, and rename it: s/up/user_proc/.
94479 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
94481         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
94482         READ_UTMP_USER_PROCESS.
94483         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
94485 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
94487         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
94488         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
94490 2006-10-17  Eric Blake  <ebb9@byu.net>
94492         * lib/sigprocmask.c (sigprocmask): Fix typo.
94494         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
94496         * modules/clean-temp (Makefile.am): Don't add to make output...
94497         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
94498         config.h.
94500 2006-10-17  Bruno Haible  <bruno@clisp.org>
94502         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
94503         differently if DEFAULT_TEXT_DOMAIN is set.
94505 2006-10-16  Bruno Haible  <bruno@clisp.org>
94507         * lib/clean-temp.c: Include fwriteerror.h.
94509 2006-10-16  Bruno Haible  <bruno@clisp.org>
94511         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
94513 2006-10-16  Bruno Haible  <bruno@clisp.org>
94515         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
94516         * lib/sigprocmask.h: Include <sys/types.h>.
94517         (sigset_t): Use the system's definition if present.
94519 2006-10-17  Eric Blake  <ebb9@byu.net>
94521         * lib/xvasprintf.c (includes): Assume config.h.
94522         * lib/xasprintf.c (includes): Likewise.
94524 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
94526         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
94527         at least as wide as intmax_t.
94529 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
94531         (Imported from Automake.)
94532         * build-aux/gnupload: Update to version 1.1 of directive file.
94534 2006-10-16  Eric Blake  <ebb9@byu.net>
94536         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
94537         match Automake 1.10a.
94539 2006-10-14  Bruno Haible  <bruno@clisp.org>
94541         * modules/sigprocmask: New file.
94542         * lib/sigprocmask.h: New file.
94543         * lib/sigprocmask.c: New file.
94544         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
94545         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
94546         request sigprocmask.o.
94547         (gl_PREREQ_SIGPROCMASK): New macro.
94548         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
94549         (Depends-on): Add sigprocmask.
94550         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
94551         gt_SIGNALBLOCKING. Test for 'raise' only once.
94552         * lib/fatal-signal.c: Include sigprocmask.h.
94553         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
94554         unblock_fatal_signals): Define always.
94555         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
94556         sigprocmask.
94558 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
94560         Sync from Automake.
94561         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
94562         which incorrectly sets the mode of an existing destination
94563         directory.  In some cases the unpatched install-sh could do the
94564         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
94565         system.  We hope this is rare in practice, but it's clearly worth
94566         fixing.  Problem reported by Alex Unleashed in
94567         <http://lists.gnu.org/r/bug-autoconf/2006-10/msg00012.html>.
94568         Also, don't bother to check for -m bugs unless we're using -m;
94569         suggested by Stepan Kasal.
94571 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94573         Sync from Automake.
94574         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
94575         `-c' flag, so they appear at the same position as in %FASTDEP%
94576         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
94577         which ignores unknown options only after the first non-option.
94578         Bug report against M4 by Nelson H. F. Beebe.
94580 2006-10-13  Jim Meyering  <jim@meyering.net>
94582         Fix a bug in yesterday's change.
94583         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
94584         p->fts_statp->st_dev would be used uninitialized.
94585         Ensures that we always call fts_stat on the very first entry.
94586         Miklos Szeredi reported that find -xdev stopped working.
94588 2006-10-12  Bruno Haible  <bruno@clisp.org>
94590         * gnulib-tool (func_get_automake_snippet): Append an automatically
94591         computed EXTRA_DIST augmentation.
94592         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
94593         * modules/alloca-opt (Makefile.am): Likewise.
94594         * modules/allocsa (Makefile.am): Likewise.
94595         * modules/arcfour (Makefile.am): Likewise.
94596         * modules/arctwo (Makefile.am): Likewise.
94597         * modules/argmatch (Makefile.am): Likewise.
94598         * modules/argz (Makefile.am): Likewise.
94599         * modules/atexit (Makefile.am): Likewise.
94600         * modules/backupfile (Makefile.am): Likewise.
94601         * modules/byteswap (Makefile.am): Likewise.
94602         * modules/c-strtod (Makefile.am): Likewise.
94603         * modules/c-strtold (Makefile.am): Likewise.
94604         * modules/calloc (Makefile.am): Likewise.
94605         * modules/canon-host (Makefile.am): Likewise.
94606         * modules/canonicalize (Makefile.am): Likewise.
94607         * modules/chdir-long (Makefile.am): Likewise.
94608         * modules/chdir-safer (Makefile.am): Likewise.
94609         * modules/check-version (Makefile.am): Likewise.
94610         * modules/chown (Makefile.am): Likewise.
94611         * modules/cloexec (Makefile.am): Likewise.
94612         * modules/close-stream (Makefile.am): Likewise.
94613         * modules/closeout (Makefile.am): Likewise.
94614         * modules/crc (Makefile.am): Likewise.
94615         * modules/csharpexec (Makefile.am): Likewise.
94616         * modules/cycle-check (Makefile.am): Likewise.
94617         * modules/des (Makefile.am): Likewise.
94618         * modules/dev-ino (Makefile.am): Likewise.
94619         * modules/dirfd (Makefile.am): Likewise.
94620         * modules/dirname (Makefile.am): Likewise.
94621         * modules/dup2 (Makefile.am): Likewise.
94622         * modules/eealloc (Makefile.am): Likewise.
94623         * modules/error (Makefile.am): Likewise.
94624         * modules/euidaccess (Makefile.am): Likewise.
94625         * modules/exclude (Makefile.am): Likewise.
94626         * modules/exitfail (Makefile.am): Likewise.
94627         * modules/fcntl-safer (Makefile.am): Likewise.
94628         * modules/fcntl (Makefile.am): Likewise.
94629         * modules/file-type (Makefile.am): Likewise.
94630         * modules/fileblocks (Makefile.am): Likewise.
94631         * modules/filemode (Makefile.am): Likewise.
94632         * modules/filenamecat (Makefile.am): Likewise.
94633         * modules/fnmatch (Makefile.am): Likewise.
94634         * modules/fopen-safer (Makefile.am): Likewise.
94635         * modules/fpending (Makefile.am): Likewise.
94636         * modules/fprintftime (Makefile.am): Likewise.
94637         * modules/free (Makefile.am): Likewise.
94638         * modules/fsusage (Makefile.am): Likewise.
94639         * modules/ftruncate (Makefile.am): Likewise.
94640         * modules/fts (Makefile.am): Likewise.
94641         * modules/gc-arcfour (Makefile.am): Likewise.
94642         * modules/gc-des (Makefile.am): Likewise.
94643         * modules/gc-hmac-md5 (Makefile.am): Likewise.
94644         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
94645         * modules/gc-md4 (Makefile.am): Likewise.
94646         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
94647         * modules/gc-sha1 (Makefile.am): Likewise.
94648         * modules/gc (Makefile.am): Likewise.
94649         * modules/getaddrinfo (Makefile.am): Likewise.
94650         * modules/getcwd (Makefile.am): Likewise.
94651         * modules/getdelim (Makefile.am): Likewise.
94652         * modules/getdomainname (Makefile.am): Likewise.
94653         * modules/getgroups (Makefile.am): Likewise.
94654         * modules/gethostname (Makefile.am): Likewise.
94655         * modules/gethrxtime (Makefile.am): Likewise.
94656         * modules/getline (Makefile.am): Likewise.
94657         * modules/getloadavg (Makefile.am): Likewise.
94658         * modules/getlogin_r (Makefile.am): Likewise.
94659         * modules/getndelim2 (Makefile.am): Likewise.
94660         * modules/getopt (Makefile.am): Likewise.
94661         * modules/getpagesize (Makefile.am): Likewise.
94662         * modules/getpass-gnu (Makefile.am): Likewise.
94663         * modules/getpass (Makefile.am): Likewise.
94664         * modules/getsubopt (Makefile.am): Likewise.
94665         * modules/gettime (Makefile.am): Likewise.
94666         * modules/gettimeofday (Makefile.am): Likewise.
94667         * modules/getugroups (Makefile.am): Likewise.
94668         * modules/getusershell (Makefile.am): Likewise.
94669         * modules/glob (Makefile.am): Likewise.
94670         * modules/group-member (Makefile.am): Likewise.
94671         * modules/hard-locale (Makefile.am): Likewise.
94672         * modules/hash (Makefile.am): Likewise.
94673         * modules/hmac-md5 (Makefile.am): Likewise.
94674         * modules/hmac-sha1 (Makefile.am): Likewise.
94675         * modules/human (Makefile.am): Likewise.
94676         * modules/idcache (Makefile.am): Likewise.
94677         * modules/imaxabs (Makefile.am): Likewise.
94678         * modules/imaxdiv (Makefile.am): Likewise.
94679         * modules/inet_ntop (Makefile.am): Likewise.
94680         * modules/inet_pton (Makefile.am): Likewise.
94681         * modules/intprops (Makefile.am): Likewise.
94682         * modules/inttostr (Makefile.am): Likewise.
94683         * modules/inttypes (Makefile.am): Likewise.
94684         * modules/isapipe (Makefile.am): Likewise.
94685         * modules/javaversion (Makefile.am): Likewise.
94686         * modules/lchmod (Makefile.am): Likewise.
94687         * modules/lchown (Makefile.am): Likewise.
94688         * modules/localcharset (Makefile.am): Likewise.
94689         * modules/long-options (Makefile.am): Likewise.
94690         * modules/lstat (Makefile.am): Likewise.
94691         * modules/malloc (Makefile.am): Likewise.
94692         * modules/mathl (Makefile.am): Likewise.
94693         * modules/mbchar (Makefile.am): Likewise.
94694         * modules/md2 (Makefile.am): Likewise.
94695         * modules/md4 (Makefile.am): Likewise.
94696         * modules/md5 (Makefile.am): Likewise.
94697         * modules/memcasecmp (Makefile.am): Likewise.
94698         * modules/memchr (Makefile.am): Likewise.
94699         * modules/memcmp (Makefile.am): Likewise.
94700         * modules/memcoll (Makefile.am): Likewise.
94701         * modules/memcpy (Makefile.am): Likewise.
94702         * modules/memmem (Makefile.am): Likewise.
94703         * modules/memmove (Makefile.am): Likewise.
94704         * modules/mempcpy (Makefile.am): Likewise.
94705         * modules/memrchr (Makefile.am): Likewise.
94706         * modules/memset (Makefile.am): Likewise.
94707         * modules/memxor (Makefile.am): Likewise.
94708         * modules/mkancesdirs (Makefile.am): Likewise.
94709         * modules/mkdir-p (Makefile.am): Likewise.
94710         * modules/mkdir (Makefile.am): Likewise.
94711         * modules/mkdtemp (Makefile.am): Likewise.
94712         * modules/mkstemp (Makefile.am): Likewise.
94713         * modules/mktime (Makefile.am): Likewise.
94714         * modules/modechange (Makefile.am): Likewise.
94715         * modules/mountlist (Makefile.am): Likewise.
94716         * modules/nanosleep (Makefile.am): Likewise.
94717         * modules/obstack (Makefile.am): Likewise.
94718         * modules/openat (Makefile.am): Likewise.
94719         * modules/pagealign_alloc (Makefile.am): Likewise.
94720         * modules/pathmax (Makefile.am): Likewise.
94721         * modules/physmem (Makefile.am): Likewise.
94722         * modules/poll (Makefile.am): Likewise.
94723         * modules/posixtm (Makefile.am): Likewise.
94724         * modules/posixver (Makefile.am): Likewise.
94725         * modules/putenv (Makefile.am): Likewise.
94726         * modules/quote (Makefile.am): Likewise.
94727         * modules/quotearg (Makefile.am): Likewise.
94728         * modules/raise (Makefile.am): Likewise.
94729         * modules/read-file (Makefile.am): Likewise.
94730         * modules/readline (Makefile.am): Likewise.
94731         * modules/readlink (Makefile.am): Likewise.
94732         * modules/readtokens (Makefile.am): Likewise.
94733         * modules/readutmp (Makefile.am): Likewise.
94734         * modules/realloc (Makefile.am): Likewise.
94735         * modules/regex (Makefile.am): Likewise.
94736         * modules/rename-dest-slash (Makefile.am): Likewise.
94737         * modules/rename (Makefile.am): Likewise.
94738         * modules/rijndael (Makefile.am): Likewise.
94739         * modules/rmdir (Makefile.am): Likewise.
94740         * modules/rpmatch (Makefile.am): Likewise.
94741         * modules/safe-read (Makefile.am): Likewise.
94742         * modules/safe-write (Makefile.am): Likewise.
94743         * modules/same-inode (Makefile.am): Likewise.
94744         * modules/same (Makefile.am): Likewise.
94745         * modules/save-cwd (Makefile.am): Likewise.
94746         * modules/savedir (Makefile.am): Likewise.
94747         * modules/setenv (Makefile.am): Likewise.
94748         * modules/settime (Makefile.am): Likewise.
94749         * modules/sha1 (Makefile.am): Likewise.
94750         * modules/sig2str (Makefile.am): Likewise.
94751         * modules/snprintf (Makefile.am): Likewise.
94752         * modules/stat-macros (Makefile.am): Likewise.
94753         * modules/stat-time (Makefile.am): Likewise.
94754         * modules/stdbool (Makefile.am): Likewise.
94755         * modules/stdint (Makefile.am): Likewise.
94756         * modules/stdlib-safer (Makefile.am): Likewise.
94757         * modules/stpcpy (Makefile.am): Likewise.
94758         * modules/stpncpy (Makefile.am): Likewise.
94759         * modules/strcase (Makefile.am): Likewise.
94760         * modules/strcasestr (Makefile.am): Likewise.
94761         * modules/strchrnul (Makefile.am): Likewise.
94762         * modules/strcspn (Makefile.am): Likewise.
94763         * modules/strdup (Makefile.am): Likewise.
94764         * modules/strerror (Makefile.am): Likewise.
94765         * modules/strftime (Makefile.am): Likewise.
94766         * modules/strndup (Makefile.am): Likewise.
94767         * modules/strnlen (Makefile.am): Likewise.
94768         * modules/strpbrk (Makefile.am): Likewise.
94769         * modules/strsep (Makefile.am): Likewise.
94770         * modules/strstr (Makefile.am): Likewise.
94771         * modules/strtod (Makefile.am): Likewise.
94772         * modules/strtoimax (Makefile.am): Likewise.
94773         * modules/strtok_r (Makefile.am): Likewise.
94774         * modules/strtol (Makefile.am): Likewise.
94775         * modules/strtoll (Makefile.am): Likewise.
94776         * modules/strtoul (Makefile.am): Likewise.
94777         * modules/strtoull (Makefile.am): Likewise.
94778         * modules/strtoumax (Makefile.am): Likewise.
94779         * modules/strverscmp (Makefile.am): Likewise.
94780         * modules/sys_socket (Makefile.am): Likewise.
94781         * modules/sys_stat (Makefile.am): Likewise.
94782         * modules/sysexits (Makefile.am): Likewise.
94783         * modules/time_r (Makefile.am): Likewise.
94784         * modules/timegm (Makefile.am): Likewise.
94785         * modules/timespec (Makefile.am): Likewise.
94786         * modules/tmpfile-safer (Makefile.am): Likewise.
94787         * modules/trim (Makefile.am): Likewise.
94788         * modules/unistd-safer (Makefile.am): Likewise.
94789         * modules/unlinkdir (Makefile.am): Likewise.
94790         * modules/unlocked-io (Makefile.am): Likewise.
94791         * modules/userspec (Makefile.am): Likewise.
94792         * modules/utime (Makefile.am): Likewise.
94793         * modules/utimecmp (Makefile.am): Likewise.
94794         * modules/utimens (Makefile.am): Likewise.
94795         * modules/vasnprintf (Makefile.am): Likewise.
94796         * modules/vasprintf (Makefile.am): Likewise.
94797         * modules/vsnprintf (Makefile.am): Likewise.
94798         * modules/xalloc (Makefile.am): Likewise.
94799         * modules/xgetcwd (Makefile.am): Likewise.
94800         * modules/xnanosleep (Makefile.am): Likewise.
94801         * modules/xreadlink (Makefile.am): Likewise.
94802         * modules/xstrtod (Makefile.am): Likewise.
94803         * modules/xstrtol (Makefile.am): Likewise.
94804         * modules/xstrtold (Makefile.am): Likewise.
94805         * modules/yesno (Makefile.am): Likewise.
94806         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
94808 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
94810         * modules/error (Makefile.am): Distribute files through
94811         EXTRA_DIST, not lib_SOURCES.
94813 2006-10-12  Eric Blake  <ebb9@byu.net>
94815         * modules/error (Makefile.am): Distribute files in /lib.
94816         * modules/obstack (Makefile.am): Likewise.
94818 2006-10-12  Bruno Haible  <bruno@clisp.org>
94820         * modules/acl (Makefile.am): Distribute all files in lib/ through
94821         EXTRA_DIST.
94822         * modules/arcfour (Makefile.am): Likewise.
94823         * modules/arctwo (Makefile.am): Likewise.
94824         * modules/argmatch (Makefile.am): Likewise.
94825         * modules/argz (Makefile.am): Likewise.
94826         * modules/atexit (Makefile.am): Likewise.
94827         * modules/backupfile (Makefile.am): Likewise.
94828         * modules/c-strtod (Makefile.am): Likewise.
94829         * modules/c-strtold (Makefile.am): Likewise.
94830         * modules/calloc (Makefile.am): Likewise.
94831         * modules/canon-host (Makefile.am): Likewise.
94832         * modules/canonicalize (Makefile.am): Likewise.
94833         * modules/chdir-long (Makefile.am): Likewise.
94834         * modules/chdir-safer (Makefile.am): Likewise.
94835         * modules/check-version (Makefile.am): Likewise.
94836         * modules/chown (Makefile.am): Likewise.
94837         * modules/cloexec (Makefile.am): Likewise.
94838         * modules/close-stream (Makefile.am): Likewise.
94839         * modules/closeout (Makefile.am): Likewise.
94840         * modules/crc (Makefile.am): Likewise.
94841         * modules/cycle-check (Makefile.am): Likewise.
94842         * modules/des (Makefile.am): Likewise.
94843         * modules/dirfd (Makefile.am): Likewise.
94844         * modules/dirname (Makefile.am): Likewise.
94845         * modules/dup2 (Makefile.am): Likewise.
94846         * modules/euidaccess (Makefile.am): Likewise.
94847         * modules/exclude (Makefile.am): Likewise.
94848         * modules/exitfail (Makefile.am): Likewise.
94849         * modules/fcntl-safer (Makefile.am): Likewise.
94850         * modules/file-type (Makefile.am): Likewise.
94851         * modules/fileblocks (Makefile.am): Likewise.
94852         * modules/filemode (Makefile.am): Likewise.
94853         * modules/filenamecat (Makefile.am): Likewise.
94854         * modules/fnmatch (Makefile.am): Likewise.
94855         * modules/fopen-safer (Makefile.am): Likewise.
94856         * modules/fpending (Makefile.am): Likewise.
94857         * modules/fprintftime (Makefile.am): Likewise.
94858         * modules/free (Makefile.am): Likewise.
94859         * modules/fsusage (Makefile.am): Likewise.
94860         * modules/ftruncate (Makefile.am): Likewise.
94861         * modules/fts (Makefile.am): Likewise.
94862         * modules/gc (Makefile.am): Likewise.
94863         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
94864         * modules/getaddrinfo (Makefile.am): Likewise.
94865         * modules/getcwd (Makefile.am): Likewise.
94866         * modules/getdelim (Makefile.am): Likewise.
94867         * modules/getdomainname (Makefile.am): Likewise.
94868         * modules/getgroups (Makefile.am): Likewise.
94869         * modules/gethostname (Makefile.am): Likewise.
94870         * modules/gethrxtime (Makefile.am): Likewise.
94871         * modules/getline (Makefile.am): Likewise.
94872         * modules/getloadavg (Makefile.am): Likewise.
94873         * modules/getlogin_r (Makefile.am): Likewise.
94874         * modules/getopt (Makefile.am): Likewise.
94875         * modules/getpass (Makefile.am): Likewise.
94876         * modules/getpass-gnu (Makefile.am): Likewise.
94877         * modules/getsubopt (Makefile.am): Likewise.
94878         * modules/gettime (Makefile.am): Likewise.
94879         * modules/gettimeofday (Makefile.am): Likewise.
94880         * modules/getugroups (Makefile.am): Likewise.
94881         * modules/getusershell (Makefile.am): Likewise.
94882         * modules/glob (Makefile.am): Likewise.
94883         * modules/group-member (Makefile.am): Likewise.
94884         * modules/hard-locale (Makefile.am): Likewise.
94885         * modules/hash (Makefile.am): Likewise.
94886         * modules/hmac-md5 (Makefile.am): Likewise.
94887         * modules/hmac-sha1 (Makefile.am): Likewise.
94888         * modules/human (Makefile.am): Likewise.
94889         * modules/idcache (Makefile.am): Likewise.
94890         * modules/imaxabs (Makefile.am): Likewise.
94891         * modules/imaxdiv (Makefile.am): Likewise.
94892         * modules/inet_ntop (Makefile.am): Likewise.
94893         * modules/inet_pton (Makefile.am): Likewise.
94894         * modules/inttostr (Makefile.am): Likewise.
94895         * modules/isapipe (Makefile.am): Likewise.
94896         * modules/lchown (Makefile.am): Likewise.
94897         * modules/long-options (Makefile.am): Likewise.
94898         * modules/lstat (Makefile.am): Likewise.
94899         * modules/malloc (Makefile.am): Likewise.
94900         * modules/mathl (Makefile.am): Likewise.
94901         * modules/mbchar (Makefile.am): Likewise.
94902         * modules/md2 (Makefile.am): Likewise.
94903         * modules/md4 (Makefile.am): Likewise.
94904         * modules/md5 (Makefile.am): Likewise.
94905         * modules/memcasecmp (Makefile.am): Likewise.
94906         * modules/memchr (Makefile.am): Likewise.
94907         * modules/memcmp (Makefile.am): Likewise.
94908         * modules/memcoll (Makefile.am): Likewise.
94909         * modules/memcpy (Makefile.am): Likewise.
94910         * modules/memmem (Makefile.am): Likewise.
94911         * modules/memmove (Makefile.am): Likewise.
94912         * modules/mempcpy (Makefile.am): Likewise.
94913         * modules/memrchr (Makefile.am): Likewise.
94914         * modules/memset (Makefile.am): Likewise.
94915         * modules/memxor (Makefile.am): Likewise.
94916         * modules/mkancesdirs (Makefile.am): Likewise.
94917         * modules/mkdir (Makefile.am): Likewise.
94918         * modules/mkdir-p (Makefile.am): Likewise.
94919         * modules/mkdtemp (Makefile.am): Likewise.
94920         * modules/mkstemp (Makefile.am): Likewise.
94921         * modules/mktime (Makefile.am): Likewise.
94922         * modules/modechange (Makefile.am): Likewise.
94923         * modules/mountlist (Makefile.am): Likewise.
94924         * modules/nanosleep (Makefile.am): Likewise.
94925         * modules/openat (Makefile.am): Likewise.
94926         * modules/pagealign_alloc (Makefile.am): Likewise.
94927         * modules/physmem (Makefile.am): Likewise.
94928         * modules/poll (Makefile.am): Likewise.
94929         * modules/posixtm (Makefile.am): Likewise.
94930         * modules/posixver (Makefile.am): Likewise.
94931         * modules/putenv (Makefile.am): Likewise.
94932         * modules/quote (Makefile.am): Likewise.
94933         * modules/quotearg (Makefile.am): Likewise.
94934         * modules/raise (Makefile.am): Likewise.
94935         * modules/read-file (Makefile.am): Likewise.
94936         * modules/readline (Makefile.am): Likewise.
94937         * modules/readlink (Makefile.am): Likewise.
94938         * modules/readtokens (Makefile.am): Likewise.
94939         * modules/readutmp (Makefile.am): Likewise.
94940         * modules/realloc (Makefile.am): Likewise.
94941         * modules/regex (Makefile.am): Likewise.
94942         * modules/rename (Makefile.am): Likewise.
94943         * modules/rename-dest-slash (Makefile.am): Likewise.
94944         * modules/rijndael (Makefile.am): Likewise.
94945         * modules/rmdir (Makefile.am): Likewise.
94946         * modules/rpmatch (Makefile.am): Likewise.
94947         * modules/safe-read (Makefile.am): Likewise.
94948         * modules/safe-write (Makefile.am): Likewise.
94949         * modules/same (Makefile.am): Likewise.
94950         * modules/save-cwd (Makefile.am): Likewise.
94951         * modules/savedir (Makefile.am): Likewise.
94952         * modules/setenv (Makefile.am): Likewise.
94953         * modules/settime (Makefile.am): Likewise.
94954         * modules/sha1 (Makefile.am): Likewise.
94955         * modules/sig2str (Makefile.am): Likewise.
94956         * modules/snprintf (Makefile.am): Likewise.
94957         * modules/stdlib-safer (Makefile.am): Likewise.
94958         * modules/stpcpy (Makefile.am): Likewise.
94959         * modules/stpncpy (Makefile.am): Likewise.
94960         * modules/strcase (Makefile.am): Likewise.
94961         * modules/strcasestr (Makefile.am): Likewise.
94962         * modules/strchrnul (Makefile.am): Likewise.
94963         * modules/strcspn (Makefile.am): Likewise.
94964         * modules/strdup (Makefile.am): Likewise.
94965         * modules/strerror (Makefile.am): Likewise.
94966         * modules/strftime (Makefile.am): Likewise.
94967         * modules/strndup (Makefile.am): Likewise.
94968         * modules/strnlen (Makefile.am): Likewise.
94969         * modules/strpbrk (Makefile.am): Likewise.
94970         * modules/strsep (Makefile.am): Likewise.
94971         * modules/strstr (Makefile.am): Likewise.
94972         * modules/strtod (Makefile.am): Likewise.
94973         * modules/strtoimax (Makefile.am): Likewise.
94974         * modules/strtok_r (Makefile.am): Likewise.
94975         * modules/strtol (Makefile.am): Likewise.
94976         * modules/strtoll (Makefile.am): Likewise.
94977         * modules/strtoul (Makefile.am): Likewise.
94978         * modules/strtoull (Makefile.am): Likewise.
94979         * modules/strtoumax (Makefile.am): Likewise.
94980         * modules/strverscmp (Makefile.am): Likewise.
94981         * modules/time_r (Makefile.am): Likewise.
94982         * modules/timegm (Makefile.am): Likewise.
94983         * modules/tmpfile-safer (Makefile.am): Likewise.
94984         * modules/unistd-safer (Makefile.am): Likewise.
94985         * modules/unlinkdir (Makefile.am): Likewise.
94986         * modules/userspec (Makefile.am): Likewise.
94987         * modules/utime (Makefile.am): Likewise.
94988         * modules/utimecmp (Makefile.am): Likewise.
94989         * modules/utimens (Makefile.am): Likewise.
94990         * modules/vasnprintf (Makefile.am): Likewise.
94991         * modules/vasprintf (Makefile.am): Likewise.
94992         * modules/vsnprintf (Makefile.am): Likewise.
94993         * modules/xalloc (Makefile.am): Likewise.
94994         * modules/xgetcwd (Makefile.am): Likewise.
94995         * modules/xnanosleep (Makefile.am): Likewise.
94996         * modules/xreadlink (Makefile.am): Likewise.
94997         * modules/xstrtod (Makefile.am): Likewise.
94998         * modules/xstrtol (Makefile.am): Likewise.
94999         * modules/xstrtold (Makefile.am): Likewise.
95000         * modules/yesno (Makefile.am): Likewise.
95002 2006-10-12  Jim Meyering  <jim@meyering.net>
95004         * m4/getloadavg.m4: Revert the change below.
95006         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
95007         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
95008         fail with a symlink, which is what coreutils' ./bootstrap now
95009         creates by default.
95011 2006-10-12  Bruno Haible  <bruno@clisp.org>
95013         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
95014         mingw.
95015         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
95016         MSVC and mingw explicitly.
95018 2006-10-11  Simon Josefsson  <jas@extundo.com>
95019             Bruno Haible  <bruno@clisp.org>
95021         Add support for multiple gnulib-tool invocations in the scope of a
95022         single configure.ac file.
95023         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
95024         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
95025         with the same contents as the _LIBADD variable.
95026         (func_emit_initmacro_start, func_emit_initmacro_end,
95027         func_emit_initmacro_done): New functions.
95028         (func_import, func_create_testdir): Invoke them. Allow the identifiers
95029         gl_LIBOBJS and gl_LTLIBOBJS.
95031 2006-10-11  Bruno Haible  <bruno@clisp.org>
95033         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
95034         (func_create_testdir): Don't create po/Makefile.am, don't invoke
95035         autoreconf. Instead, invoke autopoint explicitly but move back the
95036         *.m4 files from gnulib.
95038 2006-10-11  Bruno Haible  <bruno@clisp.org>
95040         * gnulib-tool (func_usage): Make module names after --create-testdir
95041         optional.
95042         (func_create_testdir): If no module was specified, use nearly all
95043         modules.
95045 2006-10-12  Jim Meyering  <jim@meyering.net>
95047         Big performance improvement for fts-based tools that use FTS_NOSTAT.
95048         Avoid spurious inode-mismatch problems on non-POSIX file systems.
95049         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
95050         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
95051         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
95052         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
95053         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
95054         (fts_set_stat_required): New function.
95055         (fts_open): Defer the calls to fts_stat, if possible or requested.
95056         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
95057         into fts_stat itself.
95058         (fts_read): Perform any required (deferred) fts_stat call.
95059         (fts_build): Likewise, for the directory we're about to open and read.
95060         In the readdir loop, carefully decide whether each entry will require
95061         an eventual call to fts_stat, using dirent.d_type info if available.
95062         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
95063         a command line argument into this function.  Update all callers.
95064         Map a return value of FTS_DOT to FTS_D for a command line argument.
95065         * modules/fts (Depends-on): Add d-type.  Alphabetize.
95066         Thanks to Miklos Szeredi for his tenacity and for the initial
95067         bug report about "find" failing on a FUSE-based file system.
95069         * lib/fts.c (fts_open): Use consistent indentation.
95071 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
95073         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
95074         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
95075         reported by Jim Meyering.  All uses of cache variables renamed
95076         to match Autoconf's.
95077         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
95078         the other one.
95080         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
95081         Fix misspelling in diagnostic.
95083 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
95085         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
95086         defined.  Problem reported by Matthew Woehlke.
95088         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
95089         Add support for Tandem NonStop R series.
95090         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
95091         Use new macro.
95093         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
95094         (has_trailing_slash): Omit size arg; all callers changed.
95095         Omit 'inline', since it doesn't help performance and we'd
95096         need to configure it.
95097         Don't count //, ///, etc. as having a trailing slash.
95098         As a side effect, this removes a C99ism reported by Matthew Woehlke.
95099         (rpl_rename_dest_slash): On failure, use rename's errno rather
95100         than (in some cases) an incorrect or junk errno.
95101         Simplify code by removing need to compute length; this does
95102         cause it to make two passes instead of one over the file name,
95103         but it's worth it.
95105         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
95106         change, since Autoconf's version may no longer be appropriate now
95107         that we are using CVS Autoconf's version.  Add support for Tandem.
95109 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
95110             Bruno Haible  <bruno@clisp.org>
95112         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
95113         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
95114         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
95115         gl_AC_TYPE_LONG_LONG.
95117         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
95118         instead of HAVE_LONG_LONG.
95119         * lib/printf-args.c (printf_fetchargs): Likewise.
95120         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
95121         * lib/vasnprintf.c (VASNPRINTF): Likewise.
95122         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
95123         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
95124         gl_AC_TYPE_LONG_LONG.
95126 2006-10-11  Bruno Haible  <bruno@clisp.org>
95128         * m4/longlong.m4: Add comments.
95129         * m4/ulonglong.m4: Likewise.
95131 2006-10-10  Bruno Haible  <bruno@clisp.org>
95133         Make it possible to #define stpcpy, strdup to aliases.
95134         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
95135         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
95137 2006-10-10  Bruno Haible  <bruno@clisp.org>
95139         Make it possible to #define gcd to an alias.
95140         * lib/gcd.c: Include config.h.
95142 2006-10-10  Bruno Haible  <bruno@clisp.org>
95144         Make it possible to #define c_isascii to an alias.
95145         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
95146         defined. Undefine the macros before defining them, to avoid gcc
95147         warnings.
95148         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
95149         define NO_C_CTYPE_MACROS early.
95151 2006-10-10  Bruno Haible  <bruno@clisp.org>
95153         Make it possible to #define set_program_name to an alias.
95154         * lib/progname.c: Don't undefine set_program_name; instead, undefine
95155         ENABLE_RELOCATABLE early.
95157 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
95159         Port to Tandem NSK OSS, which has 64-bit signed int but at most
95160         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
95161         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00062.html
95162         More generally, don't assume that 64-bit signed int is available
95163         if unsigned int is, and vice versa.
95164         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
95165         unsigned symbols, not on their signed counterparts.
95166         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
95167         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
95168         (UINT64_C, UINTMAX_C):
95169         Likewise.
95170         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
95171         unsigned counterparts.
95172         (Have_long_long, Unsigned): New macros.
95173         (Int): Renamed from INT.
95174         (strtoimax): Use the new macros.
95175         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
95176         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
95177         * modules/inttypes (inttypes.h): Substitute
95178         HAVE_UNSIGNED_LONG_LONG_INT.
95179         * modules/stdint (stdint.h): Likewise.
95180         (Files): Add m4/ulonglong.m4.
95182 2006-10-10  Bruno Haible  <bruno@clisp.org>
95184         Fix a gcc -Wshadow warning.
95185         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
95186         to 'bucket'.
95187         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
95188         gl_linked_indexof_from_to): Likewise.
95189         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
95190         Likewise.
95191         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
95192         Likewise.
95193         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
95194         Reported by Eric Blake.
95196 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
95198         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
95199         for NetBSD.  Problem reported by Bruno Haible.
95201 2006-10-09  Jim Meyering  <jim@meyering.net>
95203         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
95204         Patch from Bruno Haible.
95206 2006-10-09  Jim Meyering  <jim@meyering.net>
95208         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
95209         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
95210         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
95212 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
95214         Don't include <config.h> twice; this doesn't work in some cases,
95215         e.g., when config.h has "#define intmax_t long long int" and
95216         we include <config.h>, <inttypes.h>, <config.h> in that order.
95217         Problem reported by Matthew Woehlke in:
95218         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00073.html
95219         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
95220         * lib/fts-cycle.c: Don't include config.h.
95221         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
95222         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
95223         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
95224         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
95225         inttypes.h.
95226         * lib/xstrtoumax.c: Likewise.
95227         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
95228         __strtol and the like, so that this module is more like its siblings.
95229         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
95230         Remove; no longer needed now that we assume gnulib inttypes.h.
95232 2006-10-08  Bruno Haible  <bruno@clisp.org>
95234         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
95235         option.
95237 2006-10-07  Jim Meyering  <jim@meyering.net>
95239         * modules/inttypes (inttypes.h): Revert what seems to have been
95240         an inadvertent part of today's change: use "|", not "/" in the
95241         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
95243 2006-10-07  Bruno Haible  <bruno@clisp.org>
95245         * modules/sublist: New file.
95247 2006-10-07  Bruno Haible  <bruno@clisp.org>
95249         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
95250         * modules/argz (argz.h): Likewise.
95251         * modules/arpa_inet (arpa/inet.h): Likewise.
95252         * modules/byteswap (byteswap.h): Likewise.
95253         * modules/configmake (configmake.h): Likewise.
95254         * modules/fcntl (fcntl.h): Likewise.
95255         * modules/fnmatch (fnmatch.h): Likewise.
95256         * modules/getopt (getopt.h): Likewise.
95257         * modules/glob (glob.h): Likewise.
95258         * modules/inttypes (inttypes.h): Likewise.
95259         * modules/netinet_in (netinet/in.h): Likewise.
95260         * modules/poll (poll.h): Likewise.
95261         * modules/stdbool (stdbool.h): Likewise.
95262         * modules/stdint (stdint.h): Likewise.
95263         * modules/sys_select (sys/select.h): Likewise.
95264         * modules/sys_socket (sys/socket.h): Likewise.
95265         * modules/sys_stat (sys/stat.h): Likewise.
95266         * modules/sysexits (sysexits.h): Likewise.
95267         * modules/unistd (unistd.h): Likewise.
95268         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
95269         Add a "DO NOT EDIT" comment to the generated file.
95270         (func_import): Likewise for gnulib-comp.m4.
95272 2006-10-07  Bruno Haible  <bruno@clisp.org>
95274         * lib/gl_sublist.h: New file.
95275         * lib/gl_sublist.c: New file.
95277 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
95279         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
95280         name (relative to the original working directory) and the file
95281         name component (relative to the temporary working directory).  All
95282         callers changed.
95283         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
95284         * lib/mkdir-p.c (make_dir_parents): Likewise.
95285         * lib/mkdir-p.h (make_dir_parents): Likewise.
95287 2006-10-06  Eric Blake  <ebb9@byu.net>
95289         Define several macros for use by the clean-temp module.
95290         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
95291         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
95292         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
95294         * lib/clean-temp.h (close_stream_temp): New declaration.
95295         * lib/clean-temp.c (includes): Pull in headers according to what
95296         other modules are in use.
95297         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
95299 2006-10-06  Bruno Haible  <bruno@clisp.org>
95301         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
95302         instead of fopen, fwriteerror.
95304 2006-10-06  Bruno Haible  <bruno@clisp.org>
95306         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
95307         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
95308         int.
95309         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
95310         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
95311         Return an error indicator.
95312         Suggested by Eric Blake.
95314 2006-10-06  Bruno Haible  <bruno@clisp.org>
95316         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
95317         Reported by Eric Blake.
95319 2006-10-06  Bruno Haible  <bruno@clisp.org>
95321         * modules/closeout (Description): Mention stderr too.
95323 2006-10-06  Bruno Haible  <bruno@clisp.org>
95324         and Paul Eggert  <eggert@cs.ucla.edu>
95326         * lib/closeout.c (close_stdout): Also close stderr.
95327         * lib/closeout.h: Update comment.
95329 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
95331         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
95332         <http://lists.gnu.org/r/bug-coreutils/2006-10/msg00063.html>.
95333         * lib/dirchownmod.c: Include lchown.h.
95334         * lib/lchown.c: Don't include files that lchown.h now includes.
95335         Don't declare chown, since lchown.h now does that.
95336         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
95337         (lchown): Define to rpl_chown if lchown is declared but
95338         does not exist.  Declare using a prototype if lchown is not
95339         declared.  Add a copyright notice.
95340         * lib/mkstemp.h: Include <unistd.h>.
95341         * lib/openat.c: Include lchown.h.
95343         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
95344         we now test for that separately.
95345         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
95346         rather than O_NOFOLLOW, when testing whether it's possible to
95347         avoid a race condition reliably.
95348         * lib/savewd.c (savewd_chdir): Likewise.
95350         Remove macros that are no longer needed now that stdint.h is
95351         reliable.
95352         * lib/fsusage.c (UINTMAX_MAX): Remove.
95353         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
95354         * lib/utimecmp.c (SIZE_MAX): Remove.
95356         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
95358         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
95359         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
95360         O_NOATIME works.
95362 2006-10-05  Bruno Haible  <bruno@clisp.org>
95364         * lib/gl_list.h (gl_sortedlist_search_from_to,
95365         gl_sortedlist_indexof_from_to): New declarations.
95366         (gl_list_implementation): New fields sortedlist_search_from_to,
95367         sortedlist_indexof_from_to.
95368         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
95369         inline functions.
95370         * lib/gl_list.c (gl_sortedlist_search_from_to,
95371         gl_sortedlist_indexof_from_to): New functions.
95372         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
95373         function.
95374         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
95375         (gl_array_sortedlist_search_from_to): New function.
95376         (gl_array_list_implementation): Update.
95377         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
95378         function.
95379         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
95380         (gl_carray_sortedlist_search_from_to): New function.
95381         (gl_carray_list_implementation): Update.
95382         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
95383         gl_linked_sortedlist_indexof_from_to): New functions.
95384         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
95385         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
95386         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
95387         gl_tree_sortedlist_indexof_from_to): New functions.
95388         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
95389         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
95390         Update.
95391         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
95392         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
95393         Update.
95395 2006-10-05  Bruno Haible  <bruno@clisp.org>
95397         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
95398         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
95399         (struct gl_list_implementation): Add fields search_from_to,
95400         indexof_from_to. Remove fields search, indexof.
95401         (gl_list_search): Use the search_from_to method.
95402         (gl_list_search_from, gl_list_search_from_to): New functions.
95403         (gl_list_indexof): Use the indexof_from_to method.
95404         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
95405         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
95406         (gl_list_search_from, gl_list_search_from_to): New functions.
95407         (gl_list_indexof): Use the indexof_from_to method.
95408         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
95409         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
95410         gl_array_indexof. Add start_index, end_index arguments.
95411         (gl_array_search_from_to): Renamed from gl_array_search. Add
95412         start_index, end_index arguments.
95413         (gl_array_remove, gl_array_list_implementation): Update.
95414         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
95415         gl_carray_indexof. Add start_index, end_index arguments.
95416         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
95417         start_index, end_index arguments.
95418         (gl_carray_remove, gl_carray_list_implementation): Update.
95419         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
95420         gl_linked_search. Add start_index, end_index arguments.
95421         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
95422         start_index, end_index arguments.
95423         (gl_linked_remove): Update.
95424         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
95425         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
95426         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
95427         field to 'size_t'.
95428         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
95429         gl_tree_search. Add start_index, end_index arguments.
95430         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
95431         start_index, end_index arguments.
95432         (gl_tree_remove): Update.
95433         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
95434         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
95435         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
95436         function.
95437         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
95438         gl_tree_search. Add start_index, end_index arguments.
95439         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
95440         start_index, end_index arguments.
95441         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
95442         Update.
95443         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
95445 2006-10-05  Bruno Haible  <bruno@clisp.org>
95447         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
95449         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
95450         fwriteerror_temp): New declarations.
95451         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
95452         (descriptors): New variable.
95453         (cleanup): First, close the descriptors.
95454         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
95455         fclose_temp, fwriteerror_temp): New functions.
95457 2006-10-04  Jim Meyering  <jim@meyering.net>
95459         * lib/fts.c (fts_open): Tiny comment change.
95461 2006-10-04  Bruno Haible  <bruno@clisp.org>
95463         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
95464         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
95465         gl_LOCK_BODY.
95466         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
95467         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
95468         gl_LOCK_EARLY_BODY.
95469         (gl_LOCK): Require gl_LOCK_BODY.
95471 2006-10-04  Bruno Haible  <bruno@clisp.org>
95473         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
95474         (gl_oset_search_atleast): New declaration.
95475         (struct gl_oset_implementation): Add field 'search_atleast'.
95476         (gl_oset_search_atleast): New inline function.
95477         * lib/gl_oset.c (gl_oset_search_atleast): New function.
95478         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
95479         (gl_array_oset_implementation): Update.
95480         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
95481         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
95482         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
95484 2006-10-04  Bruno Haible  <bruno@clisp.org>
95486         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
95488 2006-10-03  Bruno Haible  <bruno@clisp.org>
95490         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
95491         from gl_avltreehash_list_implementation.
95493 2006-10-03  Bruno Haible  <bruno@clisp.org>
95495         * lib/gl_oset.c (gl_oset_add): Fix return type.
95497 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
95499         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
95501 2006-10-02  Eric Blake  <ebb9@byu.net>
95503         * modules/strnlen (Depends-on): Add extensions.
95505 2006-10-02  Eric Blake  <ebb9@byu.net>
95507         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
95508         definition in 2.60+.
95510 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
95512         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
95513         checks.
95515 2006-10-02  Bruno Haible  <bruno@clisp.org>
95517         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
95518         to the AUTOMAKE_OPTIONS.
95519         Reported by Jim Meyering.
95521 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
95523         Work around bug in Solaris 10 /proc file system:
95524         /proc/self/fd/NNN/.. isn't the parent directory of
95525         the directory whose file descriptor is NNN.  This needs to
95526         be worked around at run time, not compile time, since a
95527         program might be built on Solaris 8, where things work, and
95528         run on Solaris 10.
95529         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
95530         to use the following interface instead:
95531         (OPENAT_BUFFER_SIZE): New macro.
95532         (openat_proc_name): New function.
95533         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
95534         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
95535         Likewise.
95536         * lib/openat-proc.c: New file.
95537         * modules/openat (Files): Add lib/openat-proc.c.
95538         (Depends-on): Add same-inode, stdbool.
95539         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
95541 2006-09-29  Bruno Haible  <bruno@clisp.org>
95543         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
95544         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
95545         argument. Set stdout_closed before testing for ferror, not after.
95546         (fwriteerror, fwriteerror_no_ebadf): New functions.
95548 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95550         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
95552 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
95554         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
95555         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
95557 2006-09-28  Jim Meyering  <jim@meyering.net>
95559         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
95560         Include <unistd.h>.
95562 2006-09-28  Bruno Haible  <bruno@clisp.org>
95564         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
95565         * modules/linkedhash-list (Depends-on): Likewise.
95566         * modules/rbtreehash-list (Depends-on): Likewise.
95568 2006-09-28  Bruno Haible  <bruno@clisp.org>
95570         * lib/strndup.h: Simplify the redefinition of strndup.
95571         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
95572         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
95574 2006-09-28  Bruno Haible  <bruno@clisp.org>
95576         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
95577         * lib/gl_linkedhash_list.c: Likewise.
95578         * lib/gl_rbtreehash_list.c: Likewise.
95580 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
95582         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
95583         getaddrinfo.
95585         * lib/__fpending.h: Don't include <stdio_ext.h> unless
95586         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
95587         it causes <stdio_ext.h> to cause a compile-time error.
95588         Problem reported by Nelson H. F. Beebe.
95589         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
95590         of HAVE_DECL___PENDING.
95592         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
95593         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
95594         declaration.
95596 2006-09-27  Jim Meyering  <jim@meyering.net>
95598         This file could end up with a definition for a function
95599         named __strndup, rather than rpl_strndup on a system with
95600         incomplete weak_alias support.
95601         * lib/strndup.c (strndup): Rename from __strndup.
95602         Remove #defines that used to map __strndup to strndup.
95603         Don't use K&R prototypes.
95604         Remove LIBC-related code, since this file is not sync'd with glibc.
95605         * lib/strndup.h: Revamp, accordingly.
95606         * m4/strndup.m4: Modernize.
95608 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
95610         * modules/savewd (Depends-on): Add 'raise'.
95611         * lib/savewd.c: Include <signal.h>, for 'raise'.
95613 2006-09-26  Jim Meyering  <jim@meyering.net>
95615         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
95616         when we detect Darwin 8.7.0's acl_get_file bug.
95617         Rearrange to perform the new (below) run-test while $LIBS
95618         contains any acl-related library.  Set USE_ACL at the end.
95619         (gl_ACL_GET_FILE): New function.
95621 2006-09-26  Eric Blake  <ebb9@byu.net>
95623         * lib/verror.c: Include <config.h> unconditionally.
95625 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
95627         * modules/clock-time (Maintainer): Add self.
95628         * modules/getlogin_r (Depends-on): Add extensions.
95630 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95632         * modules/clock-time: New module.
95633         * modules/nanosleep (Depends-on): Add clock-time.
95634         * modules/gethrxtime (Depends-on): Likewise.
95635         * modules/gettime (Depends-on): Likewise.
95636         * modules/settime (Depends-on): Likewise.
95638         * modules/fts-lgpl: Depend on openat.
95639         * modules/mkancesdirs: Depend on savewd.
95640         * modules/mkdir-p: Likewise.
95642 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95644         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
95646         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
95647         `gl_have_arbitrary_file_name_length_limit' to
95648         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
95649         actually works between configure runs.
95651 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95652             Bruno Haible  <bruno@clisp.org>
95654         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
95656 2006-09-25  Jim Meyering  <jim@meyering.net>
95658         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
95659         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
95661 2006-09-25  Eric Blake  <ebb9@byu.net>
95663         * gnulib-tool (func_import, func_create_testdir): Fix typos in
95664         exec's in 2006-09-18 patch when shuffling fds.
95666 2006-09-25  Bruno Haible  <bruno@clisp.org>
95668         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
95669         Reported by Jim Meyering.
95671 2006-09-24  Jim Meyering  <jim@meyering.net>
95673         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
95674         compare a pointer against a literal "0".  That caused failures with
95675         at least HP-UX's hpcc.
95677 2006-09-22  Simon Josefsson  <jas@extundo.com>
95679         * modules/gc-sha1:
95680         * modules/gc-md4:
95681         * modules/gc-hmac-sha1:
95682         * modules/gc-hmac-md5:
95683         * modules/gc-des:
95684         * modules/gc-arcfour: Distribute more files.
95686 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95688         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
95689         (gl_linked_iterator_from_to): Initialize struct completely.
95690         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
95691         (gl_tree_iterator_from_to): Likewise
95692         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
95693         * lib/gl_array_list.c [lint] (gl_array_iterator)
95694         (gl_array_iterator_from_to): Likewise.
95695         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
95696         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
95697         (gl_carray_iterator_from_to): Likewise.
95699         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
95700         * lib/md4.c (md4_process_block): Remove unused variable.
95701         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
95702         parentheses for clarity.
95704 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95706         * modules/bison-i18n (Depends-on): Add gettext.
95708 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95710         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
95711         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
95712         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
95713         also add missing comma that caused broken test.
95714         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
95715         stdlib.h, for `abort'.
95716         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
95717         variables.
95718         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
95719         include unistd.h if present, for `rmdir'.
95720         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
95721         variables.
95722         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
95723         in the process include standard headers for prototypes.
95724         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
95725         gets declared on GNU/Linux.
95726         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
95727         unistd.h, for `rmdir'.
95728         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
95730         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
95731         always true.
95732         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
95734         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
95736 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95738         * gnulib-tool (func_version): Create output all at once.  This
95739         may help avoid triggering unnecessary SIGPIPEs, and at any
95740         rate it doesn't hurt.
95742 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95743             Bruno Haible  <bruno@clisp.org>
95745         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
95746         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
95747         * m4/signed.m4 (bh_C_SIGNED): Likewise.
95749         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
95750         (gl_FUNC_VASPRINTF): Invoke it.
95752 2006-09-22  Bruno Haible  <bruno@clisp.org>
95754         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
95755         getloadavg.c as first argument.
95757 2006-09-22  Bruno Haible  <bruno@clisp.org>
95759         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
95760         at the beginning of the gl_INIT macro.
95761         * modules/getloadavg (configure.ac): Pass $gl_source_base to
95762         gl_GETLOADAVG.
95764 2006-09-22  Bruno Haible  <bruno@clisp.org>
95766         * gnulib-tool (func_create_megatestdir): Don't include the config-h
95767         module.
95768         Suggested by Ralf Wildenhues.
95770 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
95772         Import this patch from libc:
95774         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
95776         * lib/regex_internal.c (re_string_reconstruct): Handle
95777         offset < pstr->valid_raw_len && pstr->offsets_needed case.
95778         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
95779         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
95780         re_string_context_at.
95782         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
95783         now requires it.
95784         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
95785         gl_REGEX now does it for us.
95786         (gl_REGEX): Add test taken from
95787         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
95789         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
95790         Check that large offsets work.  Modernize Autoconf usages.
95791         Prefer "yes" to mean a good thing rather than a bad.
95792         Don't put "#define mkstemp" in config.h, as this might interfere
95793         with standard system headers that "#define mkstemp mkstemp64".
95795         * modules/mkstemp (Depends-on): Add extensions, so that
95796         mkstemp is visible on some platforms.
95797         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
95798         (Include): Change to "mkstemp.h" from <stdlib.h>.
95799         (Files): Add mkstemp.h.
95801         * lib/mkstemp.h: New file, since some standard headers
95802         #define mkstemp.
95803         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
95804         Include "mkstemp.h".
95805         Make the _LIBC code resemble glibc original more,
95806         e.g., use K&R style.
95807         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
95808         (mkstemp): Remove, since mkstemp.h does this for us.
95809         * lib/stdlib--.h: Include mkstemp.h.
95811         Import this patch from libc:
95813         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
95815         * lib/tempname.c (__gen_tempname): Change attempts_min
95816         into a macro.  Use preprocessor to decide how to initialize
95817         attempts [Coverity CID 67].
95819 2006-09-20  Bruno Haible  <bruno@clisp.org>
95821         * lib/mkdtemp.c: Import from libc.
95822         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
95823                 * sysdeps/posix/tempname.c (__gen_tempname): Change
95824                 attempts_min into a macro.  Use preprocessor to decide how to
95825                 initialize attempts [Coverity CID 67].
95826         2001-11-27  Paul Eggert  <eggert@twinsun.com>
95827                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
95828                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
95830 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95832         * gnulib-tool (func_exit): New function, to allow to pass the
95833         exit status portably through the trap.  Use everywhere.
95834         (--help, --version): Signal a write error.
95835         (trap): catch SIGPIPE, for write errors.
95836         Exit at the end of the trap, with the correct exit status.
95838 2006-09-19  Karl Berry  <karl@gnu.org>
95840         * doc/gnulib.texi: note about the license texinfo files.
95842 2006-09-19  Eric Blake  <ebb9@byu.net>
95844         * gnulib-tool: Avoid space-tab.
95846 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
95848         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
95849         that prevented coreutils 6.1 from building.  Problem reported
95850         by Petter Reinholdtsen.
95852 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
95854         * gnulib-tool (avoidlist): Fix typo that broke options like
95855         --avoid=lock that are used by coreutils bootstrap.
95857 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
95859         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
95860         more systematically.
95862 2006-09-18  Jim Meyering  <jim@meyering.net>
95864         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
95866 2006-09-18  Bruno Haible  <bruno@clisp.org>
95868         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
95870 2006-09-18  Bruno Haible  <bruno@clisp.org>
95872         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
95873         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
95874         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
95875         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
95876         * m4/gettext.m4: Require autoconf >= 2.52.
95877         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
95878         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
95879         of gl_cv_header_inttypes_h.
95881 2006-09-18  Bruno Haible  <bruno@clisp.org>
95883         * lib/javaversion.c: Include configmake.h.
95885 2006-09-18  Bruno Haible  <bruno@clisp.org>
95887         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
95888         avoid that the while loops be executed in a subshell.
95890 2006-09-18  Bruno Haible  <bruno@clisp.org>
95892         * MODULES.html.sh (func_module): Break long lines.
95893         Suggested by Bruce Korb <bkorb@gnu.org>.
95895 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95897         Speed up by a factor of 1.12.
95898         * gnulib-tool (nl): New variable.
95899         (func_import): Rewrite include directive extraction to only read each
95900         directive once.
95902 2006-09-17  Bruno Haible  <bruno@clisp.org>
95904         * modules/javaversion (Makefile.am): Remove DEFS setting.
95905         (Depends-on): Add configmake, for PKGDATADIR definition.
95907 2006-09-17  Bruno Haible  <bruno@clisp.org>
95909         * gnulib-tool (func_create_testdir): Rewrite all files at once.
95911 2006-09-17  Bruno Haible  <bruno@clisp.org>
95913         * gnulib-tool (func_append): New function, stolen from libtool.m4.
95914         (func_modules_transitive_closure, func_modules_add_dummy,
95915         func_modules_to_filelist, func_import, func_create_testdir,
95916         func_create_megatestdir, ...): Use it wherever possible.
95917         Suggested by Ralf Wildenhues.
95919 2006-09-16  Karl Berry  <karl@gnu.org>
95921         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
95922         to avoid sectioning errors.
95923         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
95924         [ifinfo]: blank line after @center-ed titles.
95925         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
95926         Spell FSF address consistently with others.
95927         (These changes approved by rms.)
95929 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95931         Speed up by a factor of 1.61.
95932         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
95933         already checked module names again.
95935 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95937         Speed up by a factor of 1.13.
95938         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
95939         for new_files, and the input to func_add_or_update.
95941 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95943         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
95944         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
95946 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
95948         * modules/mkancesdirs (Depends-on): Add fcntl.
95949         * modules/savewd: New file.
95950         * MODULES.html.sh (File system functions): Add savewd.
95952         * modules/configmake (Makefile.am): Add support for the
95953         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
95955 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
95957         * m4/savewd.m4: New file.
95959 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
95961         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
95962         (dirchownmod): New arg FD.  All callers changed.
95963         Use FD rather than opening the directory ourself, as opening is
95964         now the caller's responsibility.
95965         * lib/dirchownmod.h: Likewise.
95966         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
95967         hosts that require <sys/types.h> before <sys/stat.h>.  Include
95968         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
95969         (test_dir): Remove.
95970         (mkancesdirs): Return length of prefix of FILE that has already
95971         been made, or -2 if there is a child doing the work.  Redo
95972         algorithm so that it is O(N) rather than O(N**2).  Optimize away
95973         ".", and treat ".." specially since it might stray back into
95974         already-created areas.  Use a subprocess if necessary.  New arg
95975         WD; all users changed.  MAKE_DIR function should now return 1
95976         if it creates a directory that is not readable.  Return -2 if
95977         a child process is spun off.
95978         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
95979         Adjust signature to match code.
95980         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
95981         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
95982         all users changed.
95983         * lib/savewd.c, lib/savewd.h: New files.
95985 2006-09-15  Jim Meyering  <jim@meyering.net>
95987         * modules/rename-dest-slash: New module.
95988         * MODULES.html.sh (posix_compat): Add it here.
95990         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
95992 2006-09-15  Jim Meyering  <jim@meyering.net>
95994         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
95995         file.
95997         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
95999 2006-09-15  Jim Meyering  <jim@meyering.net>
96001         * lib/rename-dest-slash.c (has_trailing_slash): Use
96002         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
96003         (rpl_rename_dest_slash): Perform the cheaper trailing slash
96004         test before testing whether SRC is a directory.
96005         Suggestions from Bruno Haible.
96007         Avoid a warning about an unused variable.
96008         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
96009         into the #ifdef block where it's used.
96011         * lib/rename-dest-slash.c: New file.
96013 2006-09-14  Bruno Haible  <bruno@clisp.org>
96015         * lib/allocsa.c: Include <config.h> unconditionally.
96016         * lib/asnprintf.c: Likewise.
96017         * lib/asprintf.c: Likewise.
96018         * lib/c-strcasecmp.c: Likewise.
96019         * lib/c-strcasestr.c: Likewise.
96020         * lib/c-strncasecmp.c: Likewise.
96021         * lib/c-strstr.c: Likewise.
96022         * lib/classpath.c: Likewise.
96023         * lib/clean-temp.c: Likewise.
96024         * lib/concatpath.c: Likewise.
96025         * lib/copy-file.c: Likewise.
96026         * lib/csharpcomp.c: Likewise.
96027         * lib/csharpexec.c: Likewise.
96028         * lib/execute.c: Likewise.
96029         * lib/fatal-signal.c: Likewise.
96030         * lib/findprog.c: Likewise.
96031         * lib/fwriteerror.c: Likewise.
96032         * lib/gl_array_list.c: Likewise.
96033         * lib/gl_array_oset.c: Likewise.
96034         * lib/gl_avltree_list.c: Likewise.
96035         * lib/gl_avltree_oset.c: Likewise.
96036         * lib/gl_avltreehash_list.c: Likewise.
96037         * lib/gl_carray_list.c: Likewise.
96038         * lib/gl_linked_list.c: Likewise.
96039         * lib/gl_linkedhash_list.c: Likewise.
96040         * lib/gl_list.c: Likewise.
96041         * lib/gl_oset.c: Likewise.
96042         * lib/gl_rbtree_list.c: Likewise.
96043         * lib/gl_rbtree_oset.c: Likewise.
96044         * lib/gl_rbtreehash_list.c: Likewise.
96045         * lib/imaxabs.c: Likewise.
96046         * lib/imaxdiv.c: Likewise.
96047         * lib/javacomp.c: Likewise.
96048         * lib/javaexec.c: Likewise.
96049         * lib/javaversion.c: Likewise.
96050         * lib/linebreak.c: Likewise.
96051         * lib/localcharset.c: Likewise.
96052         * lib/lock.c: Likewise.
96053         * lib/mbchar.c: Likewise.
96054         * lib/mbswidth.c: Likewise.
96055         * lib/mkdtemp.c: Likewise.
96056         * lib/pipe.c: Likewise.
96057         * lib/printf-args.c: Likewise.
96058         * lib/printf-parse.c: Likewise.
96059         * lib/progname.c: Likewise.
96060         * lib/progreloc.c: Likewise.
96061         * lib/readlink.c: Likewise.
96062         * lib/sh-quote.c: Likewise.
96063         * lib/stpcpy.c: Likewise.
96064         * lib/stpncpy.c: Likewise.
96065         * lib/strcasecmp.c: Likewise.
96066         * lib/strcasestr.c: Likewise.
96067         * lib/strcspn.c: Likewise.
96068         * lib/striconv.c: Likewise.
96069         * lib/strncasecmp.c: Likewise.
96070         * lib/strnlen1.c: Likewise.
96071         * lib/strstr.c: Likewise.
96072         * lib/strtok_r.c: Likewise.
96073         * lib/tls.c: Likewise.
96074         * lib/tmpdir.c: Likewise.
96075         * lib/unicodeio.c: Likewise.
96076         * lib/unsetenv.c: Likewise.
96077         * lib/vasnprintf.c: Likewise.
96078         * lib/vasprintf.c: Likewise.
96079         * lib/wait-process.c: Likewise.
96080         * lib/xallocsa.c: Likewise.
96081         * lib/xsetenv.c: Likewise.
96082         * lib/xstriconv.c: Likewise.
96084 2006-09-13  Simon Josefsson  <jas@extundo.com>
96086         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
96087         that internally, suggested by Ralf Wildenhues
96088         <Ralf.Wildenhues@gmx.de>.
96090 2006-09-13  Simon Josefsson  <jas@extundo.com>
96092         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
96093         @LIBOBJS@.
96094         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
96096 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
96098         * lib/_fpending.c: Include <config.h> unconditionally, since we no
96099         longer worry about uses that don't define HAVE_CONFIG_H.
96100         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
96101         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
96102         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
96103         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
96104         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
96105         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
96106         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
96107         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
96108         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
96109         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
96110         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
96111         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
96112         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
96113         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
96114         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
96115         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
96116         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
96117         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
96118         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
96119         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
96120         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
96121         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
96122         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
96123         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
96124         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
96125         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
96126         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
96127         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
96128         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
96129         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
96130         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
96131         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
96132         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
96133         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
96134         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
96135         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
96136         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
96137         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
96138         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
96139         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
96140         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
96141         Likewise.
96143 2006-09-13  Eric Blake  <ebb9@byu.net>
96145         * lib/getopt.c: Fix typo in last commit.
96147 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
96149         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
96150         dgettext.
96152 2006-09-12  Jim Meyering  <jim@meyering.net>
96154         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
96155         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
96156         Reported by Nelson H. F. Beebe.
96158 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
96160         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
96161         program_invocation_name and program_invocation_short_name are
96162         initialized.
96163         * lib/argp-namefrob.h: Move declarations of program_invocation_name
96164         and program_invocation_short_name to argp.h, so they are visible
96165         to user programs.
96166         * lib/argp.h: Likewise
96168 2006-09-10  Bruno Haible  <bruno@clisp.org>
96170         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
96171         m4/inttypes_h.m4, m4/uintmax_t.m4.
96173 2006-09-10  Bruno Haible  <bruno@clisp.org>
96175         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
96176         gl_AC_TYPE_UINTMAX_T.
96178 2006-09-10  Bruno Haible  <bruno@clisp.org>
96180         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
96182 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
96184         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
96185         convention.  Text proposed by Bruno Haible.
96186         (struct argp_option): Document the use of N_() wrappers.
96188         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
96189         '\v', and translate the two parts separately, instead of feeding
96190         the whole string to gettext.  This allows to exclude
96191         '\v' from the strings visible to the translator by writing doc
96192         strings as N_("..") "\v" N_("..").
96194 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
96196         * config/srclist.txt: Undo latest change; the bug was fixed.
96198 2006-09-09  Bruno Haible  <bruno@clisp.org>
96200         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
96201         assignments if building a library without libtool.
96202         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
96203         in func_emit_lib_Makefile_am.
96204         (func_import): When building a static library libfoo.a, arrange to
96205         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
96206         (func_create_testdir): Likewise.
96207         * modules/gc (configure.ac, Makefile.am): If building statically,
96208         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
96209         * modules/iconvme (configure.ac, Makefile.am): Likewise.
96210         * modules/striconv (configure.ac, Makefile.am): Likewise.
96211         Based on a suggestion by Ralf Wildenhues.
96213 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
96215         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
96216         Check for unistd.h too, since Autoconf doesn't assume POSIX.
96217         Also:
96219         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
96220         Add year_2050_test to catch glibc bug 2821
96221         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
96223         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
96224         Prefer #ifdef to #if.
96226         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
96227         Return from 'main' instead of calling 'exit'.
96229 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
96231         * lib/mktime.c (guess_time_tm): Fix bug where mktime
96232         returned the maximum time_t value rather than (time_t) -1.
96233         Problem originally reported by William Bardwell
96234         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
96236         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
96237         Moved to here ...
96238         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
96239         ... from here.
96241 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
96243         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
96244         2821 is fixed.
96246 2006-09-08  Jim Meyering  <jim@meyering.net>
96248         Don't make generated files read-only.  That would bother too many
96249         people.  However, do retain the ability to work when targets are
96250         read-only: remove the destination and temporary files before writing
96251         them (when generated via sed or echo), or by using the -f option for
96252         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
96253         * modules/alloca-opt, modules/argz, modules/arpa_inet:
96254         * modules/byteswap, modules/configmake, modules/fcntl:
96255         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
96256         * modules/localcharset, modules/netinet_in, modules/poll:
96257         * modules/stdbool, modules/stdint, modules/sys_select:
96258         * modules/sys_socket, modules/sys_stat, modules/sysexits:
96260 2006-09-08  Jim Meyering  <jim@meyering.net>
96262         Avoid new build failure on FreeBSD 6.0.
96263         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
96264         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
96265         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
96267 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96269         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
96271 2006-09-07  Jim Meyering  <jim@meyering.net>
96273         Fix global typo in last change: use chmod u-w, not chmod u-x.
96274         Spotted by Paul Eggert and Bruce Korb.
96275         * modules/alloca-opt, modules/argz, modules/arpa_inet:
96276         * modules/byteswap, modules/configmake, modules/fcntl:
96277         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
96278         * modules/localcharset, modules/netinet_in, modules/poll:
96279         * modules/stdbool, modules/stdint, modules/sys_select:
96280         * modules/sys_socket, modules/sys_stat, modules/sysexits:
96282 2006-09-06  Jim Meyering  <jim@meyering.net>
96284         Make generated files be read-only.
96285         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
96286         Ensure that each generated file is now read-only.
96287         * modules/argz: Likewise.
96288         * modules/arpa_inet: Likewise.
96289         * modules/byteswap: Likewise.
96290         * modules/configmake: Likewise.
96291         * modules/fcntl: Likewise.
96292         * modules/fnmatch: Likewise.
96293         * modules/getopt: Likewise.
96294         * modules/glob: Likewise.
96295         * modules/inttypes: Likewise.
96296         * modules/netinet_in: Likewise.
96297         * modules/poll: Likewise.
96298         * modules/stdbool: Likewise.
96299         * modules/stdint: Likewise.
96300         * modules/sys_select: Likewise.
96301         * modules/sys_socket: Likewise.
96302         * modules/sys_stat: Likewise.
96303         * modules/sysexits: Likewise.
96304         * modules/localcharset: Same as above, but continue using temporary
96305         file named "t-$@" (why different?) rather than the "$@-t" used
96306         everywhere else.
96308         * modules/sysexits (Makefile.am): Replace literal occurrences
96309         of "sysexit.h" more readable, and more consistent, "$@".
96311 2006-09-06  Bruno Haible  <bruno@clisp.org>
96313         * modules/striconv: New file.
96314         * modules/xstriconv: New file.
96315         * MODULES.html.sh (Internationalization functions): Add striconv,
96316         xstriconv.
96318 2006-09-06  Bruno Haible  <bruno@clisp.org>
96320         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
96321         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
96322         not using libtool correctly.
96324 2006-09-06  Bruno Haible  <bruno@clisp.org>
96326         * lib/striconv.h: New file.
96327         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
96328         iconvstring.c.
96329         * lib/xstriconv.h: New file.
96330         * lib/xstriconv.c: New file.
96332 2006-09-06  Bruno Haible  <bruno@clisp.org>
96334         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
96335         lib_..._LDFLAGS.
96337 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96339         * lib/argz_.h: Sync from Libtool.
96341         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
96342                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
96344         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
96346 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
96348         * modules/trim: New file.
96350 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
96352         * lib/trim.h: New file.
96353         * lib/trim.c: New file.
96355 2006-09-05  Bruno Haible  <bruno@clisp.org>
96357         * MODULES.html.sh (String handling): Add trim.
96359 2006-09-04  Karl Berry  <karl@gnu.org>
96361         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
96362         until next release.
96364 2006-09-03  Bruno Haible  <bruno@clisp.org>
96366         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
96367         correctly.
96369 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
96371         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
96372         not gl_GETLOADAVG.  Omit unneeded semicolons.
96373         Problems reported by Ralf Wildenhues in
96374         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
96375         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
96376         at the end, which is the usual gnulib style.
96378         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
96379         of doing all the work ourselves.
96380         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
96381         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
96383 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
96385         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
96386         Problem reported by Ralf Wildenhues in
96387         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
96389         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
96390         HAVE_STRUCT_STATFS_F_FSTYPENAME.
96392 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
96394         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
96395         yesterday's patch by changing test -n to test -z.
96397 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
96399         * modules/getloadavg (Files): Add m4/getloadavg.m4.
96400         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
96401         the former is now obsolescent.
96403         * modules/chdir-long (Depends-on): Add fcntl.
96405 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
96407         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
96408         obsolescent, and programs should use gnulib instead.
96409         * m4/getloadavg.m4: New file, with contents taken from Autoconf
96410         but with prefixes changed.
96412 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
96414         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
96415         or stdbool.h, because they might not exist while configuring.
96417         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
96418         Don't include unistd.h or limits.h; not needed, since chdir-long.h
96419         does that for us.
96420         (O_DIRECTORY): Remove.
96422 2006-08-31  Eric Blake  <ebb9@byu.net>
96424         * gnulib-tool: Don't let emacs change spaces to TAB.
96426 2006-08-31  Bruno Haible  <bruno@clisp.org>
96428         * gnulib-tool: When calling func_import more than once, do it in a
96429         subshell.
96430         Reported by Eric Blake <ebb9@byu.net>.
96432 2006-08-31  Bruno Haible  <bruno@clisp.org>
96434         * gnulib-tool (nl): Remove variable.
96435         (sed_transform_lib_file): Use more robust test for config-h module.
96436         (func_import): Fix typo in 2006-08-25 patch.
96438 2006-08-31  Bruno Haible  <bruno@clisp.org>
96440         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
96441         specified, augment Makefile.am variables instead of assigning them.
96443 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
96445         Work around a bug in both the Linux and SunOS 64-bit kernels:
96446         nanosleep mishandles sleeps for longer than 2**31 seconds.
96447         Problem reported by Frank v Waveren in
96448         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
96449         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
96450         Check for nanosleep bug.
96451         (LIB_NANOSLEEP): Append clock_gettime library if needed.
96453 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
96455         Work around a bug in both the Linux and SunOS 64-bit kernels:
96456         nanosleep mishandles sleeps for longer than 2**31 seconds.
96457         Problem reported by Frank v Waveren in
96458         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
96459         * lib/nanosleep.c (BILLION): New constant.
96460         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
96461         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
96462         implementation.
96464 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
96466         * modules/nanosleep (Depends-on): Add gettime.
96468 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
96469         and Simon Josefsson  <jas@extundo.com>
96470         and Oskar Liljeblad  <oskar@osk.mine.nu>
96472         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
96473         * gnulib-tool (func_import): New license type 'unmodifiable license
96474         text'.
96475         * modules/fdl: Use it.  Longer description.
96476         * module/gpl, module/lgpl: New files.
96478 2006-08-30  Jim Meyering  <jim@meyering.net>
96480         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
96481         shadowing the parameter.
96483 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96485         Sync from Libtool:
96487         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96489         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
96490         sharing with gnulib.  Report by Eric Blake.
96492 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
96494         * modules/isapipe: New file.
96495         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
96497 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
96499         * modules/configmake (Makefile.am): Add a comment, and omit
96500         the CONFIGMAKE_ prefix from generated macro names.  Suggested
96501         by Bruno Haible.
96503 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
96505         * m4/isapipe.m4: New file.
96507 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
96509         * lib/isapipe.c, lib/isapipe.h: New files.
96511 2006-08-29  Jim Meyering  <jim@meyering.net>
96513         * modules/configmake (Makefile.am): Make configmake.h depend on
96514         Makefile.  Otherwise, a stale configmake.h could hang around.
96516 2006-08-29  Eric Blake  <ebb9@byu.net>
96518         * lib/error.c (error_at_line, print_errno_message): Match libc, after
96519         resolution of upstream bug 3044.
96521 2006-08-29  Bruno Haible  <bruno@clisp.org>
96523         * modules/localcharset (Depends-on): Add configmake.
96524         (Makefile.am): Remove setting of LIBDIR through DEFS.
96526 2006-08-29  Bruno Haible  <bruno@clisp.org>
96528         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
96529         defined.
96531 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
96533         * modules/fcntl: New file.
96534         * modules/chdir-safer (Depends-on): Add fcntl.
96535         * modules/fts: Likewise.
96536         * modules/mkdir-p: Likewise.
96538         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
96539         This undoes the most recent change, since we're now addressing the
96540         problem in a different way.
96542         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
96543         into output, since the output might be called Makefile.am even
96544         if $makefile_name is something different.
96545         (func_import): Use $makefile_am rather than
96546         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
96547         empty.
96549         * modules/inttypes (Files): Add m4/inttypes-h.m4.
96551 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
96553         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
96554         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
96555         recent change to stdint.m4, since we're now addressing the problem in a
96556         different way.
96558 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
96560         * m4/fcntl_h.m4: New file.
96562 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
96564         * lib/fcntl_.h: New file.
96565         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
96566         the fcntl module.
96567         * lib/dirchownmod.c: Likewise.
96568         * lib/fts.c: Likewise.
96570         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
96571         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
96572         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
96573         just before including <inttypes.h>, to avoid circular inclusion.
96575 2006-08-28  Jim Meyering  <jim@meyering.net>
96577         * doc/visibility.texi: Actually read and correct the grammar of the
96578         sentence affected by yesterday's change.
96580 2006-08-28  Eric Blake  <ebb9@byu.net>
96582         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
96583         needs wrapper.
96585 2006-08-28  Eric Blake  <ebb9@byu.net>
96587         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
96589 2006-08-28  Eric Blake  <ebb9@byu.net>
96591         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
96593 2006-08-28  Bruno Haible  <bruno@clisp.org>
96595         * modules/c-strstr: New file, from GNU gettext.
96596         * MODULES.html.sh (String handling): Add c-strstr.
96598 2006-08-28  Bruno Haible  <bruno@clisp.org>
96600         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
96601         macros.
96602         Reported by Eric Blake.
96604 2006-08-28  Bruno Haible  <bruno@clisp.org>
96606         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
96607         (VASNPRINTF): Return a string of length > INT_MAX without failing.
96608         * lib/vasprintf.c: Include errno.h, limits.h.
96609         (EOVERFLOW): New fallback definition.
96610         (vasprintf): Test here whether the string length is > INT_MAX.
96611         * lib/vsnprintf.c: Include errno.h, limits.h.
96612         (EOVERFLOW): New fallback definition.
96613         (vsnprintf): Fix bug when generated string was too long for the buffer.
96614         Test here whether the string length is > INT_MAX.
96616 2006-08-28  Bruno Haible  <bruno@clisp.org>
96618         * lib/inttypes_.h (SCNX*): Remove definitions.
96619         Reported by Eric Blake.
96621 2006-08-28  Bruno Haible  <bruno@clisp.org>
96623         * lib/c-strstr.h: New file, from GNU gettext.
96624         * lib/c-strstr.c: New file, from GNU gettext.
96626 2006-08-28  Bruno Haible  <bruno@clisp.org>
96628         * gnulib-tool: Reorder some statements.
96630 2006-08-28  Bruno Haible  <bruno@clisp.org>
96632         * gnulib-tool: New option --makefile-name.
96633         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
96634         $makefile_name.
96635         (func_import): Write $makefile_name to the cache file, and read it from
96636         there unless explicitly specified. Use $makefile_name as file name
96637         instead of Makefile.am. Adjust the recommendations accordingly.
96639 2006-08-28  Bruno Haible  <bruno@clisp.org>
96641         * gnulib-tool (func_verify_module): Check against misapplying patch.
96643 2006-08-28  Bruno Haible  <bruno@clisp.org>
96645         * gnulib-tool (func_relativize, func_relconcat): New functions.
96646         Give an error if --local-dir is given with --update.
96647         Remove trailing slashes from $local_gnulib_dir.
96648         (func_import): Store the relativized $local_gnulib_dir in
96649         gnulib-cache.m4, and read it from there if not specified explicitly.
96651 2006-08-28  Bruno Haible  <bruno@clisp.org>
96653         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
96654         is the current directory. Respect also $local_gnulib_dir.
96656 2006-08-28  Bruno Haible  <bruno@clisp.org>
96657             Simon Josefsson  <jas@extundo.com>
96659         BeOS portability.
96660         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
96662 2006-08-27  Jim Meyering  <jim@meyering.net>
96664         * doc/visibility.texi: Remove duplicate word: "pointer".
96666 2006-08-26  Bruno Haible  <bruno@clisp.org>
96668         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
96669         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
96670         (Makefile.am): Create inttypes.h from inttypes_.h.
96671         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
96673         * modules/imaxabs: New file.
96675         * modules/imaxdiv: New file.
96677 2006-08-26  Bruno Haible  <bruno@clisp.org>
96679         * m4/inttypes.m4: New file.
96680         * m4/_inttypes_h.m4: Remove file.
96681         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
96682         PRI_MACROS_BROKEN.
96683         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
96685         * m4/imaxabs.m4: New file.
96687         * m4/imaxdiv.m4: New file.
96689 2006-08-26  Bruno Haible  <bruno@clisp.org>
96691         * lib/inttypes_.h: New file.
96692         * lib/inttypes.h: Remove file.
96693         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
96695         * lib/imaxabs.c: New file.
96697         * lib/imaxdiv.c: New file.
96699 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
96701         New config-h module, so that "make" output needn't be cluttered
96702         by -DHAVE_CONFIG_H.
96703         * MODULES.html.sh (Support for building libraries and executables):
96704         Add config-h.
96705         * modules/config-h: New file.
96706         * gnulib-tool (nl, sed_transform_lib_file): New vars.
96707         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
96708         the config-h module is used.
96710         New configmake module, so that "make" output needn't be cluttered
96711         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
96712         * MODULES.html.sh (Support for building libraries and executables):
96713         Add configmake.
96714         * modules/configmake: New file.
96716 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
96718         * m4/config-h.m4: New file.
96720 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
96722         * config/srclist.txt: Add elisp-comp.
96724 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
96726         * MODULES.html.sh (Support for building libraries and executables):
96727         Add elisp-comp.
96728         * build-aux/elisp-comp: New file.
96729         * modules/elisp-comp: New file.
96731 2006-08-24  Bruno Haible  <bruno@clisp.org>
96733         * gnulib-tool (func_create_testdir): Use non-default values of
96734         sourcebase and m4base.
96736 2006-08-24  Bruno Haible  <bruno@clisp.org>
96738         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
96739         HTML structure.
96741 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
96743         * modules/openat (Depends-on): Add lchown.
96745 2006-08-23  Bruno Haible  <bruno@clisp.org>
96747         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
96748         of gl_LOCK_EARLY instead of gl_LOCK.
96750 2006-08-23  Bruno Haible  <bruno@clisp.org>
96752         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
96753         on OSF/1 to no.
96754         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
96756 2006-08-23  Bruno Haible  <bruno@clisp.org>
96758         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
96759         as unusable.
96761         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
96762         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
96763         (gl_LOCK): New macro.
96765 2006-08-22  Simon Josefsson  <jas@extundo.com>
96767         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
96768         to md5 module.
96770 2006-08-22  Simon Josefsson  <jas@extundo.com>
96772         * MODULES.html.sh: Add "Support for maintaining and release
96773         projects".
96775         * build-aux/gnupload: New file, from coreutils.
96777 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
96779         Avoid the need for AC_LIBSOURCES in m4 macros.
96780         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
96781         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
96782         * modules/check-version (EXTRA_DIST): Add check-version.h.
96783         * modules/crc (EXTRA_DIST): Add crc.h.
96784         * modules/des (EXTRA_DIST): Add des.h.
96785         * modules/gc (EXTRA_DIST): Add gc.h.
96786         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
96787         * modules/getline (EXTRA_DIST): Add getline.h.
96788         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
96789         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
96790         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
96791         * modules/md2 (EXTRA_DIST): Add md2.h.
96792         * modules/md4 (EXTRA_DIST): Add md4.h.
96793         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
96794         * modules/read-file (EXTRA_DIST): Add read-file.h.
96795         * modules/readline (EXTRA_DIST): Add readline.h.
96796         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
96797         rijndael-api-fst.h.
96799 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
96801         * m4/rijndael.m4 (gl_ARCFOUR):
96802         * m4/arctwo.m4 (gl_ARCTWO):
96803         * m4/check-version.m4 (gl_CHECK_VERSION):
96804         * m4/crc.m4 (gl_CRC):
96805         * m4/des.m4 (gl_DES):
96806         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
96807         * m4/gc.m4 (gl_GC):
96808         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
96809         * m4/getline.m4 (gl_FUNC_GETLINE):
96810         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
96811         * m4/hmac-md5.m4 (gl_HMAC_MD5):
96812         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
96813         * m4/md2.m4 (gl_MD2):
96814         * m4/md4.m4 (gl_MD4):
96815         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
96816         * m4/read-file.m4 (gl_FUNC_READ_FILE):
96817         * m4/readline.m4 (gl_FUNC_READLINE):
96818         * m4/rijndael.m4 (gl_RIJNDAEL):
96819         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
96820         to get the necessary .h files and whatnot.
96822 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
96824         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
96825         gnulib rather than the other way around.
96826         * config/srclistvars.sh (COREUTILS): Remove.
96828 2006-08-22  Jim Meyering  <jim@meyering.net>
96830         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
96832         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
96834 2006-08-22  Eric Blake  <ebb9@byu.net>
96836         * modules/regexprops-generic: New file.
96837         * MODULES.html.sh (Support for building documentation): List it.
96839 2006-08-22  Eric Blake  <ebb9@byu.net>
96841         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
96842         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
96843         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
96844         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
96846 2006-08-22  Bruno Haible  <bruno@clisp.org>
96848         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
96849         and lib_LTLIBRARIES like the other lib_* variables.
96851 2006-08-22  Bruno Haible  <bruno@clisp.org>
96853         * build-aux/x-to-1.in: New file, from GNU gettext.
96855 2006-08-22  Bruno Haible  <bruno@clisp.org>
96857         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
96858         <utmpx.h> exists.
96860 2006-08-22  Bruno Haible  <bruno@clisp.org>
96862         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
96863         <utmpx.h> exists.
96865 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
96867         BeOS portability.
96868         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
96869         exist.
96870         Problem reported by Bruno Haible.
96872 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
96874         Avoid the need for AC_LIBSOURCES in m4 macros.
96875         * modules/acl (EXTRA_DIST): Add acl.h.
96876         * modules/argmatch (Files): Add m4/argmatch.m4.
96877         (configure.ac): Add gl_ARGMATCH.
96878         (EXTRA_DIST): Renamed from lib_SOURCES, for
96879         consistency with the other modules.  Remove argmatch.c.
96880         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
96881         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
96882         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
96883         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
96884         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
96885         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
96886         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
96887         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
96888         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
96889         * modules/closeout (EXTRA_DIST): Add closeout.h.
96890         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
96891         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
96892         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
96893         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
96894         dirname.h; remove basename.c and stripslash.c.
96895         * modules/exclude (EXTRA_DIST): Add exclude.h.
96896         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
96897         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
96898         * modules/file-type (EXTRA_DIST): Add file-type.h.
96899         * modules/filemode (EXTRA_DIST): Add filemode.h.
96900         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
96901         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
96902         * modules/fpending (EXTRA_DIST): Add __fpending.h.
96903         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
96904         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
96905         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
96906         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
96907         * modules/getdate (EXTRA_DIST): Add getdate.c.
96908         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
96909         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
96910         * modules/getpass (EXTRA_DIST): Add getpass.h.
96911         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
96912         * modules/group-member (EXTRA_DIST): Add group-member.h.
96913         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
96914         * modules/hash (EXTRA_DIST): Add hash.h.
96915         * modules/human (EXTRA_DIST): Add human.h.
96916         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
96917         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
96918         * modules/lchown (EXTRA_DIST): Add lchown.h.
96919         * modules/long-options (EXTRA_DIST): Add long-options.h.
96920         * modules/lstat (EXTRA_DIST): Add lstat.h.
96921         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
96922         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
96923         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
96924         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
96925         * modules/memxor (EXTRA_DIST): Add memxor.h.
96926         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
96927         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
96928         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
96929         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
96930         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
96931         * modules/physmem (EXTRA_DIST): Add physmem.h.
96932         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
96933         * modules/posixver (EXTRA_DIST): Add posixver.h.
96934         * modules/quote (EXTRA_DIST): Add quote.h.
96935         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
96936         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
96937         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
96938         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
96939         regex_internal.h regexec.c.
96940         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
96941         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
96942         * modules/same (EXTRA_DIST): Add same.h.
96943         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
96944         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
96945         * modules/savedir (EXTRA_DIST): Add savedir.h.
96946         * modules/sha1 (EXTRA_DIST): Add sha1.h.
96947         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
96948         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
96949         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
96950         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
96951         * modules/strdup (EXTRA_DIST): Add strdup.h.
96952         * modules/strftime (EXTRA_DIST): Add strftime.h.
96953         * modules/strndup (EXTRA_DIST): Add strndup.h.
96954         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
96955         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
96956         * modules/time_r (EXTRA_DIST): Add time_r.h.
96957         * modules/timespec (EXTRA_DIST): Add timespec.h.
96958         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
96959         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
96960         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
96961         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
96962         * modules/userspec (EXTRA_DIST): Add userspec.h.
96963         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
96964         * modules/utimens (EXTRA_DIST): Add utimens.h.
96965         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
96966         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
96967         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
96968         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
96969         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
96970         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
96971         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
96972         * modules/yesno (EXTRA_DIST): Add yesno.h.
96974 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
96976         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
96978         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
96979         * m4/dev-ino.m4, same-inode.m4: Remove.
96981         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
96982         * m4/acl.m4 (AC_FUNC_ACL):
96983         * m4/backupfile.m4 (gl_BACKUPFILE):
96984         * m4/c-strtod.m4 (gl_C99_STRTOLD):
96985         * m4/canon-host.m4 (gl_CANON_HOST):
96986         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
96987         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
96988         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
96989         * m4/cloexec.m4 (gl_CLOEXEC):
96990         * m4/close-stream.m4 (gl_CLOSE_STREAM):
96991         * m4/closeout.m4 (gl_CLOSEOUT):
96992         * m4/dirfd.m4 (gl_FUNC_DIRFD):
96993         * m4/dirname.m4 (gl_DIRNAME):
96994         * m4/exclude.m4 (gl_EXCLUDE):
96995         * m4/exitfail.m4 (gl_EXITFAIL):
96996         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
96997         * m4/file-type.m4 (gl_FILE_TYPE):
96998         * m4/filemode.m4 (gl_FILEMODE):
96999         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
97000         * m4/fpending.m4 (gl_FUNC_FPENDING):
97001         * m4/fprintftime.m4 (gl_FPRINTFTIME):
97002         * m4/fts.m4 (gl_FUNC_FTS):
97003         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
97004         * m4/getdate.m4 (gl_GETDATE):
97005         * m4/gethrxtime.m4 (gl_GETHRXTIME):
97006         * m4/getpagesize.m4 (gl_GETPAGESIZE):
97007         * m4/getpass.m4 (gl_FUNC_GETPASS):
97008         * m4/gettime.m4 (gl_GETTIME):
97009         * m4/getugroups.m4 (gl_GETUGROUPS):
97010         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
97011         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
97012         * m4/hard-locale.m4 (gl_HARD_LOCALE):
97013         * m4/hash.m4 (gl_HASH):
97014         * m4/idcache.m4 (gl_IDCACHE):
97015         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
97016         * m4/lchown.m4 (gl_FUNC_LCHOWN):
97017         * m4/long-options.m4 (gl_LONG_OPTIONS):
97018         * m4/lstat.m4 (gl_FUNC_LSTAT):
97019         * m4/md5.m4 (gl_MD5):
97020         * m4/memcasecmp.m4 (gl_MEMCASECMP):
97021         * m4/memcoll.m4 (gl_MEMCOLL):
97022         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
97023         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
97024         * m4/memxor.m4 (gl_MEMXOR):
97025         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
97026         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
97027         * m4/modechange.m4 (gl_MODECHANGE):
97028         * m4/mountlist.m4 (gl_MOUNTLIST):
97029         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
97030         * m4/openat.m4 (gl_FUNC_OPENAT):
97031         * m4/pathmax.m4 (gl_PATHMAX):
97032         * m4/physmem.m4 (gl_PHYSMEM):
97033         * m4/posixtm.m4 (gl_POSIXTM):
97034         * m4/posixver.m4 (gl_POSIXVER):
97035         * m4/quote.m4 (gl_QUOTE):
97036         * m4/quotearg.m4 (gl_QUOTEARG):
97037         * m4/readtokens.m4 (gl_READTOKENS):
97038         * m4/readutmp.m4 (gl_READUTMP):
97039         * m4/regex.m4 (gl_REGEX):
97040         * m4/safe-read.m4 (gl_SAFE_READ):
97041         * m4/safe-write.m4 (gl_SAFE_WRITE):
97042         * m4/same.m4 (gl_SAME):
97043         * m4/save-cwd.m4 (gl_SAVE_CWD):
97044         * m4/savedir.m4 (gl_SAVEDIR):
97045         * m4/settime.m4 (gl_SETTIME):
97046         * m4/sha1.m4 (gl_SHA1):
97047         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
97048         * m4/stat-macros.m4 (gl_STAT_MACROS):
97049         * m4/stat-time.m4 (gl_STAT_TIME):
97050         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
97051         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
97052         * m4/strdup.m4 (gl_FUNC_STRDUP):
97053         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
97054         * m4/strndup.m4 (gl_FUNC_STRNDUP):
97055         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
97056         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
97057         * m4/time_r.m4 (gl_TIME_R):
97058         * m4/timespec.m4 (gl_TIMESPEC):
97059         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
97060         * m4/unlinkdir.m4 (gl_UNLINKDIR):
97061         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
97062         * m4/userspec.m4 (gl_USERSPEC):
97063         * m4/utimecmp.m4 (gl_UTIMECMP):
97064         * m4/utimens.m4 (gl_UTIMENS):
97065         * m4/xalloc.m4 (gl_XALLOC):
97066         * m4/xgetcwd.m4 (gl_XGETCWD):
97067         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
97068         * m4/xreadlink.m4 (gl_XREADLINK):
97069         * m4/xstrtod.m4 (gl_XSTRTOD):
97070         * m4/yesno.m4 (gl_YESNO):
97071         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
97072         to get the necessary .h files and whatnot.
97074 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
97075             Bruno Haible  <bruno@clisp.org>
97077         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
97078         /bin/sh understanding of '!' conditional negation.
97080 2006-08-21  Jim Meyering  <jim@meyering.net>
97082         * modules/openat (Depends-on): Really alphabetize.
97084         * modules/acl (Depends-on): Add error and quote.
97086         * check-module (find_included_lib_files): Add at-func.c to the
97087         ok-to-include-more-than-once white list.
97089         * modules/openat (Depends-on): Add lstat.  Alphabetize.
97091 2006-08-21  Bruno Haible  <bruno@clisp.org>
97093         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
97094         Emit a pkgdata_DATA variable only if some snippets add contents to it.
97095         Reported by Martin Lambers <marlam@marlam.de>.
97097 2006-08-21  Bruno Haible  <bruno@clisp.org>
97099         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
97100         specify an installation location, don't emit a noinst_LIBRARIES or
97101         noinst_LTLIBRARIES assignment.
97103 2006-08-21  Bruno Haible  <bruno@clisp.org>
97105         BeOS portability.
97106         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
97107         BeOS has mbrtowc() but no <wctype.h>.
97109 2006-08-21  Bruno Haible  <bruno@clisp.org>
97111         BeOS portability.
97112         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
97113         exist.
97115 2006-08-21  Bruno Haible  <bruno@clisp.org>
97117         BeOS portability.
97118         * lib/mbchar.h: Include <wctype.h> only if it exists.
97120 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
97122         Remove files that are no longer needed by their respective modules.
97123         * m4/obstack.m4: Remove.
97124         * m4/strerror_r.m4: Remove.
97125         * m4/uint32_t.m4: Remove.
97126         * m4/uintptr_t.m4: Remove.
97127         * m4/ullong_max.m4: Remove.
97128         * m4/xstrtoimax.m4: Remove.
97129         * m4/xstrtoumax.m4: Remove.
97131         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
97132         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
97133         dependencies now capture this.
97135         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
97136         Do not use AC_LIBSOURCES, since gnulib modules now do this.
97137         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
97138         * m4/human.m4 (gl_HUMAN): Likewise.
97139         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
97140         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
97142         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
97144         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
97145         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
97146         stdint.
97147         * m4/human.m4 (gl_HUMAN): Likewise.
97148         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
97149         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
97150         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
97151         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
97152         * m4/xstrtol (gl_XSTRTOL): Likewise.
97154         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
97155         AC_TYPE_LONG_LONG_INT.
97156         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
97157         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
97158         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
97159         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
97161         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
97162         on stdbool.
97164         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
97165         (gl_PREREQ_XSTRTOUL): Remove.
97167         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
97169         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
97170         mode.
97172 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
97174         Add and change modules to make it easier for coreutils to use
97175         gnulib-tool.
97176         * modules/backupfile (Files): Remove m4/d-ino.m4.
97177         (Depends-on): Add d-ino.
97178         * modules/cycle-check (Depends-on): Add stdint.
97179         (lib_SOURCES): Add cycle-check.h.
97180         * modules/d-ino: New module.
97181         * modules/d-type: New module.
97182         * modules/error (Files): Remove m4/strerror_r.m4.
97183         * modules/filemode (Files): Add m4/st_dm_mode.m4.
97184         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
97185         m4/inttypes_h.m4, m4/uintmax_t.m4.
97186         (Depends-on): Add stdint.
97187         (lib_SOURCES): Add fsusage.h.
97188         * modules/getcwd (Files): Remove d-ino.m4.
97189         (Depends-on): Add d-ino.
97190         * modules/getndelim2 (Depends-on): Add stdint.
97191         * modules/glob (Files): Remove m4/d-type.m4.
97192         (Depends-on): Add d-type.
97193         * modules/host-os: New module.
97194         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
97195         m4/inttypes_h.m4, m4/uintmax_t.m4.
97196         * Depends-on: Add stdint.
97197         (lib_SOURCES): Add human.h.
97198         * modules/inttostr (Files): Remove m4/intmax_t.m4,
97199         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
97200         m4/uintmax_t.m4, m4/ulonglong.m4.
97201         (Depends-on): Add stdint.
97202         (EXTRA_DIST): Add inttostr.h.
97203         * modules/lchmod: New module.
97204         * modules/link-follow: New module.
97205         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
97206         (Depends-on): Add lchmod.
97207         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
97208         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
97209         (Depends-on): Add stdint.
97210         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
97211         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
97212         (Depends-on): Add stdint.
97213         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
97214         * modules/perl: New module.
97215         * modules/regex (Depends-on): Add stdint.
97216         * modules/rmdir-errno: New module.
97217         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
97218         m4/intmax_t.m4.
97219         (Depends-on): Add stdint.
97220         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
97221         m4/uintmax_t.m4.
97222         (Depends-on): Add stdint.
97223         * modules/unlink-busy: New module.
97224         * modules/utimecmp (Depends-on): Add stdint.
97225         * modules/uptime: New module.
97226         * modules/winsz-ioctl: New module.
97227         * modules/winsz-termios: New module.
97228         * modules/xnanosleep (Depends-on): Add nanosleep.
97229         * modules/ullong_max: Remove.
97230         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
97231         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
97232         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
97233         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
97234         (Depends-on): Add inttypes.
97235         (lib_SOURCES): Add xstrtol.h.
97236         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
97237         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
97238         * MODULES.html.sh: Move 'assert' into the assert section.
97239         Move 'dummy' into the linking section.
97240         Remove ullong_max.
97241         Add section for compatibility checks for POSIX:2001 functions,
97242         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
97243         winsz-ioctl, and winsz-termios into it.
97244         Add lchmod.
97245         Add top-level Misc section and put host-os, perl, and uptime
97246         into it.
97248 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
97250         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
97251         now assume the stdint module.  Do not include inttypes.h.
97252         * lib/fsusage.h: Likewise.
97253         * lib/getndelim2.c: Likewise.
97254         * lib/human.h: Likewise.
97255         * lib/inttostr.h: Likewise.
97256         * lib/obstack.c: Likewise.
97257         * lib/regex_internal.h: Likewise.
97258         * lib/tempname.c: Likewise.
97259         * lib/utimecmp.c: Likewise.
97260         * lib/xstrtol.h: Likewise.
97262         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
97264         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
97265         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
97266         * lib/xtime.h: Likewise.
97268 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
97270         * modules/openat (Files): Add lib/fchmodat.c.
97271         Fixes problem reported by Jay Youngman.
97273 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
97275         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
97276         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
97278 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
97279             Bruno Haible  <bruno@clisp.org>
97281         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
97282         and is a script that invokes bison. Tighten the code. Add comments.
97284 2006-08-18  Jim Meyering  <jim@meyering.net>
97286         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
97287         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
97288         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
97289         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
97291 2006-08-18  Bruno Haible  <bruno@clisp.org>
97293         * modules/bison-i18n: New file.
97294         * MODULES.html.sh (Internationalization functions): Add it.
97296 2006-08-18  Bruno Haible  <bruno@clisp.org>
97298         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
97299         sys/statvfs.h. When getmntinfo was found, check its declaration and
97300         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
97302 2006-08-18  Bruno Haible  <bruno@clisp.org>
97304         * m4/bison-i18n.m4: New file, from bison.
97306 2006-08-18  Bruno Haible  <bruno@clisp.org>
97308         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
97309         (ME_DUMMY): Treat "kernfs" as a dummy.
97310         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
97312 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
97314         Update from coreutils.
97316         2006-08-15  Jim Meyering  <jim@meyering.net>
97318         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
97320         2006-01-17  Jim Meyering  <jim@meyering.net>
97322         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
97324         2006-01-11  Jim Meyering  <jim@meyering.net>
97326         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
97327         Check for the lchmod function.
97329 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
97331         Update from coreutils.
97333         * lib/__fpending.h: Add copyright notice.
97334         * lib/fprintftime.h: Likewise.
97335         * lib/savedir.c: Use (C) in copyright notice.
97336         * lib/savedir.h: Likewise.
97338         2006-08-15  Jim Meyering  <jim@meyering.net>
97340         * lib/at-func.c: New file, with the logic of all emulated at-functions.
97341         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
97342         in support of the EXPECTED_ERRNO macro.
97343         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
97344         definitions.  Instead, define the appropriate symbols and include
97345         "at-func.c".
97346         * lib/mkdirat.c (mkdirat): Likewise.
97347         * lib/fchmodat.c (fchmodat): Likewise.
97348         (ENOSYS): Remove definition.
97349         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
97350         it.  Don't include "unistd--.h" -- it wasn't ever used.
97352         2006-01-17  Jim Meyering  <jim@meyering.net>
97354         Rewrite fts.c not to change the current working directory,
97355         by using openat, fstatat, fdopendir, etc..
97357         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
97358         (HAVE_OPENAT_SUPPORT): Define.
97359         [_LIBC] (fchdir): Don't undef or define; no longer used.
97360         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
97361         Now, this `function' always succeeds, and consumes its file descriptor
97362         parameter -- so callers must not close such FDs.  Update callers.
97363         (diropen_fd, opendirat, cwd_advance_fd): New functions.
97364         (diropen): Add parameter, SP.  Adjust all callers.
97365         Implement using diropen_fd, rather than open.
97366         (fts_open): Initialize new member, fts_cwd_fd.
97367         Remove fts_rft-setting code.
97368         (fts_close): Close fts_cwd_fd, if necessary.
97369         (__opendir2): Define in terms of opendir or opendirat,
97370         depending on whether the FST_NOCHDIR flag is set.
97371         (fts_build): Since fts_safe_changedir consumes its FD, and since
97372         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
97373         and close the dup'd file descriptor upon failure.
97374         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
97375         (fts_safe_changedir): Tweak semantics to reflect that this function
97376         now calls cwd_advance_fd and hence consumes its FD argument.
97377         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
97378         [struct FTS] (fts_rft): Remove now-unused member.
97379         [struct FTS] (fts_cycle.state): Improve comment.
97381         * lib/openat.c (openat_needs_fchdir): New function.
97382         * lib/openat.h (openat_needs_fchdir): Declare it.
97384 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
97386         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
97387         Problem and fix reported by Pádraig Brady in
97388         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00099.html>.
97390 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
97392         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
97394 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
97396         * lib/memcoll.c (memcoll): Optimize for the common case where the
97397         arguments are bytewise equal.
97399 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
97401         * doc/regexprops-generic.texi: Add a copyright notice.
97403 2006-08-15  Bruno Haible  <bruno@clisp.org>
97405         * modules/tmpdir (License): Change to LGPL.
97407 2006-08-15  Bruno Haible  <bruno@clisp.org>
97409         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
97410         module.
97412 2006-08-14  Simon Josefsson  <jas@extundo.com>
97414         * config/srclist.txt: Add gnupload.
97416 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
97418         Change copyright notice from LGPL 2 to GPL 2, since that's the
97419         standard form used in the gnulib repository.
97420         * tests/test-lock.c: Likewise.
97421         * tests/test-stdint.c: Likewise.
97422         * tests/test-tls.c: Likewise.
97424         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
97425         prelude-manager.  User shorter URLs for GNU projects, without '?'.
97426         Add copyright notice.
97428         * check-module: Add copyright notice.  Output a copyright
97429         notice if "--version" is specified.
97430         * modules/COPYING: New file.
97431         * tests/test-getaddrinfo.c: Add copyright notice.
97432         * tests/test-verify.c: Likewise.
97434 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
97436         Change copyright notice from LGPL 2 to GPL 2, since that's the
97437         standard form used in the gnulib repository.
97438         * lib/lock.c: LGPL -> GPL.
97439         * lib/lock.h: Likewise.
97440         * lib/strnlen1.c: Likewise.
97441         * lib/strnlen1.h: Likewise.
97442         * lib/tls.c: Likewise.
97443         * lib/tls.h: Likewise.
97444         * lib/tmpdir.c: Likewise.
97446         * lib/TODO: Remove; this belongs only in coreutils.
97448 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
97450         Add copyright notices to long-enough files that lack them, since
97451         otherwise the files aren't clearly free.  Use the same notice that
97452         getdate.texi already uses.
97453         * doc/alloca-opt.texi: Add copyright notice.
97454         * doc/alloca.texi: Likewise.
97455         * doc/ctime.texi: Likewise.
97456         * doc/functions.texi: Likewise.
97457         * doc/gcd.texi: Likewise.
97458         * doc/gnulib-tool.texi: Likewise.
97459         * doc/inet_ntoa.texi: Likewise.
97460         * doc/visibility.texi: Likewise.
97462         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
97463         * doc/quote.texi: Add copyright notice.
97465         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
97466         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
97467         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
97468         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
97469         is now obsolete, and give a pointer to the Sun list.
97470         Add copyright notice.
97472 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
97474         * config/srclistvars.sh: Add copyright notice.
97476 2006-08-14  Eric Blake  <ebb9@byu.net>
97478         Import the following change from libc:
97480         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
97482         Upstream bug 2997.
97483         * lib/misc/error.c: Add space between program name and message if file
97484         name is missing.
97486 2006-08-12  Karl Berry  <karl@gnu.org>
97488         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
97489         remove, these originate in gnulib now.
97491 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97493         * doc/Makefile (standards.info standards.html standards.dvi):
97494         Also depend on make-stds.texi.
97496 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
97498         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
97499         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
97501         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
97502         in wchar_t.  Problem reported by Eric Blake.
97504         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
97505         LEN is smaller than SIZE.  Suggested by Bruno Haible.
97506         Also, help the compiler to keep LEN in a register.
97508 2006-08-11  Eric Blake  <ebb9@byu.net>
97510         * users.txt: Sort.  Add tar.
97512 2006-08-11  Bruno Haible  <bruno@clisp.org>
97514         * users.txt: New file.
97516 2006-08-11  Bruno Haible  <bruno@clisp.org>
97518         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
97519         before <wchar.h>. Needed for OSF/1 and BSD/OS.
97521 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
97523         * modules/snprintf (Depends-on): Remove minmax.
97524         (Maintainer): Add self and Bruno.
97526 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
97528         * lib/.cppi-disable: Add snprintf.h, socket_.h.
97529         * lib/snprintf.c: Include <errno.h> and <limits.h>.
97530         (EOVERFLOW): Define if the system does not.
97531         Do not include "minmax.h"; it wasn't used.
97532         (snprintf): Don't assume size_t promotes to an unsigned type.
97533         Fix bug when generated string was too long for the buffer: the
97534         buffer's contents are supposed to be the initial prefix of the
97535         output.  Don't assume vasnprintf returns EOVERFLOW if the size
97536         exceeds INT_MAX; do the check ourselves.
97538         Import the following changes from libc:
97540         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
97542         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
97543         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
97544         set wc to the byte which couldn't be converted.
97545         (re_string_reconstruct): Don't clear valid_raw_len before calling
97546         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
97547         tip_context using re_string_context_at.
97549         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
97551         * lib/posix/regex.h: g++ still cannot handled [restrict].
97553         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
97555         * lib/posix/regex.h: Remove special handling for VMS.
97557 2006-08-10  Jim Meyering  <jim@meyering.net>
97559         * modules/same-inode: New module.
97560         * modules/dev-ino: New module.
97561         * modules/cycle-check: Depend on these modules, rather than simply
97562         including their .h files.
97563         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
97564         required via m4/cycle-check.m4.
97565         * modules/same: Depend on new same-inode module, rather than
97566         including same-inode.h.
97567         * modules/chdir-safer: New file.
97569         * modules/chown (Depends-on): Add stat-macros.
97571 2006-08-10  Jim Meyering  <jim@meyering.net>
97573         * m4/cycle-check.m4: New file.
97574         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
97575         * m4/dev-ino.m4, m4/same-inode.m4: New files.
97577 2006-08-10  Eric Blake  <ebb9@byu.net>
97579         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
97580         in from original proposal.
97582 2006-08-10  Eric Blake  <ebb9@byu.net>
97583         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
97585         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
97586         namespace.
97588 2006-08-10  Bruno Haible  <bruno@clisp.org>
97590         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
97591         as well.
97593 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
97595         Sync from coreutils.
97597         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
97599         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
97600         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
97602 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
97604         * modules/restrict: Remove; no longer needed now that we assume
97605         Autoconf 2.59 or later.
97606         * MODULES.html.sh: Remove 'restrict'.
97607         * modules/argp (Depends-on): Remove 'restrict'.
97608         * modules/base64 (Depends-on): Likewise.
97609         * modules/gc (Depends-on): Likewise.
97610         * modules/getaddrinfo (Depends-on): Likewise.
97611         * modules/glob (Depends-on): Likewise.
97612         * modules/inet_ntop (Depends-on): Likewise.
97613         * modules/inet_pton (Depends-on): Likewise.
97614         * modules/memxor (Depends-on): Likewise.
97615         * modules/regex (Depends-on): Likewise.
97616         * modules/strtok_r (Depends-on): Likewise.
97617         * modules/time_r (Depends-on): Likewise.
97619 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
97621         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
97622         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
97623         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
97624         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
97625         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
97626         * m4/memxor.m4 (gl_MEMXOR): Likewise.
97627         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
97628         gl_C_RESTRICT replaced by AC_C_RESTRICT.
97630         Merge from coreutils.
97631         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
97632         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
97633         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
97634         * m4/time_r.m4 (gl_TIME_R): Likewise.
97636 2006-08-09  Karl Berry  <karl@gnu.org>
97638         * config/srclist.txt: no more gettext-tools, per Bruno.
97640 2006-08-08  Eric Blake  <ebb9@byu.net>
97642         * modules/verror: New module.
97643         * MODULES.html.sh: Document it.
97645 2006-08-08  Eric Blake  <ebb9@byu.net>
97647         * lib/verror.h, lib/verror.c: New files.
97649 2006-08-08  Eric Blake  <ebb9@byu.net>
97651         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
97652         verror_at_line output complies with GNU Coding Standards even when
97653         file is NULL.
97655 2006-08-07  Bruno Haible  <bruno@clisp.org>
97657         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
97658         versions of AIX.
97659         Reported by Ralf Wildenhues.
97661 2006-08-07  Bruno Haible  <bruno@clisp.org>
97663         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
97664         in an AC_DEFUN. Needed so that the autoconf snippets can use
97665         AC_REQUIRE.
97667 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97669         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
97670         Initialize pkgdata_DATA.
97671         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
97672         overriding it.
97674 2006-08-06  Eric Blake  <ebb9@byu.net>
97676         * lib/error.h: Fold in some upstream changes from glibc.
97677         * lib/error.c: Likewise.
97679 2006-08-04  Bruno Haible  <bruno@clisp.org>
97681         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
97682         Make the mostlyclean-local rule depend on mostlyclean-generic.
97683         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
97685 2006-07-31  Bruno Haible  <bruno@clisp.org>
97687         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
97688         <stdlib.h>, <string.h>.
97690 2006-07-30  Bruno Haible  <bruno@clisp.org>
97692         * modules/readlink (License): Change to LGPL.
97694 2006-07-30  Bruno Haible  <bruno@clisp.org>
97696         * modules/javaversion (Makefile.am): Distribute javaversion.java and
97697         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
97698         set PKGDATADIR to point to it.
97700 2006-07-30  Bruno Haible  <bruno@clisp.org>
97702         * modules/csharpexec (configure.ac): Comment out macro invocation.
97703         * modules/javaexec (configure.ac): Likewise.
97704         * modules/javacomp-script (configure.ac): Likewise.
97706         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
97708 2006-07-30  Bruno Haible  <bruno@clisp.org>
97710         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
97711         linked-list.
97713 2006-07-30  Bruno Haible  <bruno@clisp.org>
97715         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
97717 2006-07-30  Bruno Haible  <bruno@clisp.org>
97719         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
97720         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
97721         get removed.
97723 2006-07-29  Bruno Haible  <bruno@clisp.org>
97725         Make it possible for gnulib-tool to work with locally modified or
97726         augmented gnulib repositories.
97727         * gnulib-tool (func_usage): Document --local-dir option.
97728         (local_gnulib_dir): New variable.
97729         Handle --local-dir option.
97730         (func_lookup_file): New function.
97731         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
97732         (func_get_description, func_get_filelist, func_get_description,
97733         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
97734         func_get_automake_snippet, func_get_include_directive,
97735         func_get_license, func_get_maintainer): Use func_lookup_file.
97736         (func_import, func_create_testdir): Use func_lookup_file.
97738 2006-07-29  Bruno Haible  <bruno@clisp.org>
97740         * modules/setenv (Depends-on): Add unistd.
97742 2006-07-29  Bruno Haible  <bruno@clisp.org>
97744         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
97746 2006-07-29  Bruno Haible  <bruno@clisp.org>
97748         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
97750 2006-07-29  Bruno Haible  <bruno@clisp.org>
97752         * gnulib-tool (import, update): If there is no Makefile.am, look at
97753         aclocal.m4, instead of bailing out.
97755 2006-07-29  Bruno Haible  <bruno@clisp.org>
97757         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
97758         Categorize the options by when they are useful.
97760 2006-07-29  Bruno Haible  <bruno@clisp.org>
97762         * gnulib-tool (func_usage): Document option --no-libtool.
97763         Handle option --no-libtool.
97764         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
97765         for changed semantics of $libtool variable.
97766         (func_import): Likewise. If libtool is not used, show this through
97767         an option --no-libtool.
97768         (func_create_testdir): Update.
97770 2006-07-29  Bruno Haible  <bruno@clisp.org>
97772         * gnulib-tool (func_import): Extend error message about missing
97773         --doc-base.
97775 2006-07-29  Bruno Haible  <bruno@clisp.org>
97777         * gnulib-tool (func_import): Don't create the $docbase directory if
97778         there is no file to store there.
97780 2006-07-29  Bruno Haible  <bruno@clisp.org>
97782         * gnulib-tool (autoconf_minversion): If a --dir option is given and
97783         relevant, look for configure.ac there, not in the current directory.
97784         Also use a simple search for AC_PREREQ, not "autoconf --trace".
97786 2006-07-29  Bruno Haible  <bruno@clisp.org>
97788         * gnulib-tool (SORT): New variable.
97789         (func_usage): Undocument --assume-autoconf option.
97790         Remove --assume-autoconf option handling.
97791         (autoconf_minversion): Determine from the contents of configure.ac.
97792         (func_import): Remove autoconf_minversion handling.
97793         Suggested by Eric Blake.
97795 2006-07-29  Bruno Haible  <bruno@clisp.org>
97797         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
97799 2006-07-29  Bruno Haible  <bruno@clisp.org>
97801         * config/srclist.txt (*setenv.[ch]): Remove rules.
97803 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
97805         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
97807 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
97809         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
97810         arpa/inet.h.
97812 2006-07-28  Simon Josefsson  <jas@extundo.com>
97814         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
97815         * modules/inet_pton (Depends-on): Likewise.
97817 2006-07-28  Simon Josefsson  <jas@extundo.com>
97819         * m4/netinet_in_h.m4: New file.
97821 2006-07-28  Simon Josefsson  <jas@extundo.com>
97823         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
97824         #include's.
97826 2006-07-28  Simon Josefsson  <jas@extundo.com>
97828         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
97829         #include's.
97831 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
97833         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
97834         setgid on directories only if they set these bits.
97835         * lib/modechange.h: Remove obsolete comment about masks.
97837 2006-07-28  Eric Blake  <ebb9@byu.net>
97839         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
97840         macro expansion.
97842 2006-07-28  Bruno Haible  <bruno@clisp.org>
97844         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
97846 2006-07-28  Bruno Haible  <bruno@clisp.org>
97848         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
97850 2006-07-28  Bruno Haible  <bruno@clisp.org>
97852         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
97853         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
97854         Define fallbacks.
97855         Avoids link error on FreeBSD 4.x.
97856         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
97858         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
97859         encoding.
97860         * lib/mbswidth.c (iswcntrl): Likewise.
97862 2006-07-27  Bruno Haible  <bruno@clisp.org>
97864         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
97865         test.
97867 2006-07-27  Bruno Haible  <bruno@clisp.org>
97869         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
97870         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
97871         defined.
97873 2006-07-26  Eric Blake  <ebb9@byu.net>
97875         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
97877 2006-07-26  Eric Blake  <ebb9@byu.net>
97879         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
97880         like mingw that lack mkstemp.
97881         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
97882         avoid compilation warning on mingw.
97884 2006-07-26  Bruno Haible  <bruno@clisp.org>
97886         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
97887         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
97888         INT_FAST*_MIN, INTPTR_MIN.
97890 2006-07-25  Bruno Haible  <bruno@clisp.org>
97892         * modules/version-etc (Depends-on): Add stdarg.
97894 2006-07-25  Bruno Haible  <bruno@clisp.org>
97896         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
97897         complex commands.
97899 2006-07-25  Bruno Haible  <bruno@clisp.org>
97901         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
97902         defined in <stdarg.h> or config.h.
97904 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
97906         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
97907         (gl_STDIO_SAFER): Remove.
97909 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
97911         * MODULES.html.sh (File stream based Input/Output):
97912         Add fopen-safer, tmpfile-safer; remove stdio-safer.
97913         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
97914         * modules/fopen-safer, modules/tmpfile-safer: New files.
97915         * modules/stdio-safer: Remove.
97917 2006-07-24  Bruno Haible  <bruno@clisp.org>
97919         * modules/tmpdir: New file.
97920         * MODULES.html.sh (File system functions): Add it.
97922 2006-07-24  Bruno Haible  <bruno@clisp.org>
97924         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
97925         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
97927 2006-07-24  Bruno Haible  <bruno@clisp.org>
97929         * modules/clean-temp: New file.
97931 2006-07-24  Bruno Haible  <bruno@clisp.org>
97933         * m4/tmpdir.m4: New file, from GNU gettext.
97935 2006-07-24  Bruno Haible  <bruno@clisp.org>
97937         * lib/tmpdir.h: New file, from GNU gettext.
97938         * lib/tmpdir.c: New file, from GNU gettext.
97940 2006-07-24  Bruno Haible  <bruno@clisp.org>
97942         * lib/clean-temp.h: New file, from GNU gettext.
97943         * lib/clean-temp.c: New file, from GNU gettext.
97945 2006-07-23  Eric Blake  <ebb9@byu.net>
97947         * modules/stdio-safer (Files): Add tmpfile-safer.c.
97948         (Depends-on): Add binary-io.
97950 2006-07-23  Eric Blake  <ebb9@byu.net>
97952         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
97954 2006-07-23  Eric Blake  <ebb9@byu.net>
97956         * lib/tmpfile-safer.c: New file.
97957         * lib/stdio-safer.h (fopen_safer): Add prototype.
97958         * lib/stdio--.h (tmpfile): Make safer.
97960 2006-07-23  Bruno Haible  <bruno@clisp.org>
97962         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
97963         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
97964         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
97965         gl_linked_remove_at): Use it.
97967 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
97968         and Simon Josefsson <jas@extundo.com>
97970         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
97972         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
97974 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
97976         * modules/close-stream: New file.
97977         * modules/closeout (Description): Make it clear that it exits
97978         with a diagnostic on error.
97979         (Depends-on): Add close-stream.  Remove fpending, stdbool.
97980         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
97982 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
97984         * m4/close-stream.m4: New file.
97986 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
97988         * lib/close-stream.c, lib/close-stream.h: New files.
97990 2006-07-22  Bruno Haible  <bruno@clisp.org>
97992         Merge from GNU gettext 0.15.
97994         2006-05-01  Bruno Haible  <bruno@clisp.org>
97996                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
97998         2006-07-22  Bruno Haible  <bruno@clisp.org>
98000                 * modules/javaversion: New file.
98001                 * MODULES.html.sh (Java): Add javaversion.
98003         2006-03-12  Bruno Haible  <bruno@clisp.org>
98005                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
98007         2005-12-04  Bruno Haible  <bruno@clisp.org>
98009                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
98010                 (untested).
98012         2006-06-21  Bruno Haible  <bruno@clisp.org>
98014                 Avoid warnings from recent versions of mcs.
98015                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
98016                 -o, -L, -r any more. Use options documented since mcs-1.0
98017                 instead. Similarly for -g.
98019         2005-12-04  Bruno Haible  <bruno@clisp.org>
98021                 * build-aux/csharpcomp.sh.in: Suffix for resources is
98022                 .resources, not .resource.
98024         2005-07-09  Bruno Haible  <bruno@clisp.org>
98026                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
98027                 add a .dll suffix.
98028                 Reported by Mark Junker <mjscod@gmx.de>.
98030         2006-07-22  Bruno Haible  <bruno@clisp.org>
98032                 * modules/gettext: Upgrade to gettext-0.15.
98033                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
98034                 m4/visibility.m4.
98035                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
98037 2006-07-22  Bruno Haible  <bruno@clisp.org>
98039         Merge from GNU gettext 0.15.
98041         2006-03-25  Bruno Haible  <bruno@clisp.org>
98043                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
98045         2006-07-21  Bruno Haible  <bruno@clisp.org>
98047                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
98048                 "1.1".
98050         2006-05-09  Bruno Haible  <bruno@clisp.org>
98052                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
98053                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
98054                 for the conftestver execution.
98056         2006-05-01  Bruno Haible  <bruno@clisp.org>
98058                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
98059                 optional target-version argument. Verify that the compiler
98060                 groks source of the specified source-version, or add -source
98061                 option as necessary. Verify that the compiler produces
98062                 bytecode in the specified target-version, or add -target and
98063                 -source options as necessary. Make the result of the test
98064                 available as variable CONF_JAVAC. Also log error output in
98065                 config.log.
98067         2006-03-11  Bruno Haible  <bruno@clisp.org>
98069                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
98071         2006-05-09  Bruno Haible  <bruno@clisp.org>
98073                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
98074                 CLASSPATH_SEPARATOR to a semicolon.
98076         2006-03-12  Bruno Haible  <bruno@clisp.org>
98078                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
98079                 available as variable CONF_JAVA, for subsequent autoconf
98080                 tests. Also log error output in config.log.
98082         2006-07-19  Bruno Haible  <bruno@clisp.org>
98084                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
98085                 that getline works on glibc2 systems. Needed to avoid trouble
98086                 in relocatable.c.
98087                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
98089         2005-12-04  Bruno Haible  <bruno@clisp.org>
98091                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
98092                 launcher (untested).
98094         2005-12-04  Bruno Haible  <bruno@clisp.org>
98096                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
98098         2006-07-22  Bruno Haible  <bruno@clisp.org>
98100                 * gettext.m4: Update from GNU gettext-0.15.
98101                 * nls.m4: Likewise.
98102                 * po.m4: Likewise.
98103                 * inttypes-pri.m4: Likewise.
98104                 * inttypes-h.m4: Renamed from inttypes.m4.
98105                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
98107 2006-07-22  Bruno Haible  <bruno@clisp.org>
98109         Merge from GNU gettext 0.15.
98111         2005-07-05  Bruno Haible  <bruno@clisp.org>
98113                 * printf-args.c (printf_fetchargs): Work around broken
98114                 definition of wint_t on mingw.
98116         2005-02-12  Bruno Haible  <bruno@clisp.org>
98118                 * xallocsa.h: Add extern "C" for C++.
98120         2006-05-17  Bruno Haible  <bruno@clisp.org>
98122                 Cygwin portability.
98123                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
98125         2006-04-30  Bruno Haible  <bruno@clisp.org>
98127                 * progreloc.c: Include <mach-o/dyld.h> if available.
98128                 (find_executable): Use _NSGetExecutablePath when possible.
98130         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
98132                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
98133                 function.
98135         2005-12-29  Bruno Haible  <bruno@clisp.org>
98137                 * progreloc.c (set_program_name_and_installdir): Fix
98138                 compilation error.
98140         2005-12-04  Bruno Haible  <bruno@clisp.org>
98142                 Cygwin portability.
98143                 * progreloc.c: Include <windows.h> also on Cygwin.
98144                 (find_executable): Add support for Cygwin.
98145                 (set_program_name_and_installdir): Handle also platforms with
98146                 nonempty EXEEXT.
98148         2006-07-11  Bruno Haible  <bruno@clisp.org>
98150                 * javacomp.c: Fix a comment.
98151                 Reported by Jim Meyering.
98153         2006-04-30  Bruno Haible  <bruno@clisp.org>
98155                 * javacomp.h (compile_java_class): Add source_version,
98156                 target_version arguments.
98157                 * javacomp.c: Rewritten to choose only a compiler that
98158                 respects the specified source_version and target_version.
98160         2006-06-27  Bruno Haible  <bruno@clisp.org>
98162                 Assume correct S_ISDIR macro.
98163                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
98165         2006-07-22  Bruno Haible  <bruno@clisp.org>
98167                 * javaversion.h: New file, from GNU gettext.
98168                 * javaversion.c: New file, from GNU gettext.
98169                 * javaversion.java: New file, from GNU gettext.
98170                 * javaversion.class: New file, from GNU gettext.
98172         2006-05-17  Bruno Haible  <bruno@clisp.org>
98174                 Cygwin portability.
98175                 * javaexec.c (execute_java_class): Test for jview program
98176                 also on Cygwin.
98178         2006-04-09  Bruno Haible  <bruno@clisp.org>
98180                 * fatal-signal.c: Don't include string.h.
98181                 (at_fatal_signal): Use a copying loop instead of memcpy.
98183         2005-12-04  Bruno Haible  <bruno@clisp.org>
98185                 * csharpexec.c: Add support for 'clix' launcher (untested).
98186                 (execute_csharp_using_sscli): New function.
98187                 (execute_csharp_program): Call it.
98189         2006-06-21  Bruno Haible  <bruno@clisp.org>
98191                 Avoid warnings from recent versions of mcs.
98192                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
98193                 -o, -L, -r any more. Use options documented since mcs-1.0
98194                 instead. Similarly for -g.
98196         2005-07-09  Bruno Haible  <bruno@clisp.org>
98198                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
98199                 add a .dll suffix.
98200                 Reported by Mark Junker <mjscod@gmx.de>.
98202         2006-06-17  Bruno Haible  <bruno@clisp.org>
98204                 * config.charset: Update for NetBSD 3.0.
98206         2006-05-17  Bruno Haible  <bruno@clisp.org>
98208                 Cygwin portability.
98209                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
98211         2006-05-16  Bruno Haible  <bruno@clisp.org>
98213                 * localcharset.c [CYGWIN]: Include <windows.h>.
98214                 (get_charset_aliases): For Cygwin, return the same CPxxx
98215                 aliases list as under WIN32.
98216                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
98217                 the environment variables. Fall back to GetACP().
98219         2006-04-05  Bruno Haible  <bruno@clisp.org>
98221                 * config.charset: Update Juan Manuel Guerrero's address.
98223         2005-02-12  Bruno Haible  <bruno@clisp.org>
98225                 * allocsa.h: Add extern "C" for C++.
98227         2005-02-10  Bruno Haible  <bruno@clisp.org>
98229                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
98230                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
98232         2006-07-22  Bruno Haible  <bruno@clisp.org>
98234                 * gettext.h: Update to GNU gettext-0.15.
98236 2006-07-22  Bruno Haible  <bruno@clisp.org>
98238         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
98239         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
98240         lib-prefix.m4, longdouble.m4, ssize_t.m4.
98242 2006-07-21  Eric Blake  <ebb9@byu.net>
98244         * modules/stdlib-safer: New file.
98245         * MODULES.html.sh (File stream based Input/Output): Add
98246         stdlib-safer.
98248 2006-07-21  Eric Blake  <ebb9@byu.net>
98250         * lib/stdlib-safer.h: New file from coreutils, required by
98251         stdlib--.h.
98253 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
98255         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
98257 2006-07-20  Bruno Haible  <bruno@clisp.org>
98259         * gnulib-tool: Recognize new option --assume-autoconf.
98260         (autoconf_minversion): New variable.
98261         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
98263 2006-07-20  Bruno Haible  <bruno@clisp.org>
98265         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
98267 2006-07-19  Derek R. Price  <derek@ximbiot.com>
98269         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
98270         Reindent and repaginate.
98272 2006-07-19  Derek Price  <derek@ximbiot.com>
98274         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
98275         Correct grammar.
98277 2006-07-17  Bruno Haible  <bruno@clisp.org>
98279         * modules/list: New file.
98280         * modules/array-list: New file.
98281         * modules/carray-list, modules/carray-list-tests: New files.
98282         * modules/linked-list, modules/linked-list-tests: New files.
98283         * modules/avltree-list, modules/avltree-list-tests: New files.
98284         * modules/rbtree-list, modules/rbtree-list-tests: New files.
98285         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
98286         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
98287         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
98288         * modules/oset: New file.
98289         * modules/array-oset: New file.
98290         * modules/avltree-oset, modules/avltree-oset-tests: New files.
98291         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
98292         * tests/test-carray_list.c: New file.
98293         * tests/test-linked_list.c: New file.
98294         * tests/test-avltree_list.c: New file.
98295         * tests/test-rbtree_list.c: New file.
98296         * tests/test-linkedhash_list.c: New file.
98297         * tests/test-avltreehash_list.c: New file.
98298         * tests/test-rbtreehash_list.c: New file.
98299         * tests/test-avltree_oset.c: New file.
98300         * tests/test-rbtree_oset.c: New file.
98301         * MODULES.html.sh (Container data structures): New section.
98303 2006-07-17  Bruno Haible  <bruno@clisp.org>
98305         * m4/gl_list.m4: New file.
98307 2006-07-17  Bruno Haible  <bruno@clisp.org>
98309         * lib/gl_list.h: New file.
98310         * lib/gl_list.c: New file.
98311         * lib/gl_array_list.h: New file.
98312         * lib/gl_array_list.c: New file.
98313         * lib/gl_carray_list.h: New file.
98314         * lib/gl_carray_list.c: New file.
98315         * lib/gl_linked_list.h: New file.
98316         * lib/gl_linked_list.c: New file.
98317         * lib/gl_anylinked_list1.h: New file.
98318         * lib/gl_anylinked_list2.h: New file.
98319         * lib/gl_avltree_list.h: New file.
98320         * lib/gl_avltree_list.c: New file.
98321         * lib/gl_anyavltree_list1.h: New file.
98322         * lib/gl_anyavltree_list2.h: New file.
98323         * lib/gl_rbtree_list.h: New file.
98324         * lib/gl_rbtree_list.c: New file.
98325         * lib/gl_anyrbtree_list1.h: New file.
98326         * lib/gl_anyrbtree_list2.h: New file.
98327         * lib/gl_anytree_list1.h: New file.
98328         * lib/gl_anytree_list2.h: New file.
98329         * lib/gl_linkedhash_list.h: New file.
98330         * lib/gl_linkedhash_list.c: New file.
98331         * lib/gl_anyhash_list1.h: New file.
98332         * lib/gl_anyhash_list2.h: New file.
98333         * lib/gl_avltreehash_list.h: New file.
98334         * lib/gl_avltreehash_list.c: New file.
98335         * lib/gl_rbtreehash_list.h: New file.
98336         * lib/gl_rbtreehash_list.c: New file.
98337         * lib/gl_anytreehash_list1.h: New file.
98338         * lib/gl_anytreehash_list2.h: New file.
98340         * lib/gl_oset.h: New file.
98341         * lib/gl_oset.c: New file.
98342         * lib/gl_array_oset.h: New file.
98343         * lib/gl_array_oset.c: New file.
98344         * lib/gl_avltree_oset.h: New file.
98345         * lib/gl_avltree_oset.c: New file.
98346         * lib/gl_rbtree_oset.h: New file.
98347         * lib/gl_rbtree_oset.c: New file.
98348         * lib/gl_anytree_oset.h: New file.
98350 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
98352         * m4/mkancesdirs.m4: New file.
98353         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
98354         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
98355         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
98356         it.
98358 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
98360         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
98361         * lib/mkancesdirs.h: New files.
98362         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
98363         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
98364         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
98365         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
98366         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
98367         callers changed.  Revamp internals significantly, by not
98368         attempting to create directories that are temporarily more
98369         permissive than the final results.  Do not attempt to use
98370         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
98371         This removes some race conditions, fixes some bugs, and simplifies
98372         things.  Use new dirchownmod function to do owner and mode changes.
98373         * lib/mkdir-p.h: Likewise.
98374         * lib/modechange.c (octal_to_mode): New function.
98375         (struct mode_change): New member mentioned.
98376         (make_node_op_equals): New arg mentioned.  All callers changed.
98377         (mode_compile): Keep track of which mode bits the user has explicitly
98378         mentioned.
98379         (mode_adjust): New arg DIR, so that we implement the X op correctly.
98380         New arg PMODE_BITS, to keep track of which mode bits the user
98381         mentioned; it treats S_ISUID and S_ISGID speciall.
98382         All callers changed.
98383         * lib/modechange.h: Likewise.
98385 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
98387         * MODULES.html.sh: Add mkancestors.
98388         * modules/mkancesdirs: New module.
98389         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
98390         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
98391         The chdir-safer and afs files are now orphans; I'll remove them
98392         unless someone speaks up.
98393         Add lib/dirchownmod.c, lib/dirchownmod.h.
98394         (Depends-on): Remove alloca, chown, save-cwd, dirname.
98395         Add lchown, mkancesdirs.
98396         (Maintainer): Add self.
98398 2006-07-15  Karl Berry  <karl@gnu.org>
98400         * gnulib-tool: help message wording/arrangement.
98402 2006-07-14  Simon Josefsson  <jas@extundo.com>
98404         * doc/gnulib.texi (Libtool and Windows): New section.
98406 2006-07-12  Simon Josefsson  <jas@extundo.com>
98408         * modules/gendocs (License): Fix license, approved by Karl.
98410 2006-07-12  Eric Blake  <ebb9@byu.net>
98412         * MODULES.html.sh: Add gendocs.
98414 2006-07-11  Eric Blake  <ebb9@byu.net>
98416         * modules/fdl: New module, to install doc/fdl.texi.
98417         * MODULES.html.sh: Add new section for documentation modules.
98418         * gnulib-tool: Avoid space-tab.
98419         (--doc-base): New option, to manage files from doc.
98421 2006-07-11  Eric Blake  <ebb9@byu.net>
98423         * m4/absolute-header.m4: Fix comments to match recent change.
98425 2006-07-11  Eric Blake  <ebb9@byu.net>
98427         * gnulib-tool: List --doc-base before --tests-base.
98429 2006-07-11  Derek R. Price  <derek@ximbiot.com>
98431         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
98433 2006-07-11  Bruno Haible  <bruno@clisp.org>
98435         * README: Mention where to put documentation.
98437 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98439         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
98441 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
98443         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
98444         to stdint.m4.
98446 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
98448         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
98449         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
98450         "no/such/file/stdint.h" when there is no such file, so that
98451         the resulting C code can be parsed by dodgy compilers.
98452         Problems reported by Bob Proulx.
98454 2006-07-10  Derek R. Price  <derek@ximbiot.com>
98456         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
98457         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
98458         macros into the GNU _D_EXACT_NAMLEN.
98459         * lib/savedir.c:  Likewise.
98460         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
98462 2006-07-10  Derek R. Price  <derek@ximbiot.com>
98463         and Paul Eggert  <eggert@cs.ucla.edu>
98465         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
98466         * m4/savedir.m4:
98467         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
98468         macros into the GNU _D_EXACT_NAMLEN.
98470 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
98472         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
98473         around the absolute name, to work around a problem with the HP-UX
98474         11.23 native C compiler, reported by Bob Proulx.
98476 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
98478         * doc/maintain.texi, make-stds.texi: Sync from
98479         <http://savannah.gnu.org/projects/gnustandards>.
98481 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
98483         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
98485 2006-07-09  Jim Meyering  <jim@meyering.net>
98487         * m4/glob.m4: Remove a doubled word in a comment.
98489 2006-07-09  Jim Meyering  <jim@meyering.net>
98491         * lib/argp-pv.c: Remove a doubled word in a comment.
98492         * lib/check-version.c (check_version): Likewise.
98493         * lib/javacomp.c (compile_java_class): Likewise.
98495 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
98497         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
98498         for the benefit of people using Autoconf 2.60.  If you want to
98499         support older Autoconf versions you can copy m4/onceonly_2_57.m4
98500         (or m4/onceonly.m4, if pre-2.57) manually.
98502 2006-07-08  Jim Meyering  <jim@meyering.net>
98504         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
98505         comment.
98506         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
98507         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
98508         comment.
98510 2006-07-08  Jim Meyering  <jim@meyering.net>
98512         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
98514 2006-07-07  Simon Josefsson  <jas@extundo.com>
98516         * tests/test-crc.c: Change expected crc value, the test vector
98517         were probably computed using the old broken crc.c?
98519 2006-07-06  Simon Josefsson  <jas@extundo.com>
98521         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
98522         now the canonical place for the M4 file).
98524         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
98525         from the sys_socket dependency now.
98527         * modules/inet_pton (Files): Ditto.
98529         * modules/inet_ntop (Files): Ditto.
98531 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
98533         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
98534         not gl_PREREQ_GETUSERSHELL.
98536 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98538         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
98539         with only one argument, for Autoconf 2.60.
98540         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
98541         expand to nothing, so add a shell command to avoid syntax error.
98542         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
98544 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98546         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
98548 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
98550         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
98551         no longer needed.  Check for isblank decl.
98552         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
98553         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
98554         of existence.
98556 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
98558         * lib/getloadavg.c: Use __VMS, not VMS.
98559         * lib/getopt.c: Likewise.
98560         * lib/getpagesize.h: Likewise.
98561         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
98562         and probably does not work.
98564 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
98566         * lib/.cppi-disable: Add wcwidth.
98567         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
98568         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
98569         (ISGRAPH): Remove.  All uses changed to isgraph.
98570         (FOLD) [!defined _LIBC]: Remove special case.
98571         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
98572         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
98573         HAVE_ISBLANK.
98574         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
98575         case.
98577 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
98579         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
98580         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
98581         brackets.  Other minor changes to suppress some compiler
98582         warnings.
98584 2006-07-06  Derek R. Price  <derek@ximbiot.com>
98585         and Paul Eggert  <eggert@cs.ucla.edu>
98587         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
98588         of invoking obsolescent AC_HEADER_DIRENT macro.
98589         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
98590         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
98591         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
98592         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
98593         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
98594         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
98595         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
98596         * m4/readdir.m4: Remove; no longer needed.
98598 2006-07-06  Derek R. Price  <derek@ximbiot.com>
98599         and Paul Eggert  <eggert@cs.ucla.edu>
98601         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
98602         Don't worry about this obsolete case any more.
98603         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
98604         directories.
98605         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
98606         worry about this obsolete case any more.
98607         * lib/fts.c: Likewise.
98608         * lib/getcwd.c: Likewise.
98609         * lib/glob.h: Likewise.
98610         * lib/savedir.c: Likewise.
98612 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
98614         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
98615         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
98616         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
98617         needed.
98618         All uses removed.
98619         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
98620         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
98621         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
98622         needed.
98623         * m4/getdate.m4 (gl_GETDATE): Likewise.
98624         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
98625         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
98626         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
98627         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
98628         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
98629         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
98630         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
98631         needed.
98633 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
98635         * lib/memcasecmp.c: Include <limits.h>.
98636         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
98637         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
98638         Don't assume isdigit succeeds only on '0' through '9'.
98640 2006-07-05  Eric Blake  <ebb9@byu.net>
98642         * modules/getaddrinfo (Depends-on): Add snprintf.
98644 2006-07-05  Eric Blake  <ebb9@byu.net>
98646         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
98647         to avoid 'header present but could not be compiled' on cygwin.
98649 2006-07-05  Eric Blake  <ebb9@byu.net>
98651         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
98652         missing from netdb.h.
98653         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
98655 2006-07-05  Derek R. Price  <derek@ximbiot.com>
98657         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
98658         no longer needed.
98659         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
98660         * m4/getdate.m4 (gl_GETDATE): Likewise.
98661         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
98662         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
98663         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
98664         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
98665         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
98667 2006-07-05  Derek R. Price  <derek@ximbiot.com>
98669         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
98670         All uses of is_space replaced by isspace.
98671         * lib/exit.h: Don't talk about STDC_HEADERS.
98672         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
98673         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
98674         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
98675         replaced by isprint etc.
98676         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
98677         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
98678         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
98679         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
98680         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
98681         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
98683 2006-07-05  Bruno Haible  <bruno@clisp.org>
98685         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
98686         the function exists, before testing against AIX.
98687         Reported by Martin Lambers <marlam@marlam.de>.
98689 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
98691         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
98692         From Mark D. Baushke.
98694 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
98696         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
98697         to the absolute name, not just one, to bypass Sun C 5.8's
98698         "warning: #include of /usr/include/... may be non-portable".
98700 2006-07-04  Eric Blake  <ebb9@byu.net>
98702         * modules/dirname-tests: New test module.
98703         * tests/test-dirname.c: New file, replacing dirname.c
98704         TEST_DIRNAME section that was recently deleted.
98706 2006-07-04  Bruno Haible  <bruno@clisp.org>
98708         Assume ANSI C header files and <ctype.h> functions.
98709         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
98710         (mbsnwidth): Use isprint, iscntrl instead.
98712 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
98714         Merge from coreutils.
98715         * MODULES.html.sh: Add xstrtold.
98716         * modules/xstrtold: New file.
98717         * modules/cycle-check (Files): Add lib/same-inode.h.
98718         * modules/dirname (Files): Add m4/double-slash-root.m4.
98719         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
98720         * modules/mkdir-p (Files): Add lib/same-inode.h.
98721         * modules/same (Files): Add lib/same-inode.h.
98723 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
98725         * m4/absolute-header.m4: Renamed from full-header-path.m4.
98726         This is to keep the terminology clean; POSIX talks about
98727         "absolute pathnames", not "full pathnames", but the GNU
98728         Coding Standards say to use "path" for something else;
98729         so use "absolute" to keep both sides happy.
98730         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
98731         Set gl_absolute_header, not gl_full_header_path.
98732         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
98733         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
98734         All uses changed.
98736         Merge from coreutils.
98738         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
98740         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
98741         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
98742         want to require the building of c-strtod.o.
98743         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
98744         needs -lm directly.
98745         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
98747         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
98749         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
98750         --as-needed option if available.  Problem reported by Albert Chin in
98751         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00114.html>.
98752         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
98753         cc merely issues a bunch of annoying warnings for --as-needed
98754         (this problem was reported by Bob Proulx).  Also, try linking with
98755         -lm to detect a bug in binutils 2.16 (this problem was reported
98756         by Ralf Wildenhues).
98758         2006-06-18  Jim Meyering  <jim@meyering.net>
98760         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
98761         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
98762         macro.
98763         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
98764         also check for glibc-2.4's abort-inducing bug.
98766         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
98767         Low-probability clean-up should be to use rmdir to get rid of
98768         the just-created directory, not unlink.
98770         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
98771         configure fail, and request a bug report to inform us about it.
98772         Add a comment that, barring reports to the contrary, in 2007 we'll
98773         assume ftruncate is universally available.
98775         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
98777         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
98779         2006-03-12  Jim Meyering  <jim@meyering.net>
98781         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
98782         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
98783         * m4/same.m4 (gl_SAME): Likewise.
98784         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
98786         2006-03-11  Eric Blake  <ebb9@byu.net>
98788         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
98789         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
98790         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
98791         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
98793 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
98795         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
98796         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
98797         reported by Mark D. Baushke, one in
98798         <http://lists.gnu.org/r/bug-gnulib/2006-07/msg00015.html>.
98800         Merge from coreutils.
98802         * lib/.cppi-disable: Add stdint_.h.
98803         * lib/.cvsignore: Add stdint.h.
98805         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
98807         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
98808         both double and long double versions.
98809         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
98810         * lib/xstrtold.c: New file.
98811         * lib/xstrtod.h (xstrtold): New decl.
98813         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
98815         * lib/filemode.c (setst): Remove.
98816         (strmode): Rewrite to avoid setst.  This makes the code shorter,
98817         (arguably) clearer, and the generated code is a bit smaller on my
98818         Debian GNU/Linux stable x86 host.
98820         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
98822         * lib/filemode.c: Include "filemode.h" first, to test the interface.
98823         Assume that filemode.h includes sys/types.h and sys/stat.h.
98824         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
98825         (ftypelet): Reorder to put common cases first, for efficiency.
98826         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
98827         to do 'M'.
98828         (strmode): Renamed from mode_string, and now stores 12 bytes instead
98829         of 10, for compatibility with FreeBSD.  All callers changed.
98830         (filemodestring): Now stores 12 bytes instead of 10, and sets file
98831         types that can't be deduced solely from st_mode.  First arg is now a
98832         const pointer.
98833         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
98834         (strmode): Renamed from mode_string.
98835         (filemodestring): New decl.
98836         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
98837         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
98838         needed.
98839         (S_ISPORT, S_ISWHT): New macros, if not already defined.
98841         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
98843         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
98844         fsusage.h now does that.  Include fsusage.h first, to test interface.
98845         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
98846         at most one method (the old code could have generated decls that
98847         didn't conform to C89, not that this was ever exercised).
98848         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
98850         2006-03-19  Jim Meyering  <jim@meyering.net>
98852         Work even in a chroot where d_ino values for entries in "/"
98853         don't match the stat.st_ino values for the same names.
98854         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
98855         number, iterate through all entries again, using lstat instead.
98856         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
98857         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
98859         * lib/getcwd.c (__getcwd): Clarify a comment.
98860         Use memcpy in place of a call to strcpy.
98862         2006-03-12  Jim Meyering  <jim@meyering.net>
98864         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
98865         matches that of the current directory (which we're about to chdir ".."
98866         out of), then save the dev-ino of the parent, instead.
98868         * lib/same-inode.h (SAME_INODE): New file/macro.
98869         * lib/chdir-safer.c (SAME_INODE): Remove definition.
98870         Include "same-inode.h", instead.
98871         * lib/same.c: Likewise.
98872         * lib/cycle-check.h: Include "same-inode.h".
98873         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
98874         * lib/cycle-check.c (SAME_INODE): Remove definition.
98875         * lib/root-dev-ino.h: Include "same-inode.h".
98877         2006-03-11  Eric Blake  <ebb9@byu.net>
98879         * lib/same.c (same_name): s/base_name/last_component/
98880         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
98881         * lib/filenamecat.c (file_name_concat): Likewise.
98883         2006-03-11  Eric Blake  <ebb9@byu.net>,
98884                     Paul Eggert  <eggert@cs.ucla.edu>
98886         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
98887         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
98888         drive prefix.
98889         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
98890         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
98891         (last_component): New method.
98892         * lib/dirname.c (dir_len): Determine when drive letters need a
98893         subsequent slash.  Preserve // when it is special.
98894         (dir_name): Don't append dot when drive letter is absolute.
98895         [TEST_DIRNAME]: Move into a full-blown gnulib test.
98896         * lib/basename.c (base_name): New semantics - malloc the result.
98897         Preserve // when it is special.  Preserve relative files that look
98898         like drive letters.
98899         (base_len): Preserve // when it is special.
98900         (last_component): New method, similar to old base_name semantics.
98901         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
98902         base_name.  Strip redundant slashes from ///.
98904 2006-07-03  Jim Meyering  <jim@meyering.net>
98906         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
98907         macro is used before the first cycle_check call.
98909 2006-07-03  Eric Blake  <ebb9@byu.net>
98911         * modules/dirname (Depends-on): Add xstrndup.
98913 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
98915         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
98916         test cases, so that config.log is a bit easier to follow.
98918 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
98920         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
98921         both are 64 bits, since this seems to be the tradition, and this
98922         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
98923         we ever run into a host that prefers long long to long in this
98924         case, we'll need another configure-time test.  Problem reported by
98925         Jim Meyering.
98927 2006-07-02  Eric Blake  <ebb9@byu.net>
98929         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
98931 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
98933         * modules/inttypes (Depends-on): No longer depends on stdint.
98934         * modules/stdint (Description): Say more about assumptions.
98935         Say that the fast types might differ.  Say macros are used.
98936         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
98937         (Makefile.am): Revise list of substituted symbols to match
98938         new stdint.m4.
98939         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
98940         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
98941         * tests/test-stdint.c (verify_same_types)
98942         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
98943         the code conforms to C99/C89.
98944         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
98945         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
98947 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
98949         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
98950         but fix a bug, by requiring at least 64 bits.
98951         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
98952         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
98953         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
98954         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
98956         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
98957         changes.  Make 2.59 a prerequisite.  Check and substitute for
98958         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
98959         inttypes.h.  Do not use special include files; just use the
98960         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
98961         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
98962         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
98963         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
98964         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
98965         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
98966         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
98967         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
98968         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
98969         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
98970         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
98971         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
98972         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
98973         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
98974         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
98975         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
98976         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
98977         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
98978         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
98979         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
98980         WINT_MAX.  Check for C99 conformance more strictly, by detecting
98981         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
98982         not check for things that C99 does not require, e.g., int8_t.  If
98983         a test isn't needed unless <stdint.h> isn't working, and is
98984         unlikely to be needed for any other reason, then don't do it
98985         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
98986         size_t, since we assume C89 freestanding at least.  Do not check
98987         for sig_atomic_t, wchar_t, or wint_t, since the code now does
98988         the right thing even if the types are not defined.  Instead use:
98989         (gl_STDINT_TYPE_PROPERTIES): New macro.
98990         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
98991         testing whether <sys/types.h> clashes, as Autoconf does this for
98992         us now.  All uses removed.
98993         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
98994         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
98995         (gl_CHECK_TYPE_SAME):
98996         Remove; no longer needed.
98997         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
98998         exists, since we'll return 0 anyway in that case.
98999         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
99001 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
99003         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
99004         possible collision with system files.
99005         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
99006         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
99007         WCHAR_MIN and WCHAR_MAX in this case.
99008         (<stddef.h>): Do not include; no longer needed.
99009         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
99010         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
99011         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
99012         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
99013         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
99014         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
99015         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
99016         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
99017         !defined(__c99))]: Include in this case too, since it's harmless
99018         now.
99019         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
99020         dangerous to do so.
99021         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
99022         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
99023         (_STDINT_MIN, _STDINT_MAX): New macros.
99024         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
99025         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
99026         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
99027         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
99028         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
99029         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
99030         macros, not typedefs; this simplifies things quite a bit.
99031         Use long int for all types narrower than int64_t.
99032         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
99033         Define in terms of long long int or int64_t or long int,
99034         not int64_t or int32_t.  This saves some compile-time testing.
99035         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
99036         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
99037         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
99038         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
99039         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
99040         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
99041         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
99042         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
99043         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
99044         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
99045         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
99046         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
99047         undef any previous version and define our own version, for
99048         simplicity and consistency with the new macros for types.
99049         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
99050         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
99051         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
99052         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
99053         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
99054         @WINT_T_SUFFIX@ to keep things simple here.
99055         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
99056         Simplify by assuming typical 8/16/32/64 host, since we're
99057         already doing that elsewhere anyway.
99058         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
99059         and assume long long int is 64 bits if available.  This
99060         speeds up 'configure'.
99062 2006-07-01  Eric Blake  <ebb9@byu.net>
99064         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
99065         Reported by Andreas Buening.
99067 2006-07-01  Eric Blake  <ebb9@byu.net>
99069         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
99071 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
99073         * lib/getaddrinfo.c: fixed typo
99075 2006-06-29  Jim Meyering  <jim@meyering.net>
99077         * modules/strftime (Maintainer): Add my name, since with the
99078         FPRINTFTIME changes strftime.c has forked from glibc.
99080 2006-06-29  Eric Blake  <ebb9@byu.net>
99082         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
99084 2006-06-29  Eric Blake  <ebb9@byu.net>
99086         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
99088 2006-06-29  Eric Blake  <ebb9@byu.net>
99090         * lib/stat_.h: New file.
99092 2006-06-29  Eric Blake  <ebb9@byu.net>
99094         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
99095         unused static function.
99097 2006-06-29  Eric Blake  <ebb9@byu.net>
99099         * doc/functions.texi (Function Portability): Document missing lstat
99100         on mingw.
99102 2006-06-29  Eric Blake  <ebb9@byu.net>
99104         * MODULES.html.sh: Add sys_stat.
99105         * modules/sys_stat: New module.
99106         * modules/mkstemp (Depends-on): Add sys_stat.
99108 2006-06-29  Derek R. Price  <derek@ximbiot.com>
99110         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
99112 2006-06-29  Derek R. Price  <derek@ximbiot.com>
99114         * m4/c-bs-a.m4: Removed.
99116 2006-06-29  Derek R. Price  <derek@ximbiot.com>
99118         * lib/strftime.c: Assume strftime() exists.
99120 2006-06-29  Derek Price  <derek@ximbiot.com>
99122         * modules/c-bs-a: Removed - \a is C89.
99123         * MODULES.html.sh: Remove c-bs-a.
99125 2006-06-29  Bruno Haible  <bruno@clisp.org>
99127         * modules/wcwidth (License): Change to LGPL.
99129 2006-06-28  Simon Josefsson  <jas@extundo.com>
99131         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
99132         on _WIN32.
99134         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
99135         getnameinfo.
99137 2006-06-28  Simon Josefsson  <jas@extundo.com>
99139         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
99141 2006-06-28  Simon Josefsson  <jas@extundo.com>
99143         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
99144         functions there.  It will succeed on Windows XP, but on Windows
99145         2000 and (presumably) earlier, it will fail, and use the internal
99146         re-implementation.
99147         (use_win32_p): New function.
99148         (getaddrinfo): Use strtoul on servname, to support numeric ports.
99149         Support AI_NUMERICSERV to disable getservbyname.
99150         (getnameinfo): New function, only supports
99151         NI_NUMERICHOST|NI_NUMERICSERV for now.
99153         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
99154         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
99155         getnameinfo.
99157 2006-06-28  Eric Blake  <ebb9@byu.net>
99159         * modules/wcwidth: New file.
99160         * modules/mbchar (Depends-on): Add wcwidth.
99161         * modules/mbswidth (Depends-on): Add wcwidth.
99162         * MODULES.html.sh: Add wcwidth.
99164 2006-06-28  Eric Blake  <ebb9@byu.net>
99166         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
99167         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
99169 2006-06-28  Eric Blake  <ebb9@byu.net>
99171         * lib/xvasprintf.h: Fix comments.
99173 2006-06-28  Eric Blake  <ebb9@byu.net>
99175         * lib/mbchar.h (wcwidth): Include wcwidth.h.
99176         * lib/mbswidth.c (wcwidth): Move from here...
99177         * lib/wcwidth.h: ...to this new file.
99179 2006-06-28  Derek R. Price  <derek@ximbiot.com>
99181         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
99183         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
99184         it's obsolete.
99185         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
99187 2006-06-28  Derek R. Price  <derek@ximbiot.com>
99189         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
99190         Autoconf 2.60 says this stuff was obsolete.
99192 2006-06-28  Bruno Haible  <bruno@clisp.org>
99194         * modules/wcwidth (Files): Add m4/wchar_t.m4.
99196 2006-06-28  Bruno Haible  <bruno@clisp.org>
99198         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
99199         gt_TYPE_WCHAR_T.
99201 2006-06-28  Bruno Haible  <bruno@clisp.org>
99203         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
99204         declaration for wcwidth.
99205         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
99207 2006-06-28  Bruno Haible  <bruno@clisp.org>
99209         * lib/mkdtemp.c [MINGW]: Include <io.h>.
99210         (mkdir): Define using _mkdir.
99212 2006-06-28  Bruno Haible  <bruno@clisp.org>
99214         * lib/getaddrinfo.h: Fix POSIX URL.
99215         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
99216         _WIN32.
99217         (use_win32_p): Make static.
99218         (getaddrinfo): Reject service name if it is empty or does not consist
99219         solely of decimal digits, or if its value is > 65535.
99220         (getnameinfo): Remove useless casts.
99222 2006-06-27  Simon Josefsson  <jas@extundo.com>
99224         * modules/sys_select: New file, suggested by Bruno Haible, Paul
99225         Eggert and Martin Lambers.
99227 2006-06-27  Simon Josefsson  <jas@extundo.com>
99229         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
99230         Eggert and Martin Lambers.
99232 2006-06-27  Bruno Haible  <bruno@clisp.org>
99234         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
99235         result to 0, not to empty.
99236         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
99238 2006-06-27  Bruno Haible  <bruno@clisp.org>
99240         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
99242 2006-06-26  Simon Josefsson  <jas@extundo.com>
99244         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
99245         present.
99247 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
99249         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
99250         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
99251         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00181.html>.
99253 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
99255         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
99257 2006-06-26  Bruno Haible  <bruno@clisp.org>
99259         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
99261 2006-06-26  Bruno Haible  <bruno@clisp.org>
99263         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
99265 2006-06-26  Bruno Haible  <bruno@clisp.org>
99267         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
99268         SGI C compiler in pre-C99 mode.
99269         Suggested by Mark D. Baushke and Larry Jones.
99271 2006-06-26  Bruno Haible  <bruno@clisp.org>
99273         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
99274         WCHAR_MAX.
99275         Reported by Mark D. Baushke and Larry Jones.
99277 2006-06-26  Bruno Haible  <bruno@clisp.org>
99279         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
99280         in pre-C99 mode.
99281         Suggested by Mark D. Baushke and Larry Jones.
99283 2006-06-23  Simon Josefsson  <jas@extundo.com>
99284             Bruno Haible  <bruno@clisp.org>
99286         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
99287         Emit mostlyclean-local rule.
99288         (func_emit_tests_Makefile_am): Likewise.
99289         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
99291 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
99293         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
99295 2006-06-23  Bruno Haible  <bruno@clisp.org>
99297         * tests/test-stdint.c: Update to match ISO C 99 Technical
99298         Corrigendum 1.
99300 2006-06-23  Bruno Haible  <bruno@clisp.org>
99302         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
99304 2006-06-23  Bruno Haible  <bruno@clisp.org>
99306         * lib/stdint_.h: Treat IRIX like OpenBSD.
99308 2006-06-23  Bruno Haible  <bruno@clisp.org>
99310         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
99311         ISO C 99 Technical Corrigendum 1.
99313 2006-06-22  Simon Josefsson  <jas@extundo.com>
99315         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
99316         MinGW.
99318 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
99320         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
99321         needed.  Some compiler complained about some of them.  Problem reported
99322         by Larry Jones in
99323         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00172.html>.
99325 2006-06-21  Simon Josefsson  <jas@extundo.com>
99327         * tests/test-getaddrinfo.c: New file.
99329         * modules/getaddrinfo-tests: New file.
99331         * MODULES.html.sh: Add inet_pton.
99333         * modules/inet_pton: New file.
99335 2006-06-21  Simon Josefsson  <jas@extundo.com>
99337         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
99338         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
99339         of using the (limited) gnulib implementation on Windows XP.
99341         * m4/inet_pton.m4: New file.
99343 2006-06-21  Simon Josefsson  <jas@extundo.com>
99345         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
99346         variable.
99348         * lib/socket_.h: Don't define WINVER.
99350         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
99351         slightly modified to work in gnulib.
99353 2006-06-21  Simon Josefsson  <jas@extundo.com>
99355         * doc/gnulib.texi (Windows sockets): Add.
99357 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
99359         * lib/read-file.c (fread_file): Start with buffer allocation of
99360         0 bytes rather than 1 byte; this simplifies the code.
99361         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
99362         code to free buffer and save/restore errno.
99363         (internal_read_file): Remove unused local.
99365 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
99367         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
99368         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
99369         Problem reported by Denis Excoffier in
99370         <http://lists.gnu.org/r/bug-tar/2006-06/msg00023.html>.
99372 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
99374         * modules/sys_socket, modules/socklen: Include sys/types since
99375         FreeBSD 4.x's sys/socket.h needs it.
99377 2006-06-19  Simon Josefsson  <jas@extundo.com>
99379         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
99381 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
99383         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
99385 2006-06-19  Bruno Haible  <bruno@clisp.org>
99387         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
99388         and FULL_PATH_INTTYPES_H in angle brackets.
99389         Reported by Mark D. Baushke <mdb@gnu.org>.
99391 2006-06-17  Eric Blake  <ebb9@byu.net>
99393         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
99394         errno.
99396 2006-06-17  Bruno Haible  <bruno@clisp.org>
99398         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
99399         <sys/inttypes.h>.
99401 2006-06-17  Bruno Haible  <bruno@clisp.org>
99403         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
99404         whether errno is declared. Assume <errno.h> declares errno.
99406 2006-06-17  Bruno Haible  <bruno@clisp.org>
99408         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
99410 2006-06-17  Bruno Haible  <bruno@clisp.org>
99412         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
99413         problem on Solaris 2.5.1.
99415 2006-06-16  Eric Blake  <ebb9@byu.net>
99417         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
99418         * lib/unicodeio.c [!defined errno]: Likewise.
99419         * lib/strtol.c [!defined errno]: Likewise.
99420         * lib/strtod.c [!defined errno]: Likewise.
99422 2006-06-15  Eric Blake  <ebb9@byu.net>
99424         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
99426 2006-06-15  Eric Blake  <ebb9@byu.net>
99428         * config/srclist.txt (ssize_t.m4): Lose sync.
99430 2006-06-15  Bruno Haible  <bruno@clisp.org>
99432         * modules/stdint (Files): Include m4/full-header-path.m4,
99433         m4/size_max.m4, m4/wchar_t.m4.
99434         (Makefile.am): Many more substitutions.
99435         * modules/stdint-tests: New file.
99436         * tests/test-stdint.c: New file.
99438 2006-06-15  Bruno Haible  <bruno@clisp.org>
99440         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
99441         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
99442         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
99443         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
99444         gl_CHECK_TYPE_SAME): New macros.
99446 2006-06-15  Bruno Haible  <bruno@clisp.org>
99448         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
99450 2006-06-15  Bruno Haible  <bruno@clisp.org>
99452         * lib/stdint_.h: Rewritten to be fully auto-configured.
99453         Fixes bug on HP-UX/IA64.
99455 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
99457         * lib/getdate.y (__attribute__): Don't define if already defined.
99458         Problem reported by Larry Jones.
99459         * lib/utimens.c (__attribute__): Likewise.
99461 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
99463         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
99464         reported by Andreas Schwab.
99466 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99467             Bruno Haible  <bruno@clisp.org>
99469         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
99470         check for the declaration of strnlen and a run test that exposes the
99471         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
99472         rpl_strndup.
99474 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99475             Bruno Haible  <bruno@clisp.org>
99477         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
99479 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99481         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
99482         compile test, for Tru64 4.0D.
99484 2006-05-28  Karl Berry  <karl@gnu.org>
99486         * config/srclist.txt (printf-args.c): lose sync.
99488 2006-05-26  Martin Lambers  <marlam@marlam.de>
99490         * lib/getpass.c: Updates the test for the native W32 API, and adds
99491         missing includes, thus fixing compilation warnings.
99493 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
99495         * lib/exclude.c (exclude_fnmatch): New function.
99496         (excluded_file_name): Call exclude_fnmatch.
99497         * lib/exclude.h (excluded_file_name): New prototype
99499 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
99501         * lib/tempname.c (small_open, large_open): New macros.
99502         (__open, __open64) [!_LIBC]: Remove.
99503         (__gen_tempname): Use small_open and large_open instead of __open
99504         and __open64.  This fixes a portability bug on HP-UX 11.11i
99505         reported by Simon Wing-Tang in
99506         <http://lists.gnu.org/r/bug-coreutils/2006-05/msg00114.html>.
99508 2006-05-24  Bruno Haible  <bruno@clisp.org>
99510         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
99511         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
99512         Reported by Thorsten Maerz <torte@netztorte.de> via
99513         Aaron Stone <aaron@serendipity.cx>.
99515 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
99517         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
99518         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
99519         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
99520         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
99521         not really conditional on the cache.
99522         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
99524 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
99526         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
99527         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
99528         (my_usleep): Don't mishandle maximum value.
99530 2006-05-19  Jim Meyering  <jim@meyering.net>
99532         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
99534 2006-05-17  Bruno Haible  <bruno@clisp.org>
99536         Cygwin portability.
99537         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
99539 2006-05-17  Bruno Haible  <bruno@clisp.org>
99541         * lib/stdint_.h: Fix recognition of Cygwin.
99543 2006-05-15  Bruno Haible  <bruno@clisp.org>
99545         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
99546         on libtool patch by Ralf Wildenhues.
99548 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
99550         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
99551         test for C99 conformance; (bool) 0.5 is an integer constant
99552         expression, but (bool) -0.5 is not.  Problem reported by Fedor
99553         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
99555 2006-05-11  Simon Josefsson  <jas@extundo.com>
99557         * m4/xvasprintf.m4: Fix obvious typo.
99559 2006-05-11  Jim Meyering  <jim@meyering.net>
99561         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
99562         James Lemley.
99564 2006-05-10  Simon Josefsson  <jas@extundo.com>
99566         * lib/md4.c: Typo fix, update copyright years.
99567         (K1, K2): Don't use L because it turn computations into 64-bit on
99568         64-bit platforms.
99570 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
99572         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
99573         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
99574         unwanted sign propagation, e.g., on hosts with 64-bit int.
99575         There still are some problems with reeelly weird theoretical hosts
99576         (e.g., 33-bit int) but it's not worth worrying about now.
99577         * lib/sha1.c (rol): Likewise.
99578         (K1, K2, K3, K4): Remove unnecessary L suffix.
99580 2006-05-10  Bruno Haible  <bruno@clisp.org>
99582         * lib/des.c: Cast to avoid warnings.
99584 2006-05-09  Bruno Haible  <bruno@clisp.org>
99586         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
99587         (Depends-on): Depend also on xsize, stdarg.
99588         (configure.ac): Add gl_XVASPRINTF.
99590 2006-05-09  Bruno Haible  <bruno@clisp.org>
99592         * m4/xvasprintf.m4: New file.
99594 2006-05-09  Bruno Haible  <bruno@clisp.org>
99596         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
99597         (EOVERFLOW): Define fallback value.
99598         (xstrcat): New function.
99599         (xvasprintf): Recognize the special case of a string concatenation.
99601 2006-05-08  Eric Blake  <ebb9@byu.net>
99603         * gnulib-tool (func_version): Base copyright year on CVS date.
99604         (func_emit_copyright_notice): New function.
99605         (func_emit_lib_Makefile_am): Use it.
99606         (func_emit_tests_Makefile_am): Likewise.
99607         (func_import): Likewise.
99609 2006-05-08  Bruno Haible  <bruno@clisp.org>
99611         * modules/stdarg: New file.
99612         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
99614 2006-05-08  Bruno Haible  <bruno@clisp.org>
99616         * m4/stdarg.m4: New file, from GNU gettext.
99618 2006-05-08  Bruno Haible  <bruno@clisp.org>
99620         * config/srclist.txt (build-aux/config.rpath): different from latest
99621         release.
99623 2006-05-08  Bruno Haible  <bruno@clisp.org>
99625         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
99627 2006-05-05  Jim Meyering  <jim@meyering.net>
99629         * m4/warning.m4: New file, derived from bison's file by the same name.
99631 2006-05-03  Bruno Haible  <bruno@clisp.org>
99633         * lib/stdint_.h: Shorter URL.
99634         * lib/inttypes.h: Likewise.
99636 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
99638         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
99640 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
99642         * lib/verify.h: Document the internals better.  Most of this change
99643         was written by Bruno Haible.
99645 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
99647         * doc/verify.texi: New file, partly based on a proposal by
99648         Bruno Haible.
99650 2006-05-02  Bruno Haible  <bruno@clisp.org>
99652         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
99653         test from here...
99654         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
99656 2006-04-29  Bruno Haible  <bruno@clisp.org>
99658         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
99659         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
99661 2006-04-29  Bruno Haible  <bruno@clisp.org>
99663         * gnulib-tool: Make --update option actually work.
99665 2006-04-29  Bruno Haible  <bruno@clisp.org>
99667         * doc/gcd.texi: New file.
99668         * doc/gnulib.texi: Include it.
99670 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
99672         * lib/getdate.y (get_date): When adding relative date, start with the
99673         initial time, not with the result of the first mktime call.
99675 2006-04-25  Bruno Haible  <bruno@clisp.org>
99677         * gnulib-tool (func_import): Output the include directives in three
99678         blocks, sorted separately.
99679         Reported by Ben Pfaff <blp@cs.stanford.edu>.
99681 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
99683         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
99684         to define main with arguments, for C++.  Reported by Eric Blake.
99685         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
99686         Prefer 'int main ()' to 'int main (void)', for C++.
99687         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
99688         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
99689         for 'main', for C99 and C++.
99691 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
99693         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
99694         Don't assume that exit status -1 is valid.
99695         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
99696         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
99697         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
99698         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
99699         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
99700         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
99701         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
99702         functions can be used without declaring them, or that you can
99703         exit with status -1.
99704         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
99706 2006-04-24  Karl Berry  <karl@gnu.org>
99708         * config/srclist.txt (longdouble.m4): sync lost.
99710 2006-04-24  Eric Blake  <ebb9@byu.net>
99712         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
99714 2006-04-24  Bruno Haible  <bruno@clisp.org>
99716         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
99717         poll() implementation in AIX.
99718         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
99720 2006-04-24  Bruno Haible  <bruno@clisp.org>
99722         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
99723         assigned exactly once.
99725 2006-04-23  Claudio Fontana  <claudio@gnu.org>
99726             Bruno Haible  <bruno@clisp.org>
99728         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
99729         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
99730         for AM_CPPFLAGS.
99732 2006-04-23  Bruno Haible  <bruno@clisp.org>
99734         * modules/copy-file: Depend on unistd.
99735         * modules/execute: Likewise.
99736         * modules/fatal-signal: Likewise.
99737         * modules/findprog: Likewise.
99738         * modules/mkdtemp : Likewise.
99739         * modules/pipe: Likewise.
99740         * modules/wait-process: Likewise.
99742 2006-04-23  Bruno Haible  <bruno@clisp.org>
99744         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
99745         condition was already detected.
99746         Reported by Ben Pfaff <blp@cs.stanford.edu>.
99748 2006-04-23  Bruno Haible  <bruno@clisp.org>
99750         * lib/copy-file.c: Include <unistd.h> unconditionally.
99751         * lib/execute.c: Likewise.
99752         * lib/fatal-signal.c: Likewise.
99753         * lib/findprog.c: Likewise.
99754         * lib/mkdtemp.c: Likewise.
99755         * lib/pipe.h: Likewise.
99756         * lib/pipe.c: Likewise.
99757         * lib/wait-process.h: Likewise.
99759 2006-04-23  Bruno Haible  <bruno@clisp.org>
99761         * gnulib-tool (func_usage): Fix --import description. Document
99762         --update.
99763         (func_import): Create temporary file in a temporary directory, if
99764         --dry-run is specified. Silence errors from 'grep' when there are no
99765         m4 files in $m4dir.
99766         (func_create_testdir): Silence errors from 'grep' when there are no
99767         m4 files in $m4dir.
99768         Reported by Karl Berry <karl@freefriends.org>.
99770 2006-04-20  Bruno Haible  <bruno@clisp.org>
99772         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
99773         one argument, so that the code will be portable to Autoconf 2.60.
99774         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
99775         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
99776         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
99778 2006-04-19  Derek Price  <derek@ximbiot.com>
99779             Eric Blake  <ebb9@byu.net>
99781         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
99782         rather than "/full/path.h".  Update comment to match.  Shorten &
99783         generalize m4_translit call via AS_TR_CPP.
99785 2006-04-19  Derek Price  <derek@ximbiot.com>
99786             Eric Blake  <ebb9@byu.net>
99788         * lib/inttypes.h: Correct grammar in comment.
99790 2006-04-18  Derek Price  <derek@ximbiot.com>
99791             Paul Eggert  <eggert@cs.ucla.edu>
99793         * modules/inttypes: New file.
99794         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
99796 2006-04-18  Derek Price  <derek@ximbiot.com>
99797             Paul Eggert  <eggert@cs.ucla.edu>
99799         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
99800         New files.
99802 2006-04-18  Derek Price  <derek@ximbiot.com>
99803             Paul Eggert  <eggert@cs.ucla.edu>
99805         * lib/inttypes.h: New file.
99806         * lib/strtoimax.c: Assume <inttypes.h>.
99808 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
99810         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
99811         isn't mounted.  Problem reported by Kir Kolyshkin.
99813 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
99815         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
99816         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
99817         Derek R. Price.
99818         * lib/regex.h (RE_DUP_MAX): Update comment to match current
99819         implementation.
99821 2006-04-12  Eric Blake  <ebb9@byu.net>
99823         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
99824         is now done automatically by the corresponding Autoconf macro.
99826 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
99828         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
99829         time_r.h.
99831 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
99833         Merge regex changes from libc, removing some of our
99834         POSIX-conformance changes that were rejected and redoing them in a
99835         less-intrusive way.
99837         * lib/regcomp.c (re_compile_internal, init_dfa):
99838         Length arg is now size_t, not Idx.  All uses changed.
99839         (peek_token): Forward decl now says internal_function.
99840         (__re_error_msgid, __re_error_msgid_idx):
99841         Now static rather than extern with attribute_hidden.
99842         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
99843         For some reason libc prefers K&R style defns for external functions.
99844         (regerror) [!defined _LIBC]: Likewise.
99845         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
99846         (seek_collating_symbol_entry, lookup_collation_sequence_value):
99847         (build_range_exp, build_collating_symbol):
99848         Use K&R-style defn.
99849         (re_compile_fastmap): Use '\0' to memset, not 0.
99850         (utf8_sb_map): Make the calculations more obvious.
99851         (init_dfa, parse_bracket_exp, build_charclass_op):
99852         Call calloc and cast result, as glibc does.
99853         (init_word_char, fetch_token, peek_token, peek_token_bracket):
99854         (build_range_exp, build_collating_symbol):
99855         Now internal functions.
99857         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
99859         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
99860         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
99861         Don't depend on VMS; depend on __VMS instead, for POSIX
99862         namespace cleanness.
99863         (regoff_t): Define to ssize_t, not long int.
99865         Remove the REG_ macros named below.  Instead, make the old names
99866         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
99867         __USE_GNU_REGEX.
99868         (REG_BACKSLASH_ESCAPE_IN_LISTS):
99869         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
99870         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
99871         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
99872         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
99873         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
99874         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
99875         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
99876         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
99877         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
99878         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
99879         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
99880         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
99881         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
99882         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
99883         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
99884         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
99885         (REG_NREGS):
99886         Remove.  All uses replaced by the old RE_* names.
99887         (RE_BACKSLASH_ESCAPE_IN_LISTS):
99888         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
99889         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
99890         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
99891         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
99892         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
99893         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
99894         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
99895         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
99896         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
99897         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
99898         Don't bother having these macros be independent of each others'
99899         values, since they no longer exist in the POSIX name space.
99901         Rename the following member names back to their old names,
99902         unless !__USE_GNU_REGEX.  All uses changed back.
99903         (buffer): Renamed from re_buffer.
99904         (allocated): Renamed from re_allocated.
99905         (used): Renamed from re_used.
99906         (syntax): Renamed from re_syntax.
99907         (fastmap): Renamed from re_fastmap.
99908         (translate): Renamed from re_translate.
99909         (can_be_null): Renamed from re_can_be_null.
99910         (regs_allocated): Renamed from re_regs_allocated.
99911         (fastmap_accurate): Renamed from re_fastmap_accurate.
99912         (no_sub): Renamed from re_no_sub.
99913         (not_bol): Renamed from re_not_bol.
99914         (not_eol): Renamed from re_not_eol.
99915         (newline_anchor): Renamed from re_newline_anchor.
99916         (num_regs): Renamed from rm_num_regs.
99917         (start): Renamed from rm_start.
99918         (end): Renamed from rm_end.
99920         (free_state): Move up a bit.
99922         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
99923         #define to be empty.
99924         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
99925         when that is what is intended.
99926         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
99927         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
99928         (MAX): New macro.
99929         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
99930         All uses changed back to re_malloc, etc.  It's now the caller's
99931         responsibility to check for overflow; all callers changed.
99932         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
99933         (re_x2nrealloc): Remove.
99934         (free_state): Remove decl.
99936         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
99937         (re_set_registers, re_exec):
99938         Use K&R-style defn.
99940         2006-01-31  Roland McGrath  <roland@redhat.com>
99942         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
99943         Reported by Mike Frysinger <vapier@gentoo.org>.
99945         2006-01-15  Andreas Jaeger  <aj@suse.de>
99947         [BZ #1950]
99948         * lib/regex_internal.c (re_string_reconstruct): Adjust for
99949         build_wcs_upper_buffer change.
99950         (build_wcs_upper_buffer): Change return type.
99952         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
99954         * lib/regex_internal.h: Include <stdint.h> if available.
99956         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
99958         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
99960         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
99962         * lib/regcomp.c: Adjust for changed secondary hash function.
99964         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
99966         * lib/regex.h: Pretty printing.
99967         Clean up namespace a bit.
99969         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
99971         * lib/regexec.c (update_cur_sifted_state, check_arrival,
99972         check_arrival_add_next_nodes): Avoid using uninitialized variable.
99974         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
99975                     Ulrich Drepper  <drepper@redhat.com>
99977         [BZ #1302]
99978         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
99979         changed.
99980         (bitset_word_t): Renamed from bitset_word.  All uses changed.
99982         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
99984         [BZ #281]
99985         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
99986         * lib/regcomp.c: Remove unnecessary uses of
99987         unsigned RE_TRANSLATE_TYPE.
99988         * lib/regex_internal.h: Likewise.
99989         * lib/regex_internal.c: Likewise.
99990         * lib/regexec.c: Likewise.
99991         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
99993         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
99995         * lib/regexec.c (find_recover_state): Remove unnecessary
99996         initialization.
99997         (transit_state_bkref): Make DFA a const pointer.
99998         (get_subexp): Likewise.
99999         (check_arrival): Likewise.
100000         (update_cur_sifted_state): Likewise.
100001         (re_search_internal): Likewise.
100002         (prune_impossible_nodes): Likewise.
100003         (acquire_init_state_context): Likewise.
100004         (proceed_next_node): Likewise.
100005         (set_regs): Likewise.
100006         (free_fail_stack_return): Likewise.
100007         (check_arrival_expand_ecl): Mark DFA parameter as const.
100008         (check_arrival_expand_ecl_sub): Likewise.
100009         (check_subexp_limits): Likewise.
100010         (sub_epsilon_src_nodes):  Likewise.
100011         (add_epsilon_src_nodes):  Likewise.
100012         (merge_state_array): Likewise.
100013         (update_regs): Likewise.
100014         (build_trtable): Likewise.
100015         (sift_states_backward): Mark MCTX parameter as const.
100016         (build_sifted_states): Likewise.
100017         (update_cur_sifted_state): Likewise.
100018         (sift_states_mkref): Likewise.
100019         (check_arrival_expand_ecl): Mark eclosure as const.
100020         (check_dst_limits_calc_pos_1): Likewise.
100021         * lib/regex_internal.h (re_match_context_t): Make dfa a const
100022         pointer.
100024         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
100026         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
100027         (transit_state_sb): Likewise.
100028         (transit_state_mb): Likewise.
100029         (sift_states_iter_mb): Likewise.
100030         (check_arrival_add_next_nodes): Likewise.
100031         (check_node_accept_bytes): Change first parameter to pointer-to-const.
100032         [_LIBC] (re_search_2_stub): Use mempcpy.
100034         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
100035         mbrtowc for very simple UTF-8 case.
100037         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
100038         a pointer-to-const.
100039         (re_acquire_state_context): Likewise.
100040         * lib/regex_internal.h: Adjust prototypes.
100042         * lib/regex.c: Prevent using C++ compilers.
100044         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
100045         (re_acquire_state_context): Likewise.
100047 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
100049         * modules/regex (Depends-on): Add ssize_t.
100051 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
100053         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
100054         translation table.
100056 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
100058         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
100060 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
100061             Bruno Haible  <bruno@clisp.org>
100063         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
100064         <sys/types.h> and <inttypes.h>.
100066 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100068         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
100069         `__error_t_defined', so argp.h will not typedef the former.
100071 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
100073         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
100074         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
100075         glibc names.  Even if glibc is changed to conform to POSIX, the
100076         traditional names will be available anyway, since regex depends on
100077         the extensions module.  Also, fix a longstanding typo in the
100078         implementation of Spencer ERE test #75 from grep 2.3.  Problems
100079         reported by Emanuele Giaquinta.  Also, change sense of cached
100080         variable, so that the message makes sense.
100082 2006-03-24  Simon Josefsson  <jas@extundo.com>
100084         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
100085         including some doc fixes.
100086         (base64_encode_alloc): Fix +1 bug on allocation failures.
100088 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100090         * lib/base64.c (base64_encode): Do not read past end of array with
100091         unsanitized input on systems with CHAR_BIT > 8.
100093 2006-03-24  Eric Blake  <ebb9@byu.net>
100095         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
100097 2006-03-22  Karl Berry  <karl@gnu.org>
100099         * config/srclist.txt (*setenv.[ch]): get from coreutils.
100100         * config/srclistvars.sh (COREUTILS): new var.
100102 2006-03-17  Jim Meyering  <jim@meyering.net>
100104         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
100105         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
100107 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
100109         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
100110         no longer needs it.  Instead, check that regoff_t is as least
100111         as wide as ptrdiff_t.
100113         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
100114         so that our regex.h stays compatible with the installed regex.
100115         This is helpful for installers who configure --without-included-regex.
100116         Problem reported by Emanuele Giaquinta.
100118 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
100120         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
100121         Typedef to long int, not to off_, as POSIX will likely change
100122         in that direction.
100124 2006-03-15  Eric Blake  <ebb9@byu.net>
100126         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
100128 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
100130         * lib/argp-help.c (validate_uparams): Fix typo
100131         * lib/argp-parse.c (argp_default_options): Consistently begin help
100132         messages with a lowercase letter.
100134 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
100136         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
100137         overrun buffers and shouldn't be used (much as gets shouldn't be
100138         used).
100139         * lib/time_r.c (asctime_r, ctime_r): Likewise.
100141 2006-03-08  Simon Josefsson  <jas@extundo.com>
100143         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
100144         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
100146 2006-03-08  Simon Josefsson  <jas@extundo.com>
100148         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
100149         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
100151 2006-03-08  Simon Josefsson  <jas@extundo.com>
100153         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
100154         signal that configure disabled the device.
100156 2006-03-08  Simon Josefsson  <jas@extundo.com>
100158         * build-aux/maint.mk: Fix refresh-po, to handle no translated
100159         languages.
100161 2006-03-07  Simon Josefsson  <jas@extundo.com>
100163         * modules/getopt (Depends-on): Add unistd.
100165         * modules/unistd: New file.
100167 2006-03-07  Simon Josefsson  <jas@extundo.com>
100169         * modules/gc-random: New file.
100171 2006-03-07  Simon Josefsson  <jas@extundo.com>
100173         * m4/unistd_h.m4: New file.
100175 2006-03-07  Simon Josefsson  <jas@extundo.com>
100177         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
100178         test to be side-effect free by storing the result in the cache
100179         variable gl_cv_lib_readline, and moving the assignment of
100180         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
100181         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
100183 2006-03-07  Simon Josefsson  <jas@extundo.com>
100185         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
100186         error on missing devices (the functions will return an error).
100188         * m4/gc.m4: Move random stuff to gc-random.m4
100190 2006-03-07  Simon Josefsson  <jas@extundo.com>
100192         * lib/unistd_.h: New file.
100194 2006-03-07  Simon Josefsson  <jas@extundo.com>
100196         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
100198 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
100200         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
100201         Problem reported by Juan Manuel Guerrero.
100203 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
100205         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
100206         the unistd module.
100207         * lib/getlogin_r.c: Likewise.
100208         * lib/getlogin_r.h: Likewise.
100209         * lib/glob.c: Likewise.
100210         * lib/pagealign_alloc.c: Likewise.
100211         * lib/unistd_.h: Remove; no longer needed.
100213 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
100215         * MODULES.html.sh (Support for systems lacking POSIX:2001):
100216         Add unistd.
100217         * modules/c-stack (Depends-on): Add unistd.
100218         * modules/getlogin_r: Likewise.
100219         * modules/glob: Likewise.
100220         * modules/pagealign_alloc: Likewise.
100221         * modules/unistd (Files): Remove lib/unistd_.h.
100222         (EXTRA_DIST): Remove.
100223         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
100224         need unistd_.h.
100225         (MOSTLYCLEANFILES): Remove unistd.h-t.
100227 2006-03-03  Simon Josefsson  <jas@extundo.com>
100229         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
100231 2006-03-03  Simon Josefsson  <jas@extundo.com>
100233         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
100234         libidn and bison.
100236 2006-03-03  Simon Josefsson  <jas@extundo.com>
100238         * build-aux/maint.mk: Add indent target.
100240 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
100242         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
100243         our replacement poll.h in any case, to avoid a differing
100244         declaration from a system header.  Seen on AIX.
100246 2006-03-01  Simon Josefsson  <jas@extundo.com>
100248         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
100249         <kasal@ucw.cz>.
100251 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
100253         * modules/gettime (Depends-on): Add extensions module.
100254         * modules/nanosleep (Depends-on): Likewise.
100255         * modules/settime (Depends-on): Likewise.
100257 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
100259         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
100260         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
100261         pedantically.
100262         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
100263         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
100265         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
100266         not "==".  Reported by Ralf Wildenhues.
100268 2006-03-01  Karl Berry  <karl@gnu.org>
100270         * doc/Copyright/request-*: new files, synced from gnuorg.
100272 2006-03-01  Karl Berry  <karl@gnu.org>
100274         * config/srclist.txt (Copyright/*): new entries.
100276 2006-02-28  Simon Josefsson  <jas@extundo.com>
100278         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
100280 2006-02-27  Simon Josefsson  <jas@extundo.com>
100282         * lib/base64.h: Indent #define's.  From Jim Meyering
100283         <jim@meyering.net>.
100285 2006-02-27  Jim Meyering  <jim@meyering.net>
100287         Revert the change of 2006-02-24, so these files can continue
100288         to be sync'd from gettext.
100289         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
100290         of `config.h'.
100292 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
100294         * modules/intprops: New file.
100295         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
100296         Add intprops.
100297         * modules/getloadavg (Files): Remove lib/intprops.h.
100298         (Depends-on): Add intprops.
100299         * modules/human: Likewise.
100300         * modules/inttostr: Likewise.
100301         * modules/openat: Likewise.
100302         * modules/sig2str: Likewise.
100303         * modules/userspec: Likewise.
100304         * modules/utimecmp: Likewise.
100305         * modules/xnanosleep: Likewise.
100306         * modules/xstrtol: Likewise.
100308 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
100310         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
100311         * modules/lock-tests (TESTS): Use $(EXEEXT).
100312         * modules/tls-tests: Likewise.
100313         * modules/argp-tests: Likewise.
100314         (check_PROGRAMS): New var, replacing...
100315         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
100317 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100319         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
100320         `config.h'.
100322 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
100324         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
100326 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100328         Sync from coreutils.
100329         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
100330         gl_CHDIR_SAFER.
100332 2006-02-22  Jim Meyering  <jim@meyering.net>
100334         Sync from coreutils.
100335         * m4/chdir-safer.m4: New file.
100337 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
100339         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
100340         AT_FDCWD exceeds INT_MAX.
100341         * lib/openat.h (AT_FDCWD): Likewise.
100343 2006-02-17  Eric Blake  <address@hidden>
100345         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
100347 2006-02-16  Simon Josefsson  <jas@extundo.com>
100349         * modules/getaddrinfo (Depends-on): Add sys_socket.
100351 2006-02-15  Simon Josefsson  <jas@extundo.com>
100353         * build-aux/maint.mk: Add dsyntax-check rule.
100355 2006-02-15  Eric Blake  <ebb9@byu.net>
100357         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
100358         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
100359         'present but cannot compile' warnings on cygwin.
100360         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
100361         use ws2tcpip.h if sys/socket.h works.
100362         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
100363         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
100365 2006-02-14  Simon Josefsson  <jas@extundo.com>
100367         * modules/maintainer-makefile (Files): Rename.
100369         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
100370         and (the local) Makefile.cfg to maint-cfg.mk.
100372         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
100373         to the latter.
100375         * modules/maintainer-makefile: New module.
100377         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
100378         severaly stripped to make it possible to build it up from scratch
100379         with reliable tests.
100381         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
100382         fixes to permit overriding the default actions when configure and
100383         makefile are not available.
100385 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
100387         Sync from coreutils.
100388         * modules/lstat (Depends-on): Don't depend on xalloc.
100389         (License): Change from GPL to LGPL, since this is now simply a
100390         replacement for a libc function.
100392 2006-02-14  Jim Meyering  <jim@meyering.net>
100394         Sync from coreutils.
100396         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
100397         failure on deficient systems, and simplify gnulib lgpl dependencies.
100398         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
100399         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
100401         * lib/xalloc-die.c: Remove unused definition of N_.
100403 2006-02-14  Jim Meyering  <jim@meyering.net>
100405         Sync from coreutils.
100406         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
100407         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
100408         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
100409         double-quote uses of that variable, to accommodate the rare case in
100410         which getmntent is available in none of the libraries checked.  This
100411         happens at least on FreeBSD 5.0.
100413 2006-02-13  Simon Josefsson  <jas@extundo.com>
100415         * gnulib-tool (Usage): Fix --import, from
100416         karl@freefriends.org (Karl Berry).
100418 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
100420         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
100422 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
100424         * lib/argp-namefrob.h: Restore changes accidentally lost during the
100425         "autoupdate" on 2005-12-12.
100427 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
100429         * modules/closeout (Depends-on): Remove atexit.
100431 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
100433         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
100434         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
100436 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
100438         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
100439         __EXTENSIONS__ if this causes compilation to fail.  Problem
100440         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
100441         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
100443 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
100445         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
100446         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
100447         <http://lists.gnu.org/r/bug-gnulib/2006-01/msg00074.html>.
100448         All uses changed.
100450 2006-01-26  Simon Josefsson  <jas@extundo.com>
100452         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
100453         prototype is visible on mingw32.
100455         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
100456         for mingw32.
100458         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
100459         mingw32).
100461 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
100463         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
100464         attempt to open for write; this always fails, at least on POSIX
100465         hosts.  This reinstates the 2006-01-09 change, which was
100466         inadvertently removed.
100468 2006-01-26  Bruno Haible  <bruno@clisp.org>
100470         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
100471         Reported by Paul Eggert.
100473 2006-01-26  Bruno Haible  <bruno@clisp.org>
100474             Paul Eggert  <eggert@cs.ucla.edu>
100476         * lib/stdbool_.h (_Bool)
100477         [(! (defined __cplusplus || defined __BEOS__)
100478           && !defined __GNUC__
100479           && !(defined __HP_cc || defined __xlc__
100480                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
100481                || defined __sgi))]:
100482         #define to signed char in these cases too; this simplifies
100483         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
100484         etc., separately) and makes it more conservative.
100486 2006-01-25  Simon Josefsson  <jas@extundo.com>
100488         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
100489         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
100490         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
100492 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
100494         * lib/argp-namefrob.h: Bugfix. Remove stray #
100496 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
100498         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
100499         so that we test the test.
100500         Check for yet another HP-UX cc bug involving *bool |= bool.
100502 2006-01-25  Karl Berry  <karl@gnu.org>
100504         * config/srclist.txt (vasnprintf.c): sync lost.
100506 2006-01-25  Jim Meyering  <jim@meyering.net>
100508         Sync from the stable (b5) branch of coreutils:
100510         * lib/fts.c (fts_children): Don't let close() clobber errno from
100511         failed fchdir().
100513         * lib/fts.c (fts_stat): When following a symlink-to-directory,
100514         don't necessarily interpret stat-fails+lstat-succeeds as indicating
100515         a dangling symlink.  That can also happen at least for ELOOP.
100516         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
100517         FYI, this bug predates the inclusion of fts.c in coreutils.
100519         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
100520         in their own block, so pre-c99 compilers don't object.
100522         Avoid the double-free (first in fts_read, second in fts_close) that
100523         would occur when an `active' directory is made inaccessible (e.g.,
100524         via chmod a-x) during a traversal.
100525         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
100526         before returning.  Reproduce this failure by
100527         mkdir -p a/b; cd a; chmod a-x . b
100528         Reported by Stavros Passas.
100530 2006-01-25  Jim Meyering  <jim@meyering.net>
100532         * lib/fileblocks.c: Remove more useless parentheses.
100533         * lib/readutmp.h: Likewise.
100535 2006-01-25  Bruno Haible  <bruno@clisp.org>
100537         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
100538         warnings.
100539         Reported by Paul Eggert.
100541 2006-01-25  Bruno Haible  <bruno@clisp.org>
100543         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
100544         rid of a trap command. For Solaris sh.
100545         Reported by Mark D. Baushke <mdb@gnu.org>.
100547 2006-01-24  Simon Josefsson  <jas@extundo.com>
100549         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
100550         Bruno.
100552 2006-01-24  Karl Berry  <karl@gnu.org>
100554         * config/srclist.txt (argp-namefrob.h): sync lost.
100556 2006-01-24  Jim Meyering  <jim@meyering.net>
100558         * modules/openat (Files): Add lib/intprops.h.
100559         From Mark D. Baushke.
100561 2006-01-24  Jim Meyering  <jim@meyering.net>
100563         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
100564         Reported by Mark D. Baushke.
100566 2006-01-24  Jim Meyering  <jim@meyering.net>
100568         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
100570 2006-01-24  Bruno Haible  <bruno@clisp.org>
100572         * modules/strnlen (Maintainer): Change from glibc to all.
100574 2006-01-24  Bruno Haible  <bruno@clisp.org>
100576         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
100577         Patch by Paul Eggert.
100579 2006-01-24  Bruno Haible  <bruno@clisp.org>
100581         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
100582         already has it.
100583         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
100584         2005-11-26.
100586         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
100587         'signed char' to avoid problems with the built-in _Bool type.
100588         Reported by Paul Eggert on 2005-11-26.
100590 2006-01-24  Bruno Haible  <bruno@clisp.org>
100592         * gnulib-tool (func_import): Avoid constructing complicated sed
100593         expressions inside backquote.
100594         Report and solution by Mark D. Baushke <mdb@gnu.org>.
100596 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
100598         These changes imported from libc.
100599         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
100600         test and two separate function calls.
100601         * lib/strndup.c (__strndup): Add libc_hidden_def.
100603 2006-01-23  Simon Josefsson  <jas@extundo.com>
100605         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
100606         Remove the test_*_SOURCES variable: automake infers it by default.
100607         * modules/tls-tests: Likewise.
100609 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
100611         Work around porting bugs reported by Dieter in
100612         <http://lists.gnu.org/r/bug-bison/2006-01/msg00049.html>.
100613         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
100614         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
100615         Include "getopt.h" first, to check interface.
100616         (getenv): Declare only if defined HAVE_DECL_GETENV &&
100617         !HAVE_DECL_GETENV.
100618         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
100619         (__strndup): Revert to K&R-style function dfns, the glibc style.
100620         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
100621         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
100622         Include strnlen.h first, to get prototype properly.
100623         (strnlen): Renamed from __strnlen.
100624         Remove weak alias.
100626 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
100628         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
100630 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
100632         * config/srclist.txt: Adjust to reflect glibc reorganization.
100633         This affects only comments.
100635 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
100637          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
100638          Reported by Bruce Korb <bkorb@gnu.org>.
100640 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
100642         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
100643         to pacify gcc -Wswitch-default.
100645 2006-01-22  Bruno Haible  <bruno@clisp.org>
100647         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
100648         temporary buffer for sprintf, take into account the precision also
100649         for 'd', 'i', 'u', 'o', 'x', 'X'.
100651 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
100653         * modules/argp-tests: New module
100654         * tests/test-argp.c: New file
100655         * tests/test-argp-2.sh: New file
100657 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
100659         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
100660         (__argp_base_name): Removed
100661         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
100662         typo.
100663         (__argp_base_name): Provide macro definition or extern declaration
100664         depending on the configuration
100666 2006-01-20  Simon Josefsson  <jas@extundo.com>
100668         * modules/inet_ntop (Depends-on): Depend on sys_socket.
100670 2006-01-20  Simon Josefsson  <jas@extundo.com>
100672         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
100674 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
100676         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
100677         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
100678         Suggested by Bruno Haible.
100680 2006-01-20  Karl Berry  <karl@gnu.org>
100682         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
100683         until changes propagate, I guess.
100685 2006-01-19  Simon Josefsson  <jas@extundo.com>
100687         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
100689 2006-01-19  Simon Josefsson  <jas@extundo.com>
100691         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
100693 2006-01-19  Simon Josefsson  <jas@extundo.com>
100695         * gnulib-tool: Set check_PROGRAMS.
100697         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
100698         modules/des-tests, modules/gc-arcfour-tests,
100699         modules/gc-arctwo-tests, modules/gc-des-tests,
100700         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
100701         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
100702         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
100703         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
100704         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
100705         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
100706         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
100707         test_*_SOURCES.
100709 2006-01-18  Simon Josefsson  <jas@extundo.com>
100711         * modules/socklen (Depends-on): Depend on sys_socket.
100713 2006-01-18  Simon Josefsson  <jas@extundo.com>
100715         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
100716         modules/des-tests, modules/gc-arcfour-tests,
100717         modules/gc-arctwo-tests, modules/gc-des-tests,
100718         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
100719         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
100720         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
100721         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
100722         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
100723         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
100724         $(EXEEXT) to automake TESTS variable, for mingw32.
100726 2006-01-17  Simon Josefsson  <jas@extundo.com>
100728         * modules/socklen (Include): Need sys/socket.h.
100730 2006-01-17  Bruno Haible  <bruno@clisp.org>
100732         * modules/ssize_t (Include): Add <sys/types.h>.
100734 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
100736         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
100737         it's not portable and it doesn't work with cross-compiles.
100738         Problem reported by Bruno Haible.  Fix missing-$ typo in
100739         'test "gl_cv_ignore_unused_libraries" ...' that prevented
100740         -zignore from being used with Sun's C compiler.
100742 2006-01-12  Simon Josefsson  <jas@extundo.com>
100744         * lib/base64.c: Fix warning, reported by Bruno Haible
100745         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
100747 2006-01-12  Bruno Haible  <bruno@clisp.org>
100749         * modules/ldd: New file.
100750         * build-aux/ldd.sh.in: New file.
100751         * MODULES.html.sh (Support for building libraries and executables): Add
100752         ldd.
100754 2006-01-12  Bruno Haible  <bruno@clisp.org>
100756         * m4/ldd.m4: New file.
100758 2006-01-12  Bruno Haible  <bruno@clisp.org>
100760         * gnulib-tool (func_import, func_create_testdir): Don't go into an
100761         endless loop while replacing $auxdir with build-aux.
100763 2006-01-11  Simon Josefsson  <jas@extundo.com>
100765         * lib/stdint_.h (SIZE_MAX): Add missing (.
100767 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
100769         Sync from coreutils.
100770         * lib/md5.c: Fix commentary typos.
100771         (alignof, UNALIGNED_P): No need for a GCC-specific version.
100772         * lib/md5.h (__attribute__): Remove; unused.
100773         * lib/sha1.c: Fix commentary to match md5 better.
100774         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
100775         so that we don't need to worry about alignment.  All uses changed.
100776         This merges the 2005-10-28 md5 change into sha1.
100778 2006-01-11  Jim Meyering  <jim@meyering.net>
100780         Sync from coreutils.
100781         * lib/md5.c (OP): Fix spacing.
100783 2006-01-11  Bruno Haible  <bruno@clisp.org>
100785         Ensure automatic ordering between gl_LOCK and gl_ARGP.
100786         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
100787         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
100789 2006-01-11  Bruno Haible  <bruno@clisp.org>
100791         Ensure automatic ordering between gl_LOCK and gl_ARGP.
100792         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
100793         the "early" section as well.
100795 2006-01-11  Bruno Haible  <bruno@clisp.org>
100797         Avoid "ar: no archive members specified" error on MacOS X.
100798         * gnulib-tool (func_modules_add_dummy): New function.
100799         (func_import, func_create_testdir): Invoke it.
100801 2006-01-11  Bruno Haible  <bruno@clisp.org>
100803         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
100804         with $auxdir in AC_CONFIG_FILES statements.
100806 2006-01-11  Bruno Haible  <bruno@clisp.org>
100808         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
100809         Initialize also noinst_HEADERS to empty.
100811 2006-01-11  Bruno Haible  <bruno@clisp.org>
100813         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
100814         variables.
100815         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
100816         autoreconf.
100818 2006-01-11  Bruno Haible  <bruno@clisp.org>
100820         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
100821         overridable by the user.
100822         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
100824 2006-01-10  Simon Josefsson  <jas@extundo.com>
100826         * modules/sys_socket: New file.
100828 2006-01-10  Simon Josefsson  <jas@extundo.com>
100830         * m4/sys_socket_h.m4: New file.
100832 2006-01-10  Simon Josefsson  <jas@extundo.com>
100834         * lib/socket_.h: New file.
100836 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
100838         * modules/readutmp (Maintainer): Add myself.
100840 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
100842         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
100843         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
100844         People who are still concerned with buggy memcmp implementations
100845         can invoke gl_FUNC_MEMCMP themselves.
100847 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
100849         * lib/regex_internal.h (BITSET_WORD_BITS):
100850         Work around a bug in 64-bit PGC (before version 6.1-2), where the
100851         preprocessor mishandles large unsigned values as if they were signed.
100852         Problem reported by Claudio Fontana in
100853         <http://lists.gnu.org/r/bug-gnulib/2005-12/msg00061.html>.
100855 2006-01-10  Jim Meyering  <jim@meyering.net>
100857         Avoid the double-free (first in fts_read, second in fts_close) that
100858         would occur when an `active' directory is made inaccessible (e.g.,
100859         via chmod a-x) during a traversal.
100860         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
100861         before returning.  Reproduce this failure by
100862         mkdir -p a/b; cd a; chmod a-x . b
100863         Reported by Stavros Passas.
100865         Sync from coreutils.
100866         * lib/sha1.c: Tweak grammar in a comment.
100868 2006-01-10  Jim Meyering  <jim@meyering.net>
100870         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
100871         Patch by Joerg Sonnenberger.
100873 2006-01-10  Bruno Haible  <bruno@clisp.org>
100875         * modules/readutmp: Depend on module free.
100876         * modules/strtok_r: Depend on module restrict.
100878 2006-01-10  Bruno Haible  <bruno@clisp.org>
100880         * modules/gettext (configure.ac): Add an invocation of
100881         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
100883 2006-01-10  Bruno Haible  <bruno@clisp.org>
100885         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
100886         Reported by Werner Lemberg <wl@gnu.org>.
100888 2006-01-10  Bruno Haible  <bruno@clisp.org>
100890         * lib/localcharset.c: Update from GNU gettext.
100892 2006-01-10  Bruno Haible  <bruno@clisp.org>
100894         * lib/argp.h (__const): Remove macro. Use const instead.
100895         * lib/argp-fmtstream.h (__const): Likewise.
100896         * lib/glob_.h (__const): Remove macro.
100897         * lib/glob-libc.h: Use const instead of __const.
100899 2006-01-10  Bruno Haible  <bruno@clisp.org>
100901         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
100902         variable.
100903         Needed to avoid an automake error regarding the 'gettext' module.
100905 2006-01-09  Simon Josefsson  <jas@extundo.com>
100907         * modules/inet_ntop (Depends-on): Add restrict.
100909 2006-01-09  Simon Josefsson  <jas@extundo.com>
100911         * modules/gc-rijndael-tests (License): Put under LGPL.
100913         * modules/gc-des-tests (License): Likewise.
100915         * modules/gc-arcfour-tests (License): Likewise.
100917         * modules/gc-arctwo-tests (License): Likewise.
100919         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
100921         * modules/gc-hmac-sha1-tests (Files): Likewise.
100923         * modules/gc-hmac-md5-tests (License): Likewise.
100925         * modules/gc-sha1-tests (License): Likewise.
100927         * modules/gc-md5-tests (License): Likewise.
100929         * modules/gc-md4-tests (License): Likewise.
100931         * modules/gc-md2-tests (License): Likewise.
100933         * modules/gc-tests (License): Likewise.
100935         * modules/des-tests (License): Likewise.
100937         * modules/md4-tests (License): Likewise.
100939         * modules/md2-tests (License): Likewise.
100941 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
100943         Sync from coreutils:
100945         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
100946         * modules/lib-ignore: New file.
100947         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
100948         chdir-safer.m4, lchmod.m4.
100949         * modules/openat: Add mkdirat.c, openat-priv.h.
100951 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
100953         Sync from coreutils.
100954         * m4/lib-ignore.m4: New file.
100955         * m4/lchmod.m4: New file.
100957 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
100959         Sync from coreutils.
100960         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
100961         for write access: POSIX says that must fail.
100962         * lib/fts.c (diropen): Likewise.
100963         * lib/save-cwd.c (save_cwd): Likewise.
100964         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
100965         well, for minor improvements on hosts that lack O_DIRECTORY.
100966         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
100967         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
100968         Fall back on chown if open failed with EACCES.
100970         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
100971         Report an error at compile-time if only a 1-second nominal clock
100972         resolution is found.
100974         * lib/lchmod.h: New file.
100975         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
100976         (make_dir_parents): Use lchown rather than chown, and
100977         lchmod rather than chmod.
100979         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
100980         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
100981         "proc" reported by n0dalus.
100983         * lib/mountlist.c: Include <limits.h>.
100984         (dev_from_mount_options)
100985         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
100986         New function.  It no longer assumes "dev=" has the System V meaning
100987         on Linux (since it doesn't).  It also parses "dev=" more carefully.
100988         (read_file_system_list)
100989         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
100990         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
100991         dev= in that case.
100993         * lib/posixtm.h (PDS_PRE_2000): New macro.
100994         * lib/posixtm.c (year): Arg is now syntax_bits rather than
100995         allow_century.  All usages changed.  Reject dates outside the range
100996         1969-1999 if PDS_PRE_2000 is used.
100998 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
101000         Sync from coreutils.
101001         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
101002         (Time of day items): Mention the possibility of leap seconds.
101003         Problem reported by Dr. David Alan Gilbert.
101005 2006-01-09  Jim Meyering  <jim@meyering.net>
101007         Sync from coreutils.
101009         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
101011         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
101013         * lib/modechange.c (mode_compile): Reject an invalid mode string
101014         that starts with an octal digit.  From Andreas Gruenbacher.
101016         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
101017         and dup to open_safer and dup_safer, respectively.
101018         (openat_permissive): Fix typo in comment.
101020         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
101021         "gettext.h"; either no longer needed or are guaranteed by openat.h.
101022         (_): Remove; no longer needed.
101023         (openat): Renamed from rpl_openat; no need for rpl_openat
101024         since openat.h renames openat for us.
101025         Replace most of the body with a call to openat_permissive,
101026         to avoid duplicate code.
101027         Port to (probably hypothetical) environments were mode_t is
101028         wider than int.
101029         (openat_permissive): Require mode arg, so that we can check
101030         types better.  Put it just after flags.  Change cwd failure
101031         indicator from pointer-to-bool to pointer-to-errno-value.
101032         All callers changed.
101033         Invoke openat_save_fail and/or openat_restore_fail if
101034         cwd_errno is null, so that openat can call us.
101035         (openat_permissive, fdopendir, fstatat, unlinkat):
101036         Simplify errno handling to avoid some duplicate code,
101037         as it's OK to set errno on success.
101038         * lib/openat.h: Revamp code so that function macros depend on
101039         __OPENAT_PREFIX only, not also on AT_FDCWD.
101040         (openat_ro): Remove.  Caller changed to use openat_permissive.
101041         (openat_permissive): Now a macro, if not a function.
101042         (openat_restore_fail, openat_save_fail): Now always functions,
101043         since mkdirat needs them even if __OPENAT_PREFIX is defined.
101045         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
101046         and openat.c.
101047         * lib/mkdirat.c: Include openat-priv.h.
101048         Remove definitions of macros defined therein.
101049         * lib/openat.c: Likewise.
101051         * lib/mkdirat.c (mkdirat): New file and function.
101052         * lib/openat.h (mkdirat): Declare.
101054         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
101056         * lib/openat.h (openat_permissive): Declare.
101057         (openat_ro): Define.
101059         * lib/openat.c (EXPECTED_ERRNO): New macro.
101060         (openat_permissive): New function -- used in remove.c rewrite.
101061         (all functions): Set errno just before returning, only if there
101062         was an actual failure.
101063         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
101065         Emulate openat-family functions using Linux's procfs, if possible.
101066         Idea and some code based on Ulrich Drepper's glibc changes.
101068         * lib/openat.c: (BUILD_PROC_NAME): New macro.
101069         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
101070         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
101071         before falling back on save_cwd and restore_cwd.
101072         (fdopendir, fstatat, unlinkat): Likewise.
101074         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
101075         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
101077         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
101078         as second argument to va_arg.  Otherwise, some versions of gcc
101079         warn that `if this code is reached, the program will abort'.
101081 2006-01-09  Jim Meyering  <jim@meyering.net>
101083         Sync from coreutils.
101084         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
101085         Require openat-priv.h.
101087 2006-01-09  Bruno Haible  <bruno@clisp.org>
101089         * modules/strnlen (Include): Use strnlen.h.
101091 2006-01-09  Bruno Haible  <bruno@clisp.org>
101093         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
101095 2006-01-09  Bruno Haible  <bruno@clisp.org>
101097         * lib/sysexit_.h (EX_OK): New macro.
101098         Suggested by Martin Lambers <marlam@marlam.de>.
101100 2006-01-09  Bruno Haible  <bruno@clisp.org>
101102         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
101103         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
101105 2006-01-09  Bruno Haible  <bruno@clisp.org>
101107         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
101108         numbers.
101110 2006-01-09  Bruno Haible  <bruno@clisp.org>
101112         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
101113         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
101114         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
101115         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
101117 2006-01-09  Bruno Haible  <bruno@clisp.org>
101119         * build-aux/javacomp.sh.in: New file, moved from lib/.
101120         * modules/javacomp-script (Files): Update.
101121         (configure.ac): Add AC_CONFIG_FILES invocation.
101122         (EXTRA_DIST): Remove variable.
101124         * build-aux/javaexec.sh.in: New file, moved from lib/.
101125         * modules/javaexec (Files): Update.
101126         (configure.ac): Add AC_CONFIG_FILES invocation.
101127         (EXTRA_DIST): Remove javaexec.sh.in.
101129         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
101130         * modules/csharpcomp-script (Files): Update.
101131         (configure.ac): Add AC_CONFIG_FILES invocation.
101132         (EXTRA_DIST): Remove variable.
101134         * build-aux/csharpexec.sh.in: New file, moved from lib/.
101135         * modules/csharpexec (Files): Update.
101136         (configure.ac): Add AC_CONFIG_FILES invocation.
101137         (EXTRA_DIST): Remove csharpexec.sh.in.
101139 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
101141         Sync from coreutils.
101143         Add POSIX ACL support
101144         * lib/acl.h (copy_acl, set_acl): Add declarations.
101145         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
101146         systems other than Linux.
101147         (chmod_or_fchmod): New function: use fchmod when possible,
101148         and chmod otherwise.
101149         (file_has_acl): Add a POSIX ACL implementation, with a
101150         Linux-specific subcase.
101151         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
101152         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
101153         acls are unsupported.
101154         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
101155         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
101156         are unsupported.
101158 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
101160         Sync from coreutils.
101161         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
101163 2006-01-07  Bruno Haible  <bruno@clisp.org>
101165         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
101166         gl_EARLY.
101168 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
101170         * lib/strftime.c (tzname): Don't declare if it is already #defined.
101171         Problem reported for Mingw by Mark Junker.
101173 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
101175         * README: Gnulib normally doesn't generate a tarball.
101177 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
101179         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
101180         long int, not int, for nanosecond counts, so that people who are
101181         used to POSIX struct timespec won't be surprised.  Reported by Jim
101182         Meyering.
101184 2005-12-28  Bruno Haible  <bruno@clisp.org>
101186         * build-aux/config.rpath: Update from GNU gettext.
101188 2005-12-16  Jim Meyering  <jim@meyering.net>
101190         * modules/fprintftime: New module.
101191         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
101193 2005-12-16  Jim Meyering  <jim@meyering.net>
101195         * m4/fprintftime.m4: New file.
101197 2005-12-16  Jim Meyering  <jim@meyering.net>
101199         * lib/fprintftime.c, lib/fprintftime.h: New files.
101201 2005-12-15  Simon Josefsson  <jas@extundo.com>
101203         * modules/socklen (configure.ac): Fix M4 macro name, to align with
101204         new m4/socklen.m4.
101206 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
101208         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
101209         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
101211 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
101213         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
101214         * lib/argp-help.c (fill_in_uparams): Check if the constructed
101215         struct uparams is valid. Fall back to the default values if it is
101216         not.
101218 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
101220         * modules/argp (Files): Add argp-pin.c
101221         (Depends-on): dirname
101222         (lib_SOURCES): Add argp-pin.c
101224 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
101226         * m4/argp.m4:  Check if program_invocation_name and
101227         program_invocation_short_name are declared and define appropriate
101228         macros if they are not.
101230 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
101232         * lib/argp-help.c (__argp_base_name): New function
101233         (__argp_short_program_name): Rewrite using __argp_base_name
101234         * lib/argp-namefrob.h: Define program_invocation_name and
101235         program_invocation_short_name if requested
101236         (__argp_base_name): Add prototype
101237         * lib/argp-parse.c (argp_def): Use gettext wrappers
101238         (argp_default_parser): Use __argp_base_name
101239         * lib/argp-pin.c: New file. Defines program_invocation_name and
101240         program_invocation_short_name on systems that lack them.
101242 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
101244         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
101245         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
101246         porting problem reported by Georg Schwarz in
101247         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
101249 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
101251         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
101252         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
101253         porting problem reported by Georg Schwarz in
101254         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
101256 2005-12-05  Bruno Haible  <bruno@clisp.org>
101258         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
101259         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
101260         Reported by Mark Junker <mjscod@gmx.de>.
101262 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
101264         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
101265         Use implementation from Albert Chin, with some
101266         comments/corrections by Stepan Kasal and myself.
101268 2005-12-02  Bruno Haible  <bruno@clisp.org>
101270         * gnulib-tool (func_import): Accept GPLed build tool modules when
101271         --lgpl is given.
101272         * modules/csharpcomp-script: New file.
101273         * modules/csharpcomp: Depend on it.
101274         * modules/javacomp-script: New file.
101275         * modules/javacomp: Depend on it.
101276         Suggested by Simon Josefsson.
101278 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
101280         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
101281         statement, to work around an HP-UX 10.20 compiler bug reported by
101282         Peter O'Gorman.
101284 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
101286         * modules/savedir (Depends-on): Add openat.
101288 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
101290         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
101291         (uintmax_t) [defined uintmax_t]: Do not declare.
101292         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
101293         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
101294         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
101295         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
101296         sake of portability to weird hosts that C allows (though we don't
101297         know of any practical examples).
101299         * lib/savedir.h (fdsavedir): New decl.
101300         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
101301         contains most of the former guts of savedir.
101302         (savedir): Use savedirstream.
101303         Include "openat.h".
101305 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
101307         * modules/obstack (Files): Add m4/ulonglong.m4.
101308         Problem reported by Davide Angelocola.
101310 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
101312         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
101313         coreutils no longer futzes with rounding modes.
101315 2005-11-14  Jim Meyering  <jim@meyering.net>
101317         * lib/mkstemp-safer.c: Include <config.h>, required for possible
101318         replacement of mkstemp.
101320 2005-11-10  Simon Josefsson  <jas@extundo.com>
101322         * lib/readline.c: Remove EOL.
101324 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
101326         * modules/gethrxtime (Depends-on): Add gettime.
101328 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
101330         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
101331         or gettimeofday; no longer needed.
101333 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
101335         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
101336         time business.
101337         (gethrxtime) [! (HAVE_NANOUPTIME
101338         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
101339         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
101340         our own approximation.
101342 2005-11-08  Eric Blake  <ebb9@byu.net>
101344         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
101346 2005-11-08  Eric Blake  <ebb9@byu.net>
101348         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
101350 2005-11-04  Bruno Haible  <bruno@clisp.org>
101352         * gnulib-tool: Implement --update mode.
101354 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
101356         Fix porting problem reported by Theodoros V. Kalamatianos.
101357         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
101358         Don't assume that futimes failing means we must fail.
101360 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
101362         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
101363         variables to suggest the intended function of the PATH_MAX check.
101365 2005-10-30  Kean Johnston  <jkj@sco.com>
101367         Trivial changes to support SCO systems.
101368         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
101369         as PATH_MAX.
101370         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
101371         where __ptr is null when no I/O is pending.
101373 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
101375         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
101376         leave errno alone.  Problem reported by Dmitry V. Levin.
101378 2005-10-28  Simon Josefsson  <jas@extundo.com>
101380         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
101381         Test more.
101383         * tests/test-gc-md2.c, tests/test-md2.c: New files.
101385         * modules/md2, modules/md2-tests: New files.
101387 2005-10-28  Simon Josefsson  <jas@extundo.com>
101389         * m4/inet_ntop.m4: More tests.
101391         * m4/gc-md2.m4, md2.m4: New file.
101393 2005-10-28  Simon Josefsson  <jas@extundo.com>
101395         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
101396         "restrict" keywords, as per POSIX.  Protect the function
101397         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
101398         Don't use K&R prototypes.  Check the sprintf return values.
101399         Re-define EAFNOSUPPORT if not present.  Indent.
101401         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
101402         suggested by Bruno Haible <bruno@clisp.org>.
101404         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
101406         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
101408         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
101409         libgcrypt).
101411         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
101413         * lib/md2.h, lib/md2.c: New files.
101415 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
101417         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
101418         errno alone.  Problem reported by Frederic Jolliton.
101420 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
101422         * modules/verify (License): Change from GPL to LGPL.  This is a
101423         tiny module and there are apparently near-equivalents that are
101424         under the BSD license.
101426 2005-10-24  Simon Josefsson  <jas@extundo.com>
101428         * modules/sha1: Relicense to LGPL.
101430 2005-10-24  Simon Josefsson  <jas@extundo.com>
101432         * lib/md4.h: Shrink buffer size, now that we changed the type.
101434 2005-10-23  Simon Josefsson  <jas@extundo.com>
101436         * gnulib-tool (func_import): Fix --tests-base.
101438 2005-10-22  Simon Josefsson  <jas@extundo.com>
101440         * modules/arcfour (Depends-on): Need stdint.
101442 2005-10-22  Simon Josefsson  <jas@extundo.com>
101444         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
101445         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
101447 2005-10-22  Simon Josefsson  <jas@extundo.com>
101449         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
101450         suggested by Bruno Haible <bruno@clisp.org>.
101452 2005-10-22  Simon Josefsson  <jas@extundo.com>
101454         * lib/crc.h: Include stddef.h, for size_t.
101456 2005-10-22  Simon Josefsson  <jas@extundo.com>
101458         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
101459         arcfour_context struct (simplify test vector testing in GNU
101460         Shishi).
101462 2005-10-21  Simon Josefsson  <jas@extundo.com>
101464         * modules/des, modules/des-tests: New files.
101466         * modules/gc-des, modules/gc-des-tests: New files.
101468         * tests/test-des.c, tests/test-gc-des.c: New file.
101470 2005-10-21  Simon Josefsson  <jas@extundo.com>
101472         * modules/arctwo, modules/arctwo-tests: New files.
101474         * tests/test-arctwo.c: New file.
101476         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
101478         * tests/test-gc-arctwo.c: New file.
101480 2005-10-21  Simon Josefsson  <jas@extundo.com>
101482         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
101483         Bruno Haible <bruno@clisp.org>.
101485         * m4/gc-des.m4: New file.
101487 2005-10-21  Simon Josefsson  <jas@extundo.com>
101489         * m4/arctwo.m4: New file.
101491         * m4/gc-arctwo.m4: New file.
101493 2005-10-21  Simon Josefsson  <jas@extundo.com>
101495         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
101496         block.
101498 2005-10-21  Simon Josefsson  <jas@extundo.com>
101500         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
101501         <bruno@clisp.org>.
101503         * lib/hmac-sha1.c (hmac_sha1): Likewise.
101505         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
101506         Bruno Haible <bruno@clisp.org>.
101508         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
101509         <bruno@clisp.org>.
101511 2005-10-21  Simon Josefsson  <jas@extundo.com>
101513         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
101515 2005-10-21  Simon Josefsson  <jas@extundo.com>
101517         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
101519 2005-10-21  Simon Josefsson  <jas@extundo.com>
101521         * lib/des.h, lib/des.c: New files.
101523         * lib/gc-gnulib.c: Support DES.c
101525 2005-10-21  Simon Josefsson  <jas@extundo.com>
101527         * lib/arctwo.h, lib/arctwo.c: New files.
101529         * lib/gc-gnulib.c: Support ARCTWO.
101531 2005-10-21  Simon Josefsson  <jas@extundo.com>
101533         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
101534         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
101536 2005-10-21  Simon Josefsson  <jas@extundo.com>
101538         * gnulib-tool (func_import, func_create_testdir): Define automake
101539         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
101540         Makefile.am snippet),
101541         suggested by Bruno Haible <bruno@clisp.org>.
101543         * modules/gc (Makefile.am): Use it.
101545 2005-10-21  Bruno Haible  <bruno@clisp.org>
101547         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
101548         patch.
101550 2005-10-19  Simon Josefsson  <jas@extundo.com>
101552         * tests/test-gc-rijndael.c: New file.
101554         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
101556 2005-10-19  Simon Josefsson  <jas@extundo.com>
101558         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
101559         interface too.
101561 2005-10-19  Simon Josefsson  <jas@extundo.com>
101563         * tests/test-gc-arcfour.c: New file.
101565         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
101567 2005-10-19  Simon Josefsson  <jas@extundo.com>
101569         * modules/gc-md4, modules/gc-md4-tests: New file.
101571         * tests/test-gc-md4.c: New file.
101573 2005-10-19  Simon Josefsson  <jas@extundo.com>
101575         * m4/gc-md4.m4: New file.
101577 2005-10-19  Simon Josefsson  <jas@extundo.com>
101579         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
101580         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
101581         <kasal@ucw.cz>.
101583 2005-10-19  Simon Josefsson  <jas@extundo.com>
101585         * m4/gc-arcfour.m4: New file.
101587         * m4/gc-rijndael.m4: New file.
101589 2005-10-19  Simon Josefsson  <jas@extundo.com>
101591         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
101593 2005-10-19  Simon Josefsson  <jas@extundo.com>
101595         * lib/gc-gnulib.c: Support ARCFOUR.
101597 2005-10-19  Simon Josefsson  <jas@extundo.com>
101599         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
101600         support.
101602         * lib/gc.h: Add ECB enum type.
101604         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
101606 2005-10-18  Simon Josefsson  <jas@extundo.com>
101608         * tests/test-md5.c: New file.
101610         * modules/md5-tests: New file.
101612 2005-10-18  Simon Josefsson  <jas@extundo.com>
101614         * tests/test-md4.c: New file.
101616         * modules/md4, modules/md4-tests: New files.
101618 2005-10-18  Simon Josefsson  <jas@extundo.com>
101620         * m4/md4.m4: New file.
101622 2005-10-18  Simon Josefsson  <jas@extundo.com>
101624         * lib/md4.h, lib/md4.c: New files, based on md5.?.
101626 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
101628         * gnulib-tool (func_create_testdir): Omit the second check whether
101629         BUILT_SOURCES in nonempty.
101631 2005-10-17  Simon Josefsson  <jas@extundo.com>
101633         * tests/test-rijndael.c: New file.
101635 2005-10-17  Simon Josefsson  <jas@extundo.com>
101637         * modules/sha1: Depend on stdint instead of md5.
101639         * modules/md5: Depend on stdint, remove uint32_t.
101641 2005-10-17  Simon Josefsson  <jas@extundo.com>
101643         * modules/gc-sha1-tests: New file.
101645         * tests/test-gc-sha1.c: New file.
101647 2005-10-17  Simon Josefsson  <jas@extundo.com>
101649         * m4/md5.m4: Remove call to uint32_t.m4.
101651 2005-10-17  Simon Josefsson  <jas@extundo.com>
101653         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
101655         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
101656         md5.h.
101658         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
101660         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
101662 2005-10-17  Simon Josefsson  <jas@extundo.com>
101664         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
101666 2005-10-17  Simon Josefsson  <jas@extundo.com>
101668         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
101670 2005-10-17  Simon Josefsson  <jas@extundo.com>
101672         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
101674         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
101676 2005-10-17  Bruno Haible  <bruno@clisp.org>
101678         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
101679         that it can also be used in a test.
101681 2005-10-16  Bruno Haible  <bruno@clisp.org>
101683         * gnulib-tool (func_emit_tests_Makefile_am): Also define
101684         TESTS_ENVIRONMENT, so that individual tests can augment it.
101686         * gnulib-tool (func_create_testdir): Use an intermediate target for
101687         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
101688         macros, like $(ALLOCA_H), which cannot be passed through the command
101689         line.
101691 2005-10-15  Simon Josefsson  <jas@extundo.com>
101693         * modules/rijndael-tests: New file.
101695         * modules/rijndael: New file.
101697 2005-10-15  Simon Josefsson  <jas@extundo.com>
101699         * m4/rijndael.m4: New file.
101701 2005-10-15  Simon Josefsson  <jas@extundo.com>
101703         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
101705         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
101707 2005-10-14  Simon Josefsson  <jas@extundo.com>
101709         * tests/test-arcfour.c: New file.
101711         * modules/arcfour, modules/arcfour-tests: New files.
101713 2005-10-14  Simon Josefsson  <jas@extundo.com>
101715         * m4/arcfour.m4: New file.
101717 2005-10-14  Simon Josefsson  <jas@extundo.com>
101719         * lib/arcfour.h, lib/arcfour.c: New files.
101721 2005-10-14  Roland McGrath  <roland@redhat.com>
101723         Import from libc.  [BZ #1331]
101724         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
101725         macro argument.
101726         Reported by Matej Vela <vela@debian.org>.
101728 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
101730         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
101731         include <wchar.h>; no longer needed.
101733 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
101735         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
101737 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
101738         and  Ulrich Drepper  <drepper@redhat.com>
101740         Import from libc.
101741         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
101742         instead of inline stream orientation test and two separate
101743         function calls.  Pay no attention to USE_IN_LIBIO.
101745 2005-10-13  Simon Josefsson  <jas@extundo.com>
101747         * modules/gc-hmac-md5-tests: New file.
101749         * tests/test-gc-hmac-sha1.c: New file.
101751         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
101753         * modules/gc-hmac-md5-tests: New file.
101755         * tests/test-gc-md5.c: New file.
101757         * modules/gc-md5-tests: New file.
101759 2005-10-13  Simon Josefsson  <jas@extundo.com>
101761         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
101762         Move memory allocation outside of loop.
101764 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
101766         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
101767         intermediate directory is in a read-only file system.  Problem
101768         reported by Eric Blake.
101770 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
101772         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
101774 2005-10-12  Simon Josefsson  <jas@extundo.com>
101776         * tests/test-hmac-sha1.c: New file.
101778         * modules/hmac-sha1-tests: New file.
101780         * modules/hmac-sha1: New file.
101782 2005-10-12  Simon Josefsson  <jas@extundo.com>
101784         * modules/gc-sha1: New file.
101786 2005-10-12  Simon Josefsson  <jas@extundo.com>
101788         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
101790         * tests/test-gc-pbkdf2-sha1.c: New file.
101792 2005-10-12  Simon Josefsson  <jas@extundo.com>
101794         * modules/gc-md5, modules/gc-hmac-md5: New files.
101796         * modules/gc (Files): Remove md5, memxor and hmac files.
101798 2005-10-12  Simon Josefsson  <jas@extundo.com>
101800         * m4/gc-pbkdf2-sha1.m4: New file.
101802         * m4/gc-hmac-sha1.m4: New file.
101804         * m4/gc-sha1: New file.
101806         * m4/hmac-sha1.m4: New file.
101808 2005-10-12  Simon Josefsson  <jas@extundo.com>
101810         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
101812         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
101814 2005-10-12  Simon Josefsson  <jas@extundo.com>
101816         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
101817         suggested by Bruno Haible <bruno@clisp.org>.
101819 2005-10-12  Simon Josefsson  <jas@extundo.com>
101821         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
101823 2005-10-12  Simon Josefsson  <jas@extundo.com>
101825         * lib/gc-pbkdf2-sha1.c: New file.
101827         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
101829 2005-10-12  Simon Josefsson  <jas@extundo.com>
101831         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
101833         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
101835 2005-10-12  Simon Josefsson  <jas@extundo.com>
101837         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
101838         GC_USE_HMAC_MD5, respectively.
101840         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
101841         (gc_md5): Fix typo.
101843         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
101845         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
101847         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
101849 2005-10-12  Bruno Haible  <bruno@clisp.org>
101851         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
101852         Reported by Stepan Kasal <kasal@ucw.cz>.
101854 2005-10-11  Simon Josefsson  <jas@extundo.com>
101856         * tests/test-crc.c: New file.
101858         * modules/crc, modules/crc-tests: New files.
101860 2005-10-11  Simon Josefsson  <jas@extundo.com>
101862         * m4/crc.m4: New file.
101864 2005-10-11  Simon Josefsson  <jas@extundo.com>
101866         * lib/gc.h: Add gc_hash and gc_hash_buffer.
101868         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
101870         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
101872 2005-10-11  Simon Josefsson  <jas@extundo.com>
101874         * lib/crc.h, lib/crc.c: New files.
101876         * lib/gc.h (gc_hash_buffer): Add doc.
101878 2005-10-11  Bruno Haible  <bruno@clisp.org>
101880         * modules/c-strcasestr: New file.
101881         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
101883 2005-10-11  Bruno Haible  <bruno@clisp.org>
101885         * modules/c-strcase: New file.
101886         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
101888 2005-10-11  Bruno Haible  <bruno@clisp.org>
101890         * lib/strcasecmp.c: Include limits.h.
101891         (strcasecmp): Avoid integer overflow on exotic platforms.
101892         * lib/strncasecmp.c: Include limits.h.
101893         (strncasecmp): Avoid integer overflow on exotic platforms.
101894         Reported by Paul Eggert.
101896 2005-10-11  Bruno Haible  <bruno@clisp.org>
101898         * lib/c-strcasestr.h: New file, from GNU gettext.
101899         * lib/c-strcasestr.c: New file, from GNU gettext.
101901 2005-10-11  Bruno Haible  <bruno@clisp.org>
101903         * lib/c-strcase.h: New file, from GNU gettext.
101904         * lib/c-strcasecmp.c: New file, from GNU gettext.
101905         * lib/c-strncasecmp.c: New file, from GNU gettext.
101907 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
101909         * modules/mempcpy (License): GPL -> LGPL.
101910         * modules/strchrnul (License): Likewise.
101911         * modules/sysexits (License): Likewise.
101913 2005-10-08  Simon Josefsson  <jas@extundo.com>
101915         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
101917 2005-10-07  Simon Josefsson  <jas@extundo.com>
101919         * m4/memxor.m4: Remove gl_C_RESTRICT call.
101921 2005-10-06  Simon Josefsson  <jas@extundo.com>
101923         * tests/test-hmac-md5.c: New file.
101925         * modules/hmac-md5-tests: New file.
101927         * modules/hmac-md5: New file.
101929 2005-10-06  Simon Josefsson  <jas@extundo.com>
101931         * m4/hmac-md5.m4: New file.
101933         * m4/memxor.m4: Require gl_C_RESTRICT.
101935 2005-10-06  Simon Josefsson  <jas@extundo.com>
101937         * lib/memxor.c (memxor): Avoid casts and warnings.
101939 2005-10-06  Simon Josefsson  <jas@extundo.com>
101941         * lib/hmac-md5.c: New file.
101943         * lib/hmac.h: New file.
101945 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
101947         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
101948         promotes to int, not unsigned int, to catch the AIX 5.3
101949         compiler bug.
101951 2005-10-05  Simon Josefsson  <jas@extundo.com>
101953         * modules/memxor: New file.
101955         * modules/iconv (Files): Move config.rpath to havelib, it is used
101956         there.
101958         * modules/havelib (Files): Add config.rpath.
101960 2005-10-05  Simon Josefsson  <jas@extundo.com>
101962         * m4/memxor.m4: New file.
101964 2005-10-05  Simon Josefsson  <jas@extundo.com>
101966         * lib/memxor.c (memxor): Fix compiler error.
101968         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
101969         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
101971         * lib/memxor.h, lib/memxor.c: New files.
101973         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
101974         we assume all systems have it, suggested by Jim Meyering
101975         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
101976         any systems lack sys/socket.h; mingw32 is known to lack it, but we
101977         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
101978         same reasons.
101980 2005-10-05  Simon Josefsson  <jas@extundo.com>
101982         * config/srclist.txt: Add glibc bug 1423 for md5.h.
101984 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
101986         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
101987         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
101988         needed, since the source code now assumes these .h files.
101990 2005-10-05  Derek Price  <derek@ximbiot.com>
101992         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
101994 2005-10-05  Bruno Haible  <bruno@clisp.org>
101996         * modules/stdint (License): Change to LGPL.
101998 2005-10-04  Simon Josefsson  <jas@extundo.com>
102000         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
102001         D. Baushke" <mdb@gnu.org>.
102003 2005-10-04  Bruno Haible  <bruno@clisp.org>
102005         * lib/verify.h (verify_true): Provide alternative definition for C++.
102007 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
102009         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
102010         (SSIZE_MAX): New macro, if not already defined.
102011         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
102012         than 2 GiB.
102014 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
102016         Sync from coreutils.
102017         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
102018         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
102019         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
102020         ULLONG_MAX doesn't work with 2.7.2.1.
102022 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
102024         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
102025         From Ben Pfaff.
102027         * modules/exclude (Depends-on): Depend on verify.
102028         * modules/strtoimax (Depends-on): Likewise.
102029         * modules/utimecmp (Depends-on): Likewise.
102031 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
102033         * lib/exclude.c: Include verify.h.
102034         (verify): Remove.  All callers changed to use verify.h's version.
102035         * lib/strtoimax.c: Likewise.
102036         * lib/utimecmp.c: Likewis.e
102038         Sync from coreutils.
102039         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
102040         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
102041         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
102042         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
102043         bother returning ENOSYS if settimeofday or stime fails; just let
102044         them return whatever errno they want to return.
102045         * lib/utimens.c: Include unistd.h, for dup2.
102046         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
102047         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
102049 2005-10-02  Jim Meyering  <jim@meyering.net>
102051         Sync from coreutils.
102052         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
102053         from glibc-2.2.5 that fails for read-only files.
102055 2005-10-02  Jim Meyering  <jim@meyering.net>
102057         Sync from coreutils.
102058         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
102059         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
102060         `#if HAVE_CONFIG_H'.
102061         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
102062         Remove AT_FDCWD test.
102063         Do not consume the fd unless successful.
102064         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
102065         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
102066         block, so that we don't even try to compile it if settimeofday is
102067         available.  This works around a compilation failure on OSF1 V5.1,
102068         due to stime requiring a `long int*' while tv_sec is `int'.
102070 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
102072         Sync from coreutils.
102073         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
102074         against `yes', rather than just testing for nonempty.
102076 2005-10-01  Simon Josefsson  <jas@extundo.com>
102078         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
102079         and Darwin.
102081         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
102082         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
102083         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
102084         freeaddrinfo and gai_strerror are declared by the POSIX headers.
102085         Check if struct addrinfo is declared.
102087 2005-10-01  Simon Josefsson  <jas@extundo.com>
102089         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
102090         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
102091         AI_* and EAI_* definitions.  Protect function declarations.
102093 2005-10-01  Jim Meyering  <jim@meyering.net>
102095         Sync from coreutils.
102097         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
102098         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
102099         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
102100         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
102101         in the inet and nsl libraries.  Required on Solaris 5.7.
102103 2005-10-01  Jim Meyering  <jim@meyering.net>
102105         Sync from coreutils.
102106         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
102107         in the inet and nsl libraries.  Required on Solaris 5.7.
102109 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
102111         * lib/getdelim.c (getdelim): Remove unused variables.
102113 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
102115         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
102116         so that the code works even with ancient cpp.  Portability problem
102117         with GCC 2.7.2.1 reported by Thomas M.Ott.
102119 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
102121         * modules/regex (Depends-on): Add strcase.
102123         * modules/gethostname (Licence): Change from GPL to LGPL, since
102124         gethostname.c is a trivial implementation of a standard library
102125         function.
102126         * modules/poll (License): Change from GPL to LGPL, since it's
102127         derived from LGPL code.
102129 2005-09-27  Jim Meyering  <jim@meyering.net>
102131         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
102132         HAVE_CONFIG_H.
102134         * lib/intprops.h (signed_type_or_expr__): Define.
102135         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
102136         for unsigned types.
102138 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
102140         * lib/verify.h (verify_expr): Remove, replacing with:
102141         (verify_true): New macro that returns true instead of void.
102142         (verify_type__): Remove.
102143         (verify): Use verify_true rather than verify_type__.
102145 2005-09-26  Bruno Haible  <bruno@clisp.org>
102147         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
102148         is necessary.
102149         (lib_SOURCES): Remove mbchar.c.
102150         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
102151         (Files): Add m4/mbrtowc.m4.
102152         * modules/mbiter: Likewise.
102153         * modules/mbuiter: Likewise.
102155 2005-09-26  Bruno Haible  <bruno@clisp.org>
102157         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
102158         compile mbchar.c if they are not both present.
102159         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
102160         * m4/mbiter.m4 (gl_MBITER): Likewise.
102161         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
102162         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
102163         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
102165 2005-09-25  Jim Meyering  <jim@meyering.net>
102167         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
102168         also uses socklen_t.
102170 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
102172         * lib/utimens.c (ENOSYS): Define if not already defined.
102173         (futimens): Support having a null PATH if the file descriptor
102174         is nonnegative.
102176         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
102177         Remove.
102178         (__attribute): Define to empty unless GCC 3.1 or later.
102179         This works around a core dump on OpenBSD 3.4, which has GCC
102180         2.95.3, which dumps core when given __attribute__(()).  It also
102181         simplifies other tests, since we really don't want to bother with
102182         worrying about which ancient version of GCC supported what.
102183         Original problem reported by Yoann Vandoorselaere, with part of
102184         the fix suggested by Derek Price.
102186 2005-09-24  Jim Meyering  <jim@meyering.net>
102188         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
102189         so we can once again use a positive bitfield width of 1 -- now we
102190         don't have to explain why we were using a bitfield width of 2.
102192 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
102194         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
102195         and similarly for the other external symbols.  Problem reported
102196         by James Gallager.
102198         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
102199         bug reported by Jim Meyering.
102201         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
102202         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
102203         not needed, since socklen is a prerequisite module.
102205 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
102207         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
102208         Problem reported by Eric Blake.
102209         (getaddrinfo): Initialize se so that it's not garbage.
102210         Redo internal storage allocation so that it doesn't make unportable
102211         assumptions about alignment.
102212         Fix a memory leak.
102214         * lib/utimens.c (futimens): Use futimesat if available.
102215         Prefer it to futimes since it doesn't have the futimes bug.
102217         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
102218         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
102219         Instead, declare a function that returns a pointer to an array,
102220         and use verify_type__ to declare the size of the array.
102221         Problem and germ of a solution reported by Bruno Haible.
102222         (verify_type__): Use 2, not 1, for bitfield size, to avoid
102223         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
102225 2005-09-23  Jim Meyering  <jim@meyering.net>
102227         Sync from coreutils.
102228         Correct build failure (socklen_t not defined) on at least
102229         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
102230         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
102232 2005-09-23  Jim Meyering  <jim@meyering.net>
102234         * modules/getaddrinfo (Depends-on): Add socklen.
102236 2005-09-23  Bruno Haible  <bruno@clisp.org>
102238         * tests/test-verify.c: New file.
102240 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
102242         Sync from coreutils.
102244         * modules/argmatch (Depends-on): Add verify.
102245         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
102246         unistd-safer.
102247         * modules/save-cwd (Depends-on): Likewise.
102249         * modules/openat (Files): Add lib/openat-die.c.
102250         (Depends-on): Remove error, exitfail.
102251         Add dirname.
102253         * modules/verify: New file.
102254         * MODULES.html.sh (Diagnostics <assert.h>): New section,
102255         with "verify" module.
102257 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
102259         Sync from coreutils.
102261         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
102262         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
102263         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
102264         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
102265         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
102266         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
102267         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
102268         Don't bother checking for string.h, stdlib.h, unistd.h.
102269         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
102270         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
102271         module's job.
102272         * m4/jm-macros.m4 (gl_MACROS): Likewise.
102273         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
102275         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
102276         (gl_GETDATE): Use it.
102278         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
102280 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
102282         Sync from coreutils.
102284         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
102285         stat-time.h.
102286         * lib/argmatch.h: Include verify.h
102287         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
102288         (ARGMATCH_ASSERT): Remove; unused.
102289         * lib/canonicalize.c: Assume STDC_HEADERS.
102290         * lib/exclude.c: Include "strcase.h".
102291         * lib/regex_internal.h [!defined _LIBC]: Likewise.
102292         * lib/getusershell.c: Include stdio--.h rather than stdio.h
102293         and stdio-safer.h.
102294         (getusershell): Call fopen, not fopen_safer.
102295         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
102296         Do not include unistd-safer.h.
102297         (save_cwd): Don't call fd_safer; no longer needed
102298         now that we include fcntl--.h.
102300         * lib/getdate.y (relative_time): New type.
102301         (RELATIVE_TIME_0): New constant.
102302         (parser_control): Use relative_time instead of doing it ourselves.
102303         (%union): Add new relative_time rel member.
102304         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
102305         Now typeless.
102306         (relunit, relunit_snumber): Now of type rel.
102307         (zone, rel, relunit, get_date): Adjust to above changes.
102309         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
102310         Do not include unistd-safer.h.
102311         (getloadavg): Don't call fd_safer; no longer needed
102312         now that we include fcntl--.h.
102314         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
102315         (make_dir_parents): Treat ENOSYS like EEXIST.
102317         Improve quality of diagnostics on restore_cwd failure.
102318         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
102319         (make_dir_parents): Last arg is now int * (for errno), not bool *.
102320         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
102321         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
102322         each time through the loop.  Do not diagnose restore_cwd failure;
102323         that is the caller's job (and perhaps the caller does not care).
102325         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
102326         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
102327         If the file already exists but is not a directory, don't bother
102328         to try to make its parents.
102329         Close potential file descriptor leak if we can't chdir("/") (!).
102330         Don't always return true if chdir($PWD) fails; return true only
102331         if the requested action was done successfully (except for the
102332         chdir($PWD)).
102333         Don't log final directory unless we actually made it.
102334         Refactor to avoid duplicate code to fix up permissions.
102335         Don't attempt to fix up parent permissions if chdir($PWD) fails.
102337         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
102338         to make it a bit faster and (I hope) clearer.
102339         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
102340         Fix bug in formats like %2N.
102342         * lib/verify.h: New file.
102344 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
102346         Sync from coreutils.
102347         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
102349 2005-09-22  Jim Meyering  <jim@meyering.net>
102351         Sync from coreutils.
102353         * m4/lstat.m4 (gl_FUNC_LSTAT):
102354         Use AC_LIBSOURCES to require lstat.c and lstat.h.
102355         Remove obsolete comment.
102356         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
102357         * m4/xstrtod.m4: Likewise.
102359         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
102361 2005-09-22  Jim Meyering  <jim@meyering.net>
102363         Sync from coreutils.
102365         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
102367         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
102368         the .tm_year member, since otherwise gcc-4.0 would now warn about
102369         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
102371         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
102372         order to avoid an unsuppressible warning from gcc on 64-bit systems.
102374         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
102375         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
102376         when run in a time zone for which daylight savings time is in effect
102377         for the starting date.
102379         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
102380         stop us from restricting permissions of just-created absolute-named
102381         directories.
102382         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
102383         to restore initial working directory.
102384         * lib/mkdir-p.c (make_dir_parents): New parameter:
102385         different_working_dir, to tell caller if/when we change the working
102386         directory and are unable to return to the initial one.
102387         * lib/mkdir-p.h (make_dir_parents): Update prototype.
102388         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
102389         `return false'.  This fixes a bug introduced on 2004-07-30.
102391         * lib/openat.c (fdopendir): Be sure to close the supplied
102392         file descriptor before returning.  This makes our replacement
102393         implementation a little closer to Solaris's, where fdopendir
102394         ties the file descriptor to the returned DIR* pointer.
102395         * lib/openat.c (unlinkat): New function.
102396         * lib/openat.h (unlinkat): Add prototype.
102397         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
102398         (openat_restore_fail): Rename from openat_restore_die.
102399         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
102401         Provide an alternative to exiting immediately upon save_cwd or
102402         restore_cwd failure.  Now, an application can arrange e.g.,
102403         to perform a longjump in that case.
102404         * lib/openat.c: Include dirname.h.
102405         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
102406         (rpl_openat, fdopendir, fstatat): Call openat_save_die
102407         and openat_restore_die rather than calling error directly.
102408         Don't include "error.h" or "exitfail.h"; they're no longer needed.
102410         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
102411         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
102412         define.
102414         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
102415         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
102416                             int utc, int nanoseconds);
102417         Background:
102418         date should not have to allocate a megabyte of virtual memory to
102419         handle a format argument like +%1048575T.  When implemented with
102420         strftime, it must allocate such a buffer, use strftime to fill it
102421         in, print it, then free it.
102422         With fprintftime, it simply prints everything and exits.
102423         With no need for memory allocation, that's one fewer way to fail.
102424         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
102425         optional field width, not before, so we accept %9:z, not %:9z.
102426         (my_strftime): Be sure to use L_('x') for literals.
102428         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
102429         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
102430         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
102431         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
102432         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
102433         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
102434         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
102435         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
102436         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
102437         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
102438         * lib/xgethostname.c, lib/xreadlink.c:
102439         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
102441         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
102442         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
102443         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
102444         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
102445         and don't include <sys/file.h>).
102447 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
102449         Sync from coreutils.
102451         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
102452         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
102453         [!LDAV_DONE]: Avoid unused variable warning.
102455 2005-09-21  Bruno Haible  <bruno@clisp.org>
102457         * lib/unicodeio.h (unicode_to_mb): New declaration.
102459 2005-09-20  Derek Price  <derek@ximbiot.com>
102461         * lib/getaddrinfo.c: Don't include <netdb.h> included from
102462         getaddrinfo.h.
102464 2005-09-20  Bruno Haible  <bruno@clisp.org>
102466         * gnulib-tool: Remove trailing slashes from the values specified for
102467         --source-base, --m4-base, --tests-base, --aux-dir.
102468         Suggested by Simon Josefsson <jas@extundo.com>.
102470 2005-09-20  Bruno Haible  <bruno@clisp.org>
102472         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
102473         func_modules_to_filelist, func_import, func_create_testdir): Make all
102474         sorting results locale-independent, so that gnulib-cache.m4 doesn't
102475         change when gnulib-tool is invoked in a different locale.
102477 2005-09-19  Simon Josefsson  <jas@extundo.com>
102479         * m4/socklen.m4: Fix typo.
102481 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
102483         Use a consistent style for including <config.h>.
102484         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
102485         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
102486         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
102487         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
102488         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
102489         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
102490         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
102491         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
102492         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
102493         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
102494         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
102495         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
102496         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
102497         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
102498         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
102499         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
102500         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
102501         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
102502         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
102503         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
102504         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
102505         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
102506         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
102507         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
102508         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
102509         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
102510         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
102511         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
102512         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
102513         lib/xstrtoumax.c, lib/yesno.c:
102514         Standardize inclusion of config.h.
102515         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
102516         lib/inttostr.h:  Removed inclusion of config.h from header files.
102517         * lib/inttostr.c:  Adjusted in-tree users.
102518         * lib/timespec.h: Remove superfluous warning to include config.h.
102519         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
102520         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
102521         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
102522         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
102523         config.h with HAVE_CONFIG_H.
102525 2005-09-19  Jim Meyering  <jim@meyering.net>
102527         * modules/pathmax (License): Change to LGPL.
102529 2005-09-19  Derek Price  <derek@ximbiot.com>
102531         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
102533 2005-09-19  Bruno Haible  <bruno@clisp.org>
102535         * gnulib-tool (import): Provide default for --tests-base.
102537 2005-09-19  Bruno Haible  <bruno@clisp.org>
102539         * doc/quote.texi: New file, extracted from gnulib.texi.
102540         * doc/ctime.texi: New file, extracted from gnulib.texi.
102541         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
102542         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
102543         * doc/gnulib.texi: Include them.
102545 2005-09-18  Bruno Haible  <bruno@clisp.org>
102547         Portability fix.
102548         * gnulib-tool (func_readlink): New function.
102549         (func_ln_if_changed): Use it.
102551 2005-09-18  Bruno Haible  <bruno@clisp.org>
102553         * gnulib-tool: Support --with-tests also with --import.
102554         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
102555         (func_import): Use variables $testsbase and $inctests. Emit a
102556         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
102557         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
102558         SUBDIRS += $testsdir.
102559         (func_create_testdir): Update.
102561 2005-09-18  Bruno Haible  <bruno@clisp.org>
102563         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
102564         instead of $dry_run.
102565         (func_cp_if_changed, func_mv_if_changed): Remove functions.
102566         (func_ln_if_changed): Don't handle dry-run here.
102567         (func_import): In dry-run mode, detect more precisely which actions
102568         would be performed, and don't use "...ing" verbs.
102570 2005-09-18  Bruno Haible  <bruno@clisp.org>
102572         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
102573         (func_import): Use join on two temporary files instead of three nested
102574         loops, in order to determine which files are new or old.
102576 2005-09-18  Bruno Haible  <bruno@clisp.org>
102578         * gnulib-tool (func_import): Comment out code that spits out the
102579         new files with --dry-run.
102581 2005-09-18  Bruno Haible  <bruno@clisp.org>
102583         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
102585 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
102587         * lib/stat-time.h: New file.
102588         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
102589         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
102590         in a different way.
102591         (timespec_cmp): New function.
102592         * lib/utimecmp.c: Include stat-time.h.
102593         (SYSCALL_RESOLUTION): Depend on whether various struct stat
102594         members exist, not on the obsolescent ST_MTIM_NSEC.
102595         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
102597 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
102599         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
102601 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
102603         * MODULES.html.sh (File system functions): Add stat-time.
102604         * modules/stat-time: New file.
102605         * modules/timespec (Files): Remove m4/st_mtim.m4; this
102606         is now done in a different way, by the stat-time module.
102607         * modules/utimecmp (Depends-on): Add stat-time.
102609 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
102611         * m4/st_mtim.m4: Remove.  Superseded by...
102612         * m4/stat-time.m4: New file.
102613         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
102614         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
102616 2005-09-15  Derek Price  <derek@ximbiot.com>
102618         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
102620 2005-09-15  Derek Price  <derek@ximbiot.com>
102622         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
102623         * lib/regex_internal.c: Ditto, using this...
102624         (__GNUC_PREREQ): ...new macro.
102625         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
102626         using...
102627         (__GNUC_PREREQ): ...this new macro.
102629         * lib/strstr.h: Include string.h. Define strstr as a macro here.
102631 2005-09-15  Derek Price  <derek@ximbiot.com>
102632             Paul Eggert  <eggert@cs.ucla.edu>
102634         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
102635         changes, consolidating in...
102636         * lib/regex_internal.h: ...this file.
102638 2005-09-13  Jim Meyering  <jim@meyering.net>
102640         * lib/canon-host.c: Filter through gnu indent and reword comments
102641         slightly.
102642         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
102644 2005-09-13  Derek Price  <derek@ximbiot.com>
102646         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
102647         failure.
102648         Reported by Jim Meyering  <jim@meyering.net>.
102650 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
102652         * lib/base64.c: Typo.
102653         (base64_encode): Put b64str in initialized data section.
102655 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
102657         Merge glibc and coreutils changes into gnulib, plus a few
102658         extra fixes.
102659         * lib/md5.c: Use #error rather than a string.
102660         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
102661         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
102662         (__attribute__): Define to empty for non recent-GCC.
102663         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
102664         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
102665         Renamed from their non-__ counterparts, with new macros replacing
102666         them if not _LIBC.  Add __THROW attribute.
102667         (rol): Remove.
102668         (struct md5_ctx): Align buffer if using GCC.
102669         * lib/sha1.h (struct sha1_ctx): Likewise.
102670         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
102671         The old name was backwards.
102672         (NOTSWAP): Remove; not used.
102673         (rol): New macro, moved here from md5.h.
102674         (sha1_process_block): Remove a FIXME that doesn't make sense.
102676 2005-09-12  Derek Price  <derek@ximbiot.com>
102678         Return usable errors from canon-host.
102679         * lib/canon-host.h: New file.
102680         * lib/canon-host.c (canon_host): Wrap...
102681         (canon_host_r): ...this new function, which now relies exclusively on
102682         getaddrinfo.
102683         (ch_strerror): New function.
102684         (last_cherror): New global.
102685         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
102686         interface.
102687         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
102688         void *.
102689         (freeaddrinfo): Free ai->ai_canonname when set.
102691 2005-09-12  Derek Price  <derek@ximbiot.com>
102693         Make canon-host require getaddrinfo.
102694         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
102695         AC_LIBSOURCE canon-host.h.  Call...
102696         (gl_PREREQ_CANON_HOST): ...this new function, which requires
102697         gl_GETADDRINFO.
102698         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
102700 2005-09-12  Derek Price  <derek@ximbiot.com>
102702         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
102703         LGPL.
102704         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
102706 2005-09-12  Derek Price  <derek@ximbiot.com>
102708         * lib/gai_strerror.c: Include config.h when available.  Include
102709         getaddrinfo.h before other headers to test interface.
102710         Reported by Larry Jones <lawrence.jones@ugs.com>.
102712 2005-09-12  Derek Price  <derek@ximbiot.com>
102713             Paul Eggert  <eggert@cs.ucla.edu>
102715         * modules/glob (Files): Add glob-libc.h.
102717 2005-09-12  Derek Price  <derek@ximbiot.com>
102718             Paul Eggert  <eggert@cs.ucla.edu>
102720         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
102721         glob_.h, glob-libc.h.
102722         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
102724 2005-09-12  Derek Price  <derek@ximbiot.com>
102725             Paul Eggert  <eggert@cs.ucla.edu>
102727         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
102728         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
102729         protecting things that should be done only in gnulib contexts.
102730         * lib/glob_.h: New file, containing only the glob things needed for
102731         gnulib.
102732         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
102733         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
102734         (glob, globfree, glob_pattern_p): Now defined simply in terms of
102735         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
102736         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
102737         and to respect the namespace rules better.
102739 2005-09-08  Simon Josefsson  <jas@extundo.com>
102741         * modules/socklen: New file.
102743 2005-09-08  Simon Josefsson  <jas@extundo.com>
102745         * m4/socklen.m4: New file.
102747 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
102749         * modules/utimens (Files): Add m4/utimbuf.m4, since
102750         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
102751         Reported by Sergey Poznyakoff.
102753 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
102755         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
102756         definitions, since that's the preferred style in glibc.
102757         Fix a minor spacing issue, and update copyright notice to match
102758         glibc's.
102760 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
102762         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
102764 2005-09-06  Simon Josefsson  <jas@extundo.com>
102766         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
102767         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
102769 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
102771         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
102772         warning.
102774 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
102776         * config/srclist.txt: Add glibc bug 1302.
102778 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
102780         Change bitset word type from unsigned int to unsigned long int,
102781         as this has better performance on typical 64-bit hosts.
102782         Port bitset code to hosts with unusual word sizes.
102783         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
102784         (build_collating_symbol):
102785         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
102786         argument is a bitset.  This is merely a style issue, but it makes
102787         it clearer that an entire array is expected.
102788         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
102789         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
102790         Port to the case where bitset_word is not the same as unsigned int.
102791         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
102792         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
102793         Likewise.
102794         * lib/regexec.c (check_dst_limits_calc_pos_1,
102795         check_subexp_matching_top):
102796         (build_trtable, group_nodes_into_DFAstates):
102797         Likewise.
102798         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
102799         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
102800         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
102801         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
102802         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
102803         * lib/regcomp.c (optimize_subexps, lower_subexp):
102804         Work even if bitset_word has holes in its bitwise representation.
102805         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
102806         * lib/regexec.c (check_dst_limits_calc_pos_1,
102807         check_subexp_matching_top):
102808         Likewise.
102809         * lib/regex_internal.c (re_string_reconstruct):
102810         Don't assume UCHAR_MAX == 255.
102811         * lib/regex_internal.h (bitset_set_all): Likewise.
102812         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
102813         All uses changed.
102814         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
102815         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
102816         All uses changed.
102817         (BITSET_WORD_MAX): New macro.
102818         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
102819         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
102820         (bitset_empty, bitset_copy):
102821         Prefer sizeof (bitset) to multiplying it out ourselves.
102822         (bitset_not_merge): Remove; unused.
102823         (bitset_contain): Return bool, not unsigned int with one bit on.
102824         All callers changed.
102825         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
102826         alignment than re_node_set; do this by defining a new internal
102827         type struct dests_alloc and using it to allocate memory.
102829 2005-09-05  Bruno Haible  <bruno@clisp.org>
102831         * gnulib-tool (func_import): Fix comparison in handling of symbolic
102832         links.
102834 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
102836         * modules/size_max (Makefile.am): Add size_max.h
102838 2005-09-04  Derek Price  <derek@ximbiot.com>
102840         * gnulib-tool (func_import): Fix reversed $symbolic logic.
102842 2005-09-03  Simon Josefsson  <jas@extundo.com>
102844         * gnulib-tool: Fix typo.
102846 2005-09-03  Simon Josefsson  <jas@extundo.com>
102848         * config/srclist.txt: Add glibc bug 1293.
102850 2005-09-03  Derek Price  <derek@ximbiot.com>
102852         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
102853         From Larry Jones <lawrence.jones@ugs.com>.
102855 2005-09-02  Simon Josefsson  <jas@extundo.com>
102857         * modules/socklen: New file.
102859 2005-09-02  Simon Josefsson  <jas@extundo.com>
102861         * modules/havelib: New module.
102863         * modules/gettext, modules/iconv, modules/lock, modules/readline:
102864         Use havelib.
102866 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
102868         Check for arithmetic overflow when calculating sizes, to prevent
102869         some buffer-overflow issues.  These patches are conservative, in the
102870         sense that when I couldn't determine whether an overflow was possible,
102871         I inserted a run-time check.
102872         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
102873         macros.
102874         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
102875         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
102876         (re_xnrealloc, re_x2nrealloc): New inline functions.
102877         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
102878         parse_bracket_exp):
102879         (build_equiv_class, build_charclass): Check for arithmetic overflow
102880         in size expression calculations.
102881         * lib/regex_internal.c (re_string_realloc_buffers):
102882         (build_wcs_upper_buffer, re_node_set_add_intersect):
102883         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
102884         (re_dfa_add_node, register_state): Likewise.
102885         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
102886         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
102887         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
102888         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
102890 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
102892         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
102893         m4/ulonglong.m4.  Problem reported by Martin Lambers.
102895 2005-09-02  Bruno Haible  <bruno@clisp.org>
102897         Support for lib vs. lib64 distinction on biarch platforms.
102898         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
102899         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
102900         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
102902 2005-09-02  Bruno Haible  <bruno@clisp.org>
102904         * gnulib-tool (import): In the other first-use case, provide defaults
102905         as well.
102907 2005-09-02  Bruno Haible  <bruno@clisp.org>
102909         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
102910         patches not yet found in the latest gettext release.
102912 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
102914         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
102915         to avoid a collision with bits/local_lim.h in glibc.
102916         All uses changed.  Problem reported by Dmitry V. Levin in
102917         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
102919         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
102920         bugs in int versus size_t comparisons.
102921         (re_string_context_at): Fix bug where the code assumed that
102922         Idx is signed.
102924         Use bool where appropriate.
102925         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
102926         All callers changed.
102927         (calc_eclosure_iter): Likewise, for ROOT arg.
102928         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
102929         (build_charclass_op): Likewise, for NON_MATCH arg.
102930         * lib/regex_internal.c (re_string_allocate, re_string_construct):
102931         (re_string_construct_common): Likewise, for ICASE arg.
102932         * lib/regexec.c (re_search_2_stub, re_search_stub):
102933         Likewise, for RET_LEN arg.
102934         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
102935         (set_regs): Likewise, for FL_BACKTRACK arg.
102936         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
102937         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
102938         (calc_eclosure_iter, parse_bracket_exp):
102939         Use bool for internal variables that are booleans.
102940         * lib/regexec.c (re_search_internal, check_matching,
102941         proceed_next_node):
102942         (set_regs, build_sifted_states, sift_states_bkref):
102943         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
102944         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
102945         (find_collation_sequence_value):
102946         Likewise.
102947         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
102948         (re_node_set_compare):
102949         Return bool, not int. All callers changed.
102950         * lib/regexec.c (check_halt_node_context, check_dst_limits):
102951         (build_trtable, check_node_accept): Likewise.
102952         * lib/regex_internal.h: Include stdbool.h.
102954         Fix bugs uncovered when converting to bool.
102955         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
102956         failure instead of charging ahead blindly.
102957         * lib/regex_internal.c (register_state): Likewise.
102958         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
102959         for freeing internal storage.
102960         (group_nodes_into_DFA_states): Use unsigned int, not int, for
102961         bitset pieces used as boolean, to avoid undefined behavior
102962         on hosts that do int overflow checking.
102964 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
102966         * config/srclist.txt: Add glibc bugs 1285-1287.
102968 2005-09-01  Jim Meyering  <jim@meyering.net>
102970         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
102971         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
102972         Require gl_STAT_MACROS, too.
102974 2005-09-01  Bruno Haible  <bruno@clisp.org>
102976         * gnulib-tool (import): In the first-use case, provide defaults.
102978 2005-09-01  Bruno Haible  <bruno@clisp.org>
102980         * gnulib-tool (func_import): Remove the .tmp files.
102982 2005-09-01  Bruno Haible  <bruno@clisp.org>
102984         * gnulib-tool (func_import): Fix handling of symbolic links.
102986 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
102988         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
102989         old glibc regex code mishandles strings longer than 2**31 bytes.
102990         This patch fixes this when the regex code is used in gnulib
102991         (i.e., outside glibc).
102993         This patch should not affect the use of the regex code inside
102994         glibc.  No doubt this problem also needs to be handled for glibc
102995         as well, but the result will be an incompatible change to the
102996         glibc ABI, and the old ABI will have to be supported too.  That
102997         can be the subject for another patch.
102999         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
103000         governing whether the rest of this patch is active.  By default,
103001         the macro is disabled and the patch has no effect.
103002         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
103003         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
103004         (struct re_pattern_buffer, re_search, re_search_2, re_match):
103005         (re_match_2, re_set_registers): Use the new types.
103006         * lib/regex_internal.h (Idx, re_hashval_t): New types.
103007         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
103008         New macros.
103009         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
103010         (re_string_context_at, bin_tree_t, re_dfastate_t):
103011         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
103012         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
103013         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
103014         (re_string_char_size_at, re_string_wchar_at):
103015         (re_string_elem_size_at):
103016         Use the new types and macros to port to 64-bit hosts.
103017         Use unsigned types for internal values, so that the code
103018         mostly works even for arrays larger than SSIZE_MAX.
103019         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
103020         (search_duplicated_node, calc_eclosure_iter, fetch_number):
103021         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
103022         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
103023         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
103024         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
103025         (calc_inveclosure, parse_dup_op, build_range_exp):
103026         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
103027         (fetch_number, create_token_tree, mark_opt_subexp):
103028         Likewise.
103029         * lib/regex_internal.c (re_string_construct_common,
103030         create_ci_newstate):
103031         (create_cd_newstate, re_string_allocate, re_string_construct):
103032         (re_string_realloc_buffers, build_wcs_upper_buffer):
103033         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
103034         (re_string_reconstruct, re_string_peek_byte_case):
103035         (re_string_fetch_byte_case, re_string_context_at):
103036         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
103037         (re_node_set_init_copy, re_node_set_add_intersect):
103038         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
103039         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
103040         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
103041         (re_acquire_state, re_acquire_state_context, register_state):
103042         Likewise.
103043         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
103044         search_cur_bkref_entry):
103045         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
103046         (re_search_internal, re_search_2_stub, re_search_stub)
103047         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
103048         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
103049         (update_cur_sifted_state, check_dst_limits):
103050         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
103051         (check_subexp_limits, sift_states_bkref, merge_state_array):
103052         (check_subexp_matching_top, get_subexp, get_subexp_sub):
103053         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
103054         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
103055         (expand_bkref_cache, check_node_accept_bytes):
103056         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
103057         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
103058         (acquire_init_state_context, check_halt_node_context):
103059         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
103060         (sift_states_backward, clean_state_log_if_needed):
103061         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
103062         (find_recover_state, transit_state_sb, transit_state_mb):
103063         (transit_state_bkref, build_trtable, match_ctx_clean):
103064         Likewise.
103065         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
103066         to work around an assumption that REG_MISSING is negative.
103068         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
103069         (seek_collating_symbol_entry) [defined _LIBC]:
103070         (lookup_collation_sequence_value) [defined _LIBC]:
103071         (build_range_exp, build_collating_symbol) [defined _LIBC]:
103072         Use prototypes rather than old-style function definitions.
103073         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
103074         (transit_state_sb) [0]:
103075         (find_collation_sequence_value) [defined _LIBC]: Likewise.
103077         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
103078         rm_eo.
103080         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
103081         (optimize_subexps, lower_subexp):
103082         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
103083         since the signed shift might overflow.  Use 1u<<31 instead.
103084         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
103085         Likewise.
103086         * lib/regexec.c (check_dst_limits_calc_pos_1,
103087         check_subexp_matching_top): Likewise.
103089         * lib/regcomp.c (optimize_subexps, lower_subexp):
103090         Use CHAR_BIT rather than 8, for clarity.
103091         * lib/regexec.c (check_dst_limits_calc_pos_1):
103092         (check_subexp_matching_top): Likewise.
103093         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
103094         have to worry about portability issues when shifting it left.
103095         Remove no-longer-needed test for table_size > 0.
103096         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
103097         in a word, as the resulting behavior is undefined.
103098         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
103099         in one case, a <= should have been an <, and in another case the
103100         whole test was missing.
103101         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
103102         the standard name CHAR_BIT.
103103         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
103104         this is not true on one's complement and signed-magnitude hosts.
103106         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
103107         next_last_offset.
103108         (struct re_dfa_t): Remove unused member states_alloc.
103109         * lib/regcomp.c (init_dfa): Don't initialize unused members.
103111 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
103113         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
103114         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
103115         and large-file glibc and in 32-bit large-file Solaris.
103117 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
103119         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
103120         lengths fit in regoff_t; this isn't true if regoff_t is the same
103121         width as size_t.
103122         * lib/regex.c (re_search_internal): 5th arg is LAST_START
103123         (= START + RANGE) instead of RANGE.  This avoids overflow
103124         problems when regoff_t is the same width as size_t.
103125         All callers changed.
103126         (re_search_2_stub): Check for overflow when adding the
103127         sizes of the two strings.
103128         (re_search_stub): Check for overflow when adding START
103129         to RANGE; if it occurs, substitute the extreme value.
103131 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
103133         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
103135 2005-08-31  Jim Meyering  <jim@meyering.net>
103137         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
103138         a pointer-to-const.
103139         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
103140         (register_state): Likewise.
103141         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
103142         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
103143         (group_nodes_into_DFAstates): Likewise.
103145 2005-08-31  Jim Meyering  <jim@meyering.net>
103147         * check-module: Add a FIXME comment.
103149 2005-08-31  Eric Blake  <ebb9@byu.net>
103151         * modules/unistd-safer (Files): Add unistd--.h.
103152         * modules/stdio-safer (Files): Add stdio--.h.
103154 2005-08-31  Derek Price  <derek@ximbiot.com>
103156         * lib/getdelim.c (getdelim): Return EOF on EOF.
103157         Reported by Larry Jones <lawrence.jones@ugs.com>.
103159 2005-08-31  Bruno Haible  <bruno@clisp.org>
103161         Avoid unnecessary diffs in the generated lib/Makefile.am.
103162         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
103163         the generated files.
103164         (func_import): Don't set cmd.
103166 2005-08-31  Bruno Haible  <bruno@clisp.org>
103168         * lib/strstr.c: Include <stddef.h>, for NULL.
103169         * lib/strcasestr.c: Likewise.
103170         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
103172 2005-08-31  Bruno Haible  <bruno@clisp.org>
103174         * gnulib-tool: New option --macro-prefix.
103175         (func_import): Use macro_prefix.
103176         (import): Handle option --macro-prefix.
103178 2005-08-31  Bruno Haible  <bruno@clisp.org>
103180         * gnulib-tool (import): Rename most ac_* variables to cached_*.
103181         Also use new variables cached_lgpl, cached_libtool.
103183 2005-08-31  Bruno Haible  <bruno@clisp.org>
103185         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
103186         always instantiating them.
103188 2005-08-31  Bruno Haible  <bruno@clisp.org>
103190         * gnulib-tool (func_import): Read the previous cached settings
103191         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
103192         earlier added by gnulib but are now dropped. Warn when a gnulib file
103193         overwrites a non-gnulib file.
103195 2005-08-31  Bruno Haible  <bruno@clisp.org>
103197         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
103198         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
103199         projects that don't keep autogenerated files in CVS. Put into
103200         actioncmd only the specified modules, not the transitive closure.
103202 2005-08-31  Bruno Haible  <bruno@clisp.org>
103204         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
103205         Create directories that shall be filled.
103206         (import): Don't look for gl_* macros in configure.ac. Recurse across
103207         all directories containing a gnulib-cache.m4 files, if meaningful.
103209 2005-08-31  Bruno Haible  <bruno@clisp.org>
103211         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
103212         (import): Set seen_libtool when we see gl_LIBTOOL.
103214 2005-08-31  Bruno Haible  <bruno@clisp.org>
103216         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
103217         declaration macro definitions from generated gnulib.m4.
103219 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
103221         * lib/iconvme.h: Add prototype for iconv_alloc.
103223 2005-08-29  Simon Josefsson  <jas@extundo.com>
103225         * lib/iconvme.c: Fix errno.
103227 2005-08-29  Bruno Haible  <bruno@clisp.org>
103229         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
103230         that it works when the directory contains spaces.
103232 2005-08-29  Bruno Haible  <bruno@clisp.org>
103234         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
103236 2005-08-29  Bruno Haible  <bruno@clisp.org>
103238         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
103239         Emit more advice.
103241 2005-08-29  Bruno Haible  <bruno@clisp.org>
103242         and Stepan Kasal  <kasal@ucw.cz>
103244         * check-module: If more parameters are given, check each of them
103245         separately; add more exceptions, as noted by Jim Meyering.
103246         (check_module): New procedure.
103247         (%exempt_header): Now contains all exceptions.
103249 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
103251         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
103253 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
103255         * lib/iconvme.c: Split iconv_string into iconv_alloc.
103257 2005-08-28  Bruno Haible  <bruno@clisp.org>
103259         * m4/gnulib-tool.m4: New file.
103261 2005-08-27  Jim Meyering  <jim@meyering.net>
103263         * modules/unistd-safer (Files): Add pipe-safer.c.
103264         * modules/fcntl-safer (Files): Add creat-safer.c.
103266 2005-08-27  Jim Meyering  <jim@meyering.net>
103268         * m4/stdlib-safer.m4: New file.  From coreutils.
103269         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
103270         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
103271         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
103272         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
103273         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
103275 2005-08-27  Jim Meyering  <jim@meyering.net>
103277         * lib/fopen-safer.c: Merge minor changes from coreutils.
103278         * lib/dup-safer.c: Likewise.
103279         * lib/fd-safer.c: Likewise.
103281         Merge from coreutils.
103282         * lib/stdio--.h: New file.
103283         * lib/stdlib--.h: New file.
103284         * lib/mkstemp-safer.c: New file.
103286         GNU tar needs these.
103287         * lib/pipe-safer.c: New file.
103288         * lib/creat-safer.c: New file.
103289         * lib/fcntl--.h (creat): Define to creat_safer.
103290         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
103291         * lib/unistd--.h (pipe): Define to pipe_safer.
103292         * lib/unistd-safer.h: Declare pipe_safer.
103294 2005-08-26  Simon Josefsson  <jas@extundo.com>
103296         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
103297         Haible <bruno@clisp.org>.
103299 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
103301         * lib/regex_internal.h: Remove all references to
103302         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
103303         or better.
103304         (bitset_not, bitset_merge, bitset_not_merge):
103305         (bitset_mask, re_string_allocate, re_string_construct):
103306         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
103307         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
103308         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
103309         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
103310         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
103311         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
103312         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
103313         (re_acquire_state_context):
103314         Remove unnecessary forward decls.
103315         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
103316         Put __attribute at function definition,
103317         now that the function decl has been removed.
103318         * lib/regex_internal.c (re_string_peek_byte_case):
103319         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
103320         Likewise.
103322 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
103324         * m4/regex.m4: Add AC_PREREQ(2.50).
103325         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
103327 2005-08-25  Simon Josefsson  <jas@extundo.com>
103329         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
103330         __fsetlocking.
103332 2005-08-25  Simon Josefsson  <jas@extundo.com>
103334         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
103335         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
103336         GLIBC specific code.
103338 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
103340         Make regex safe for g++.  This fixes one real bug (an "err"
103341         that should have been "*err").  g++ problem reported by
103342         Sam Steingold.
103343         * lib/regex_internal.h (re_calloc): New macro, consistent with
103344         re_malloc etc.  All callers of calloc changed to use re_calloc.
103345         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
103346         not int.  All callers changed.
103347         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
103348         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
103349         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
103350         (find_recover_state): Change "err" to "*err"; this fixes what
103351         appears to be a real bug.
103352         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
103353         versus int.
103355 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
103357         * modules/regex (Depends-on): Add malloc, since the code
103358         assumes that !malloc(0) means failure.
103360 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
103362         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
103364         alloca modernization/simplification for regex.
103365         * lib/regex.c: Remove portability cruft for alloca.  This no longer
103366         needs to be at the start of the file, and can be moved into
103367         regex_internal.h and simplified.
103368         * lib/regex_internal.h: Include <alloca.h>.
103369         (__libc_use_alloca) [!defined _LIBC]: New macro.
103370         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
103371         now works outside glibc.
103373 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
103375         * config/srclist.txt: Add glibc bugs 1241, 1245.
103377 2005-08-25  Jim Meyering  <jim@meyering.net>
103379         * lib/open-safer.c: Include <config.h>.
103380         Otherwise, we'd lose LARGEFILE support in any file using
103381         e.g. "fcntl--.h"
103383 2005-08-25  Bruno Haible  <bruno@clisp.org>
103385         * m4/minmax.m4: Require autoconf 2.52.
103386         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
103387         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
103388         alternatives of translit over the alphabet.
103389         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
103391 2005-08-24  Simon Josefsson  <jas@extundo.com>
103393         * tests/test-getpass.c: New file.
103395 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
103397         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
103398         for GNU regex features.
103400 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
103402         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
103403         * lib/regex.h (regerror): Likewise.
103405         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
103406         requires this.  (The code never needed it.)
103408         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
103409         All uses of recently-renamed identifiers changed to use the new,
103410         POSIX-compliant names.  The code will build and run just fine
103411         without these changes, but it's better to eat our own dog food
103412         and use the standard-conforming names.
103414         * lib/regex.h: Fix a multitude of POSIX name space violations.
103415         These changes have an effect only for programs that define
103416         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
103417         do not change anything for programs compiled in the normal way.
103418         Also, there is no effect on the ABI.
103420         (_REGEX_SOURCE): New macro.
103421         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
103422         defined and _GNU_SOURCE is not; this fixes a name space violation.
103424         Rename the following macros to obey POSIX requirements.
103425         The old names are still visible as macros if _REGEX_SOURCE is defined.
103426         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
103427         RE_BACKSLASH_ESCAPE_IN_LISTS.
103428         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
103429         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
103430         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
103431         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
103432         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
103433         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
103434         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
103435         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
103436         (REG_INTERVALS): renamed from RE_INTERVALS.
103437         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
103438         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
103439         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
103440         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
103441         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
103442         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
103443         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
103444         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
103445         RE_UNMATCHED_RIGHT_PAREN_ORD.
103446         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
103447         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
103448         (REG_DEBUG): renamed from RE_DEBUG.
103449         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
103450         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
103451         unusual, since we can't clash with the POSIX REG_ICASE.
103452         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
103453         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
103454         (REG_NO_SUB): renamed from RE_NO_SUB.
103455         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
103456         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
103457         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
103458         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
103459         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
103460         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
103461         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
103462         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
103463         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
103464         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
103465         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
103466         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
103467         RE_SYNTAX_POSIX_MINIMAL_BASIC.
103468         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
103469         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
103470         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
103471         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
103472         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
103473         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
103474         (REG_FIXED): Renamed from REGS_FIXED.
103475         (REG_NREGS): Renamed from RE_NREGS.
103477         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
103478         of other REG_* macros, since POSIX says the user is allowed to
103479         #undef these macros selectively.
103481         (reg_errcode_t): Update comment stating what other tables need
103482         to be consistent.
103484         Rename the following enum values to obey POSIX requirements.
103485         The old names are still visible as macros.
103486         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
103487         is not defined, since GNU is supposed to be a superset of POSIX as
103488         much as possible, and since we want reg_errcode_t to be a signed
103489         type for implementation consistency.
103490         (_REG_NOERROR): Renamed from REG_NOERROR.
103491         (_REG_NOMATCH): Renamed from REG_NOMATCH.
103492         (_REG_BADPAT): Renamed from REG_BADPAT.
103493         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
103494         (_REG_ECTYPE): Renamed from REG_ECTYPE.
103495         (_REG_EESCAPE): Renamed from REG_EESCAPE.
103496         (_REG_ESUBREG): Renamed from REG_ESUBREG.
103497         (_REG_EBRACK): Renamed from REG_EBRACK.
103498         (_REG_EPAREN): Renamed from REG_EPAREN.
103499         (_REG_EBRACE): Renamed from REG_EBRACE.
103500         (_REG_BADBR): Renamed from REG_BADBR.
103501         (_REG_ERANGE): Renamed from REG_ERANGE.
103502         (_REG_ESPACE): Renamed from REG_ESPACE.
103503         (_REG_BADRPT): Renamed from REG_BADRPT.
103504         (_REG_EEND): Renamed from REG_EEND.
103505         (_REG_ESIZE): Renamed from REG_ESIZE.
103506         (_REG_ERPAREN): Renamed from REG_ERPAREN.
103507         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
103508         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
103509         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
103510         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
103512         (_REG_RE_NAME, _REG_RM_NAME): New macros.
103513         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
103514         changed.  But support the old name if the new one is not defined
103515         and if _REGEX_SOURCE.
103517         Change the following member names in struct re_pattern_buffer.
103518         The old names are still supported if !_REGEX_SOURCE.
103519         The new names are always supported, regardless of _REGEX_SOURCE.
103520         (re_buffer): Renamed from buffer.
103521         (re_allocated): Renamed from allocated.
103522         (re_used): Renamed from used.
103523         (re_syntax): Renamed from syntax.
103524         (re_fastmap): Renamed from fastmap.
103525         (re_translate): Renamed from translate.
103526         (re_can_be_null): Renamed from can_be_null.
103527         (re_regs_allocated): Renamed from regs_allocated.
103528         (re_fastmap_accurate): Renamed from fastmap_accurate.
103529         (re_no_sub): Renamed from no_sub.
103530         (re_not_bol): Renamed from not_bol.
103531         (re_not_eol): Renamed from not_eol.
103532         (re_newline_anchor): Renamed from newline_anchor.
103534         Change the following member names in struct re_registers.
103535         The old names are still supported if !_REGEX_SOURCE.
103536         The new names are always supported, regardless of _REGEX_SOURCE.
103537         (rm_num_regs): Renamed from num_regs.
103538         (rm_start): Renamed from start.
103539         (rm_end): Renamed from end.
103541         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
103542         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
103543         Prepend __ to parameter names.
103545         Undo yesterday's changes.
103547 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
103549         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
103550         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
103551         lib/regex.c.
103553 2005-08-24  Jim Meyering  <jim@meyering.net>
103555         Sync from coreutils.
103556         * m4/fcntl-safer.m4: New file.
103558         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
103559         and object files for this module.
103561 2005-08-24  Jim Meyering  <jim@meyering.net>
103563         Sync from coreutils.
103564         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
103566 2005-08-24  Jim Meyering  <jim@meyering.net>
103568         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
103569         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
103571 2005-08-24  Jim Meyering  <jim@meyering.net>
103573         * modules/fcntl-safer: New module.
103574         * modules/fts (Depends-on): Add fcntl-safer.
103575         * MODULES.html.sh (File descriptor based Input/Output):
103576         Add fcntl-safer.
103578 2005-08-24  Bruno Haible  <bruno@clisp.org>
103580         Support for unit test modules.
103581         * modules/README: Mention tests modules.
103582         * modules/TEMPLATE-TESTS: New file.
103583         * gnulib-tool: New options --extract-tests-module, --with-tests and
103584         --tests-base (unused for the moment).
103585         (testsbase, inctests): New variables.
103586         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
103587         (func_verify_module): Exclude TEMPLATE-TESTS.
103588         (func_verify_nontests_module, func_verify_tests_module): New functions.
103589         (func_get_dependencies): Add implicit dependency for tests modules.
103590         (func_get_tests_module): New function.
103591         (func_modules_transitive_closure): When --with-tests was specified,
103592         include the unit tests as well, unless explicitly avoided.
103593         (func_emit_lib_Makefile_am): Ignore the tests modules here.
103594         (func_emit_tests_Makefile_am): New function.
103595         (func_create_testdir): When --with-tests was specified, emit a
103596         tests/ directory.
103597         * MODULES.html.sh (Future developments): Update.
103599 2005-08-24  Bruno Haible  <bruno@clisp.org>
103601         * modules/tls-tests: New file.
103602         * tests/test-tls.c: New file, from GNU gettext.
103604 2005-08-24  Bruno Haible  <bruno@clisp.org>
103606         * modules/lock-tests: New file.
103607         * tests/test-lock.c: New file, from GNU gettext.
103609 2005-08-24  Bruno Haible  <bruno@clisp.org>
103611         * lib/lock.h: Add multiple inclusion guard.
103612         * lib/tls.h: Add multiple inclusion guard.
103614 2005-08-24  Bruno Haible  <bruno@clisp.org>
103616         * gnulib-tool: Add support for the --aux-dir option to
103617         --create-testdir, --create-megatestdir, --test, --megatest.
103618         (func_create_testdir, func_create_megatestdir): Optionally emit a
103619         AC_CONFIG_AUX_DIR directive.
103620         (create-testdir, create-megatestdir, test, megatest): Provide a
103621         default value for $auxdir.
103623 2005-08-24  Bruno Haible  <bruno@clisp.org>
103625         * gnulib-tool (import): Use compound statement instead of subshell
103626         where possible.
103628 2005-08-24  Bruno Haible  <bruno@clisp.org>
103630         * gnulib-tool (import): Change --aux-dir default to "build-aux".
103632 2005-08-24  Bruno Haible  <bruno@clisp.org>
103634         * gnulib-tool (func_version): Update.
103636 2005-08-24  Bruno Haible  <bruno@clisp.org>
103638         * gnulib-tool (func_import, func_create_testdir,
103639         func_create_megatestdir): Quote all autoconf macro arguments.
103641 2005-08-24  Bruno Haible  <bruno@clisp.org>
103643         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
103644         option --force, because --force causes the aclocal.m4 of each
103645         subdirectory to be newer than the corresponding config.h.in.
103647 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
103649         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
103650         All contents moved to gl_REGEX.
103651         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
103652         assume that it does.
103654 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
103656         * lib/regex.h (REG_NOSYS)
103657         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
103658         Define, since POSIX requires it as of 2001.
103659         (_REG_ENOSYS)
103660         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
103661         New private symbol, used to keep the enum signed in all cases.
103662         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
103663         Youngman in
103664         <http://lists.gnu.org/r/bug-gnulib/2005-07/msg00132.html>.
103666         * lib/regex_internal.c (re_string_skip_chars, register_state):
103667         (calc_state_hash):
103668         Remove forward decls; no longer needed now that we use prototypes.
103669         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
103670         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
103671         (clean_state_log_if_needed): Likewise.
103673 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
103675         * config/srclist.txt: Add glibc bugs 1231-1233.
103677 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
103679         Fix problems reported by Sam Steingold in
103680         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00007.html>.
103681         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
103682         assumed that reg_errcode_t is a signed type, which is not
103683         necessarily true if _XOPEN_SOURCE is not defined.
103684         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
103685         since some compilers warn about it otherwise.
103687 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
103689         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
103690         (init_word_char, create_initial_state, duplicate_node_closure):
103691         (fetch_token, peek_token_bracket, build_range_exp):
103692         (build_collating_symbol): Remove forward decls; no longer needed
103693         now that we use prototypes.
103695         * lib/regcomp.c:
103696         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
103697         (re_compile_fastmap_iter, regcomp, regerror, regfree):
103698         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
103699         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
103700         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
103701         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
103702         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
103703         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
103704         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
103705         (build_range_exp, build_collating_symbol, parse_bracket_exp):
103706         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
103707         (build_charclass, build_charclass_op, fetch_number, create_tree):
103708         (create_token_tree, mark_opt_subexp, duplicate_tree):
103709         Use prototypes rather than old-style definitions.
103711         * lib/regex_internal.c:
103712         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
103713         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
103714         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
103715         (re_string_reconstruct, re_string_peek_byte_case):
103716         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
103717         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
103718         (re_node_set_init_copy, re_node_set_add_intersect):
103719         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
103720         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
103721         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
103722         (re_acquire_state, re_acquire_state_context, register_state):
103723         (create_ci_newstate, create_cd_newstate, free_state):
103724         Likewise.
103725         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
103726         re_search_2):
103727         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
103728         (re_search_internal, prune_impossible_nodes):
103729         (acquire_init_state_context, check_matching, static):
103730         (check_halt_node_context, check_halt_state_context, proceed_next_node):
103731         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
103732         (update_regs, sift_states_backward, build_sifted_states):
103733         (clean_state_log_if_needed, merge_state_array):
103734         (update_cur_sifted_state, add_epsilon_src_nodes):
103735         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
103736         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
103737         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
103738         (find_recover_state, check_subexp_matching_top, transit_state_mb):
103739         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
103740         (check_arrival, check_arrival_add_next_nodes):
103741         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
103742         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
103743         (check_node_accept_bytes, check_node_accept, extend_buffers):
103744         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
103745         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
103746         (sift_ctx_init):
103747         Likewise.
103749         * lib/regex_internal.h:
103750         (re_string_allocate, re_string_construct, re_string_reconstruct):
103751         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
103752         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
103753         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
103754         (re_string_context_at, re_string_peek_byte_case):
103755         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
103756         is defined, since we now use prototypes always.
103758         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
103759         C89 or better.  All uses removed.
103761 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
103763         * config/srclist.txt: Add glibc bugs 1220-1227.
103765 2005-08-20  Jim Meyering  <jim@meyering.net>
103767         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
103768         of unused local, dfa.
103770 2005-08-20  Bruno Haible  <bruno@clisp.org>
103772         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
103774 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
103776         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
103777         (re_node_set_insert_last, re_dfa_add_node):
103778         Rename local variables to avoid GCC shadowing warnings.
103780 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
103782         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
103783         [defined lint]: Suppress bogus uninitialized-variable warnings.
103785         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
103786         and let the caller return REG_ESPACE if out of space.  This
103787         removes an uninitialied-variable warning with GCC 4.0.1, and also
103788         avoids taking the address of a local variable.  All callers
103789         changed.
103791 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
103793         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
103794         $LIBCSRC/posix/regexec.c.
103795         Add glibc bug 1217 for regcomp.c.
103797 2005-08-19  Jim Meyering  <jim@meyering.net>
103799         * lib/regexec.c (proceed_next_node): Redo local variables to
103800         avoid GCC shadowing warnings.
103802 2005-08-18  Bruno Haible  <bruno@clisp.org>
103804         * lib/strstr.c (strstr): Fix return value in multibyte case.
103805         * lib/strcasestr.c (strcasestr): Likewise.
103807 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
103809         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
103811 2005-08-17  Jim Meyering  <jim@meyering.net>
103813         Make the %s format (seconds since the epoch) work for a negative
103814         number and when used with a zero-padded field width, e.g. %015s.
103816         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
103817         label so that it precedes the code to set `digits'.  Otherwise,
103818         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
103819         print `00-22'.  Now, it prints `-0022', as it should.
103821 2005-08-17  Bruno Haible  <bruno@clisp.org>
103823         * modules/strstr (Files): Add m4/mbrtowc.m4.
103824         (Depends-on): Add mbuiter.
103826 2005-08-17  Bruno Haible  <bruno@clisp.org>
103828         * modules/strcasestr: New file.
103829         * MODULES.html.sh (String handling, based on ANSI C 89): Add
103830         strcasestr.
103832 2005-08-17  Bruno Haible  <bruno@clisp.org>
103834         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
103836 2005-08-17  Bruno Haible  <bruno@clisp.org>
103838         * modules/mbuiter: New file.
103839         * MODULES.html.sh (Extended multibyte and wide character utilities):
103840         Add mbuiter.
103842 2005-08-17  Bruno Haible  <bruno@clisp.org>
103844         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
103845         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
103847 2005-08-17  Bruno Haible  <bruno@clisp.org>
103849         * m4/strcasestr.m4: New file.
103851 2005-08-17  Bruno Haible  <bruno@clisp.org>
103853         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
103854         * lib/strstr.c: Completely rewritten, with multibyte locale support.
103856 2005-08-17  Bruno Haible  <bruno@clisp.org>
103858         * lib/strcasestr.h: New file.
103859         * lib/strcasestr.c: New file.
103861 2005-08-17  Bruno Haible  <bruno@clisp.org>
103863         * lib/strcasecmp.c: Use mbuiter.h.
103865 2005-08-17  Bruno Haible  <bruno@clisp.org>
103867         * lib/mbuiter.h: New file.
103869 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
103871         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
103872         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
103873         and gl_GETOPT are both invoked via different paths (as happens
103874         with GNU tar CVS because it uses both argp and getopt), the former
103875         wins.
103877 2005-08-16  Bruno Haible  <bruno@clisp.org>
103879         * modules/tls: New file.
103880         * MODULES.html.sh (Multithreading): Add tls.
103882 2005-08-16  Bruno Haible  <bruno@clisp.org>
103884         * modules/strnlen1: New file.
103885         * MODULES.html.sh (String handling): Add strnlen1.
103887 2005-08-16  Bruno Haible  <bruno@clisp.org>
103889         * modules/strcase (Files): Add m4/mbrtowc.m4.
103890         (Depends-on): Add strnlen1, mbchar.
103892 2005-08-16  Bruno Haible  <bruno@clisp.org>
103894         * modules/mbiter: New file.
103895         * MODULES.html.sh (Extended multibyte and wide character utilities):
103896         Add mbiter.
103898 2005-08-16  Bruno Haible  <bruno@clisp.org>
103900         * modules/mbfile: New file.
103901         * MODULES.html.sh (Extended multibyte and wide character utilities):
103902         Add mbfile.
103904 2005-08-16  Bruno Haible  <bruno@clisp.org>
103906         * modules/mbchar: New file.
103907         * MODULES.html.sh (Extended multibyte and wide character utilities):
103908         New section.
103910 2005-08-16  Bruno Haible  <bruno@clisp.org>
103912         * m4/tls.m4: New file, from GNU gettext.
103914 2005-08-16  Bruno Haible  <bruno@clisp.org>
103916         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
103917         always.
103918         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
103920 2005-08-16  Bruno Haible  <bruno@clisp.org>
103922         * m4/mbiter.m4: New file.
103924 2005-08-16  Bruno Haible  <bruno@clisp.org>
103926         * m4/mbfile.m4: New file.
103928 2005-08-16  Bruno Haible  <bruno@clisp.org>
103930         * m4/mbchar.m4: New file.
103932 2005-08-16  Bruno Haible  <bruno@clisp.org>
103934         * lib/tls.h: New file, from GNU gettext.
103935         * lib/tls.c: New file, from GNU gettext.
103937 2005-08-16  Bruno Haible  <bruno@clisp.org>
103939         * lib/strnlen1.h: New file.
103940         * lib/strnlen1.c: New file.
103942 2005-08-16  Bruno Haible  <bruno@clisp.org>
103944         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
103945         (mbi_init): Update.
103946         (mbi_avail, mbi_advance): Let the iteration end before the terminating
103947         NUL byte, not after it.
103949 2005-08-16  Bruno Haible  <bruno@clisp.org>
103951         * lib/strcase.h (strcasecmp): Add note in comments.
103952         * lib/strncasecmp.c: Use code from strcasecmp.c.
103953         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
103954         (strcasecmp): Work correctly in multibyte locales.
103956 2005-08-16  Bruno Haible  <bruno@clisp.org>
103958         * lib/mbiter.h: New file.
103960 2005-08-16  Bruno Haible  <bruno@clisp.org>
103962         * lib/mbfile.h: New file.
103964 2005-08-16  Bruno Haible  <bruno@clisp.org>
103966         * lib/mbchar.h: New file.
103967         * lib/mbchar.c: New file.
103969 2005-08-16  Bruno Haible  <bruno@clisp.org>
103971         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
103972         the valid ones. Makes the comparison operations transitive:
103973         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
103974         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
103976 2005-08-15  Simon Josefsson  <jas@extundo.com>
103978         * modules/ssize_t (License): Change to 'unlimited'.
103980         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
103982 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
103984         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
103985         Add comments for each pending glibc patch.
103987 2005-08-15  Bruno Haible  <bruno@clisp.org>
103989         * lib/regex.h (__restrict_arr): Don't define to __restrict if
103990         __cplusplus is defined.
103992 2005-08-14  Jim Meyering  <jim@meyering.net>
103994         Sync from coreutils.
103996         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
103997         Use the hash-table-based cycle-detection code not just when
103998         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
103999         Reported by James Youngman in
104000         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00011.html>.
104001         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
104002         FTS_TIGHT_CYCLE_CHECK.
104003         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
104004         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
104005         once again.
104006         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
104007         * lib/fts.c (fd_safer): Remove decl.
104008         Include fcntl--.h rather than unistd-safer.h
104009         (fts_safe_changedir): Don't call fd_safer; no longer needed
104010         now that we include fcntl--.h.
104012 2005-08-12  Simon Josefsson  <jas@extundo.com>
104014         * modules/getndelim2: Use ssize_t module.
104015         * modules/getnline: Likewise.
104016         * modules/safe-read: Likewise.
104017         * modules/xreadlink: Likewise.
104019         * modules/ssize_t: New file.
104021 2005-08-12  Simon Josefsson  <jas@extundo.com>
104023         * m4/readline.m4: Look for termcap, curses or ncurses if required.
104025 2005-08-12  Simon Josefsson  <jas@extundo.com>
104027         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
104028         ssize_t.
104030 2005-08-12  Simon Josefsson  <jas@extundo.com>
104032         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
104033         readline, getdelim and check_version.
104034         (Support for systems lacking ISO C 99: Sizes of integer types):
104035         Add size_max.
104037 2005-08-12  Bruno Haible  <bruno@clisp.org>
104039         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
104041 2005-08-11  Simon Josefsson  <jas@extundo.com>
104043         * modules/readline: New file.
104045         * modules/strnlen (Files): Add strnlen.h.
104047 2005-08-11  Simon Josefsson  <jas@extundo.com>
104049         * m4/readline.m4: New file.
104051 2005-08-11  Simon Josefsson  <jas@extundo.com>
104053         * lib/readline.h, readline.c: New file.
104055 2005-08-11  Simon Josefsson  <jas@extundo.com>
104057         * doc/gnulib.texi (Initial import, Finishing touches): Mention
104058         gl_AVOID.
104060 2005-08-11  Bruno Haible  <bruno@clisp.org>
104062         * lib/strnlen.h (strnlen): Change parameter name to match comment.
104064 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
104066         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
104068 2005-08-10  Simon Josefsson  <jas@extundo.com>
104070         * tests/test-iconvme.c: New file.
104072 2005-08-10  Simon Josefsson  <jas@extundo.com>
104074         * m4/strnlen.m4: New file.
104076         * m4/strndup.m4: Don't check for strnlen declaration, done in
104077         strnlen.m4.
104079 2005-08-10  Simon Josefsson  <jas@extundo.com>
104081         * lib/strndup.c: Use strnlen.h.
104083         * lib/strnlen.h: New file.
104085 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
104087         * README: Typos.
104089 2005-08-02  Simon Josefsson  <jas@extundo.com>
104091         * modules/readline: New file.
104093 2005-08-02  Simon Josefsson  <jas@extundo.com>
104095         * modules/getdelim: New file.
104097         * modules/getline: Rewrite, don't use getndelim2.
104099 2005-08-02  Simon Josefsson  <jas@extundo.com>
104101         * m4/getline.m4: Separate out getdelim stuff into separate module.
104103         * m4/getdelim.m4: New file.
104105 2005-08-02  Simon Josefsson  <jas@extundo.com>
104107         * lib/getline.h, getline.c: Rewrite.
104109         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
104111 2005-07-31  Bruno Haible  <bruno@clisp.org>
104113         * lib/lock.h (gl_lock_initializer): New macro.
104114         (gl_lock_define_initialized): Use it.
104115         (gl_rwlock_initializer): New macro.
104116         (gl_rwlock_define_initialized): Use it.
104117         (gl_recursive_lock_initializer): New macro.
104118         (gl_recursive_lock_define_initialized): Use it.
104120 2005-07-30  Karl Berry  <karl@gnu.org>
104122         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
104123         Report from Ben Pfaff, regarding getopt.
104125 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
104127         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
104128         normal way.
104129         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
104130         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
104131         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
104132         (gl_GETOPT): Use the new macros.  Most of the implementation
104133         is moved to the new macros.  This is for programs like Emacs
104134         that don't want all the functionality of gl_GETOPT.
104136 2005-07-26  Bruno Haible  <bruno@clisp.org>
104138         * m4/lock.m4: Update from GNU gettext.
104140 2005-07-26  Bruno Haible  <bruno@clisp.org>
104142         * lib/lock.h: Update from GNU gettext.
104143         * lib/lock.c: Update from GNU gettext.
104145 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
104147         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
104148         obsolescent AC_TRY_RUN.  Include the default includes files, for
104149         'exit'.
104151 2005-07-24  Bruno Haible  <bruno@clisp.org>
104153         * modules/visibility: New file.
104154         * MODULES.html.sh (Misc): Add visibility.
104156 2005-07-24  Bruno Haible  <bruno@clisp.org>
104158         * m4/visibility.m4: New file.
104160 2005-07-24  Bruno Haible  <bruno@clisp.org>
104162         * doc/visibility.texi: New file.
104164 2005-07-22  Bruno Haible  <bruno@clisp.org>
104166         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
104167         $(ALLOCA_H), redundant through BUILT_SOURCES.
104168         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
104169         redundant through BUILT_SOURCES.
104170         * modules/byteswap (Makefile.am): Remove explicit dependency on
104171         $(BYTESWAP_H), redundant through BUILT_SOURCES.
104172         * modules/fnmatch (Makefile.am): Remove explicit dependency on
104173         $(FNMATCH_H), redundant through BUILT_SOURCES.
104174         * modules/getopt (Makefile.am): Remove explicit dependency on
104175         $(GETOPT_H), redundant through BUILT_SOURCES.
104176         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
104177         redundant through BUILT_SOURCES.
104178         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
104179         redundant through BUILT_SOURCES.
104180         * modules/stdbool (Makefile.am): Remove explicit dependency on
104181         $(STDBOOL_H), redundant through BUILT_SOURCES.
104182         * modules/stdint (Makefile.am): Remove explicit dependency on
104183         $(STDINT_H), redundant through BUILT_SOURCES.
104184         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
104185         Remove explicit dependency on $(SYSEXITS_H).
104186         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
104188 2005-07-18  Simon Josefsson  <jas@extundo.com>
104190         * lib/check-version.c (check_version): Accept identical versions too.
104192 2005-07-18  Bruno Haible  <bruno@clisp.org>
104194         * modules/lock: New file.
104195         * MODULES.html.sh (Multithreading): New section.
104197 2005-07-18  Bruno Haible  <bruno@clisp.org>
104199         * m4/lock.m4: New file, from GNU gettext.
104201 2005-07-18  Bruno Haible  <bruno@clisp.org>
104203         * lib/lock.h: New file, from GNU gettext.
104204         * lib/lock.c: New file, from GNU gettext.
104206 2005-07-18  Bruno Haible  <bruno@clisp.org>
104208         * lib/lock.h (gl_once_t): New type.
104209         (gl_once_define, gl_once): New macros.
104210         * lib/lock.c (fresh_once): New variable.
104211         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
104212         functions.
104214 2005-07-16  Simon Josefsson  <jas@extundo.com>
104216         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
104217         workaround, suggested by Bruno.
104219 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
104221         * modules/xalloc (Depends-on): Add xalloc-die.
104222         * modules/xvasprintf (Depends-on): Add xalloc-die.
104224 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
104226         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
104227         with a minor change.
104229 2005-07-15  Bruno Haible  <bruno@clisp.org>
104231         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
104232         When using lib/poll.c, define poll as rpl_poll.
104234 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
104236         * modules/argp (Depends-on): Remove unlocked-io.
104238 2005-07-14  Derek Price  <derek@ximbiot.com>
104240         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
104241         for glob symlink bug.
104243 2005-07-14  Bruno Haible  <bruno@clisp.org>
104245         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
104246         Instead, test for *_unlocked function declarations directly.
104248 2005-07-11  Simon Josefsson  <jas@extundo.com>
104250         * modules/size_max: New file.
104252         * modules/xsize: Depend on size_max module for size_max.m4.
104254 2005-07-11  Simon Josefsson  <jas@extundo.com>
104256         * lib/size_max.h: New file.
104258 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
104260         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
104261         copyright symbol and the year.
104262         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
104263         (version_etc_va): Use parameterized copyright notice.
104264         Reword to conform to the current GNU coding standards.
104266 2005-07-11  Karl Berry  <karl@gnu.org>
104268         * doc/gnulib.texi (Quoting): new node.
104269         (Initial import): more info, from Patrice.
104271 2005-07-11  Bruno Haible  <bruno@clisp.org>
104273         * gnulib-tool (func_usage): Document option --avoid.
104274         (Command line options): Handle --avoid.
104275         (func_acceptable): New function.
104276         (func_modules_transitive_closure): Use it.
104278 2005-07-11  Bruno Haible  <bruno@clisp.org>
104280         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
104281         Reported by Jim Meyering.
104283 2005-07-10  Bruno Haible  <bruno@clisp.org>
104285         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
104286         Needed when size_t is smaller than 'unsigned int'.
104287         Reported by Paul Eggert.
104289 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
104291         * modules/argp (Depends-on): Add unlocked-io
104293 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
104295         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
104296         block of defines.
104298 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
104300         * config/srclist.txt: Comment out regcomp.c, since we have a porting
104301         fix now.
104303 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
104304         and Paul Eggert  <eggert@cs.ucla.edu>
104306         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
104307         in wint_t, not wchar_t.  Remove now-unnecessary cast.
104309 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
104311         * modules/regex (Files): Add lib/regex_internal.c,
104312         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
104313         (Depends-on): Add extensions.
104314         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
104316 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
104318         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
104319         pathconf.
104320         * m4/same.m4 (gl_SAME): Likewise.
104321         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
104323         * m4/regex.m4: Adjust to new libc regex implementation.
104324         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
104325         all the .c and .h parts of (the new) regex.
104326         Quote the m4 stuff better.
104327         Check for RE_ICASE bug of old gnulib.
104328         Check for REG_STARTEND of recent libc.
104329         Rename local variables from jm_* to gl_*.
104330         Quote operand of "test -f".
104331         Say "recent enough" version of libc, not "version 2".
104332         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
104333         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
104334         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
104335         Remove check for btowc, isascii.
104336         Require AM_LANGINFO_CODESET.
104338 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
104340         * lib/regex.c, regex.h: Sync from libc.
104341         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
104342         * lib/regexec.c:
104343         New files, synced from libc, except that regex_internal.h
104344         currently has a small porting fix.
104346 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
104348         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
104349         regex_internal.c, regexec.c.
104350         Add regex_internal.h too, but as a comment, since the libc version
104351         is currently broken in gnulib mode.
104353 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
104355         Support programs like Emacs that use gnulib but not gettext.
104356         * MODULES.html.sh (Internationalization functions): Add gettext-h.
104357         * modules/gettext-h: New file.
104358         * modules/gettext (Files): Remove lib/gettext.h.
104359         (Depends-on): Add gettext-h.
104360         (Makefile.am): Remove lib_SOURCES.
104361         * modules/argmatch, modules/c-stack, modules/closeout:
104362         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
104363         * modules/execute, modules/file-type, modules/getaddrinfo:
104364         * modules/getopt, modules/human, modules/javacomp:
104365         * modules/javaexec, modules/mkdir-p, modules/obstack:
104366         * modules/openat, modules/pagealign_alloc, modules/pipe:
104367         * modules/quotearg, modules/regex, modules/rpmatch:
104368         * modules/unicodeio, modules/userspec, modules/version-etc:
104369         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
104370         * modules/xsetenv:
104371         Depend on gettext-h, not gettext.
104373 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
104375         * gnulib-tool (func_import): Add support for 'public domain' license.
104376         * modules/alloca, modules/atexit, modules/memmove:
104377         Now public domain, not GPL.
104378         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
104379         * modules/realloc, modules/strerror, modules/strtod:
104380         Now LGPL, not GPL.
104382 2005-07-05  Bruno Haible  <bruno@clisp.org>
104384         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
104385         autoconf CVS. Needed for mingw.
104387 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
104389         Remove the dependency of the strftime module on the tzset module.
104390         * modules/strftime (Depends-on): Remove dependency on tzset.
104392 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
104394         Remove the dependency of the strftime module on the tzset module.
104395         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
104396         gl_FUNC_TZSET_CLOBBER.
104398 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
104400         Remove the dependency of the strftime module on the tzset module.
104401         * lib/strftime.c (my_strftime)
104402         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
104403         Copy the input structure, to work around some of the bug with
104404         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
104405         Solaris releases, you should also use the tzset module, but we won't
104406         require it as a dependency any more since we don't want LGPLed code
104407         to depend on GPLed code.
104409 2005-07-02  Jim Meyering  <jim@meyering.net>
104411         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
104412         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
104413         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
104414         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
104416 2005-07-02  Jim Meyering  <jim@meyering.net>
104418         * lib/backupfile.c (backup_args): Change a `0' to NULL.
104420 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
104422         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
104423         declares only 'struct timespec;' (!).
104425 2005-07-01  Jim Meyering  <jim@meyering.net>
104427         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
104428         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
104429         * lib/save-cwd.c, tempname.c:
104430         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
104431         and don't include <sys/file.h>).
104433 2005-06-29  Jim Meyering  <jim@meyering.net>
104435         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
104436         type name.  Use the variable name instead.
104437         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
104438         Likewise.
104440 2005-06-28  Simon Josefsson  <jas@extundo.com>
104442         * modules/check-version (Files): Add check-version.m4.
104444 2005-06-28  Simon Josefsson  <jas@extundo.com>
104446         * m4/check-version.m4: New file, suggested by Jim Meyering
104447         <jim@meyering.net>.
104449 2005-06-28  Simon Josefsson  <jas@extundo.com>
104451         * lib/check-version.h, lib/check-version.c: New files.
104453 2005-06-28  Simon Josefsson  <jas@extundo.com>
104455         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
104456         collision with global variable.  Better indentation.  Don't
104457         increment buffer pointer beyond buffer end.  Based on comments
104458         from Paul Eggert <eggert@cs.ucla.edu>.
104460         * lib/base64.h: Indent.
104462 2005-06-28  Simon Josefsson  <jas@extundo.com>
104464         * doc/gnulib.texi (Library version handling): New section.
104466 2005-06-28  Jim Meyering  <jim@meyering.net>
104468         * check-module (find_included_lib_files): Hard-code another
104469         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
104470         but modules/fts-lgpl (correctly) does not list those files.
104472         * modules/canonicalize (Files): Add lib/pathmax.h.
104474 2005-06-25  Simon Josefsson  <jas@extundo.com>
104476         * modules/check-version: New file.
104478 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
104480         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
104481         initializer of struct addrinfo, as an indication that we don't
104482         care how many members the structure has.
104484 2005-06-24  Derek Price  <derek@ximbiot.com>
104485         and Bruno Haible  <bruno@clisp.org>
104487         Remove stat module & update lstat.
104488         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
104489         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
104490         * m4/stat.m4: Remove this file.
104492 2005-06-24  Derek Price  <derek@ximbiot.com>
104493         and Bruno Haible  <bruno@clisp.org>
104495         Remove stat module & update lstat.
104496         * lib/stat.c: Remove this file...
104497         (slash_aware_lstat): ...moving this content and its support...
104498         * lib/lstat.c (rpl_lstat): ...into here.
104499         * lib/lstat.h: New file.
104501 2005-06-24  Derek Price  <derek@ximbiot.com>
104502         and Bruno Haible  <bruno@clisp.org>
104504         Remove stat module & update lstat.
104505         * config/srclist.txt (libc sources): Remove stat.
104507 2005-06-24  Derek Price  <derek@ximbiot.com>
104508         and Bruno Haible  <bruno@clisp.org>
104510         Remove stat module & update lstat.
104511         * MODULES.html.sh (stat): Remove.
104512         * MODULES.html: Regenerated.
104513         * modules/lstat (Description): Correct function name.
104514         (Files): Add "lstat.h".
104515         (Depends-on): Remove stat, add xalloc, stat-macros.
104516         * modules/stat: Remove this file.
104517         (Include): Add "lstat.h", remove <sys/stat.h>.
104519 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
104521         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
104522         (ranged_convert): Don't save conversion in a temporary struct.
104523         This causes a warning with GCC 4.0.0, and anyway in the typical
104524         case it's not worth the extra 100 bytes or so of code.
104525         (ranged_convert, __mktime_internal): When calling a function via a
104526         pointer P, use P () rather than (*P) (), as we now assume C89 or
104527         better.
104529 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
104531         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
104532         "who -r" failed to give output.  Problem reported by Tim Waugh.
104534         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
104535         (xcalloc): Use it to avoid needless tests.
104536         Problem reported by Jim Meyering.
104538 2005-06-20  Derek Price  <derek@ximbiot.com>
104540         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
104541         unnecessary for Autoconfs > 2.59c.
104543 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
104545         * lib/argp.h (__option_is_short): Check upper limit of
104546         __key. Isprint() requires its argument to have the value
104547         of an unsigned char or EOF.
104549 2005-06-16  Jim Meyering  <jim@meyering.net>
104551         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
104552         when either N or S is zero.
104554 2005-06-16  Derek Price  <derek@ximbiot.com>
104556         * m4/bison.m4: Declare YACC & YFLAGS precious.
104558 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
104560         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
104561         multibyte string or pattern, fall back on unibyte matching.
104562         Problem reported by James Youngman.
104564 2005-06-08  Bruno Haible  <bruno@clisp.org>
104566         * modules/csharpcomp: New file.
104567         * MODULES.html.sh (C#): Add csharpcomp.
104569 2005-06-08  Bruno Haible  <bruno@clisp.org>
104571         * m4/csharpcomp.m4: New file, from GNU gettext.
104573 2005-06-08  Bruno Haible  <bruno@clisp.org>
104575         * lib/csharpcomp.h: New file, from GNU gettext.
104576         * lib/csharpcomp.c: New file, from GNU gettext.
104577         * lib/csharpcomp.sh.in: New file, from GNU gettext.
104579 2005-06-08  Bruno Haible  <bruno@clisp.org>
104581         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
104582         warning on mingw.
104584 2005-06-07  Derek Price  <derek@ximbiot.com>
104586         Sync from CVS.
104587         * lib/glob_.h: Indent nested #ifdef.
104589 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
104591         Sync from coreutils.
104592         Use "file name" when talking about file names, instead of "filename"
104593         or "path", as per the GNU coding standards.
104594         * lib/mkdir-p.c: Renamed from makepath.c.
104595         (make_dir_parents): Renamed from make_path.  All callers changed.
104596         * lib/mkdir-p.h: Likewise.  All includers changed.
104597         * lib/filenamecat.c: Renamed from path-concat.c.
104598         (file_name_concat): Renamed from path_concat.  All callers changed.
104599         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
104600         * lib/filenamecat.h: Likewise.  All includers changed.
104601         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
104602         in comments or local variable names.
104603         * lib/basename.c: Likewise.
104604         * lib/canonicalize.c, canonicalize.h: Likewise.
104605         * lib/dirname.c, dirname.h: Likewise.
104606         * lib/euidaccess.c: Likewise.
104607         * lib/exclude.c: Likewise
104608         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
104609         * lib/fsusage.c, fsuage.h: Likewise.
104610         * lib/fts.c, fts_.h: Likewise.
104611         * lib/getcwd.c: Likewise.
104612         * lib/getloadavg.c: Likewise.
104613         * lib/mkstemp.c: Likewise.
104614         * lib/mountlist.c, mountlist.h: Likewise.
104615         * lib/openat.c, openat.h: Likewise.
104616         * lib/readlink-stub.c: Likewise.
104617         * lib/readutmp.c, readutmp.h: Likewise.
104618         * lib/rename.c: Likewise.
104619         * lib/rmdir.c: Likewise.
104620         * lib/same.c: Likewise.
104621         * lib/savedir.c: Likewise.
104622         * lib/stripslash.c: Likewise.
104623         * lib/tempname.c: Likewise.
104624         * lib/xreadlink.c: Likewise.
104625         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
104626         All uses changed.
104627         * lib/exclude.h: Likewise.
104629         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
104630         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
104631         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
104632         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
104633         * lib/pathmax.h: Include <limits.h> unconditionally, since other
104634         files have been getting away with it for years (MORE/BSD 4.3
104635         is extinct now).
104636         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
104637         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
104639         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
104640         Define to 256, not 255, as per modern POSIX.
104642 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
104644         Sync from coreutils.
104645         Use "file name" when talking about file names, instead of "filename"
104646         or "path", as per the GNU coding standards.
104647         * MODULES.html.sh: mkdir-p renamed from makepath.
104648         filenamecat renamed from path-concat.
104649         * modules/filenamecat: Renamed from modules/path-concat.
104650         (Files): filenamecat.h and filenamecat.c renamed from
104651         path-concat.h and path-concat.c.
104652         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
104653         (Include): filenamecat.h, not path-concat.h.
104654         * modules/mkdir-p: Renamed from modules/makepath.
104655         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
104656         makepath.c.
104657         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
104658         (Include): mkdir-p.h, not makepath.h.
104660 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
104662         Sync from coreutils.
104663         * m4/mkdir-p.m4: Renamed from makepath.m4.
104664         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
104665         Rename files from makepath.c to mkdir-p.c, and from
104666         makepath.h to mkdir-p.h.
104667         * m4/filenamecat.m4: Renamed from path-concat.m4.
104668         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
104669         Rename files from path-concat.c to filenamecat.c,
104670         and from path-concat.h to filenamecat.h.
104671         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
104672         "file name" in local variables or comments.
104673         * m4/rename.m4: Likewise.
104675 2005-06-01  Bruno Haible  <bruno@clisp.org>
104677         * modules/csharpexec: New file.
104678         * MODULES.html.sh (C#): New section.
104680 2005-06-01  Bruno Haible  <bruno@clisp.org>
104682         * m4/csharp.m4: New file, from GNU gettext.
104683         * m4/csharpexec.m4: New file, from GNU gettext.
104685 2005-06-01  Bruno Haible  <bruno@clisp.org>
104687         * lib/csharpexec.h: New file, from GNU gettext.
104688         * lib/csharpexec.c: New file, from GNU gettext.
104689         * lib/csharpexec.sh.in: New file, from GNU gettext.
104691 2005-05-31  Derek Price  <derek@ximbiot.com>
104692             Paul Eggert  <eggert@cs.ucla.edu>
104694         Sync from cvs.
104695         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
104697 2005-05-31  Derek Price  <derek@ximbiot.com>
104698             Paul Eggert  <eggert@cs.ucla.edu>
104700         Sync from cvs.
104701         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
104703 2005-05-29  Derek Price  <derek@ximbiot.com>
104705         * config/srclist.txt (glob_.h, glob.c): Add these files.
104707 2005-05-29  Derek Price  <derek@ximbiot.com>
104709         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
104710         * modules/glob: New file.
104711         * modules/getlogin_r: Add link to POSIX spec in description.
104713 2005-05-29  Derek Price  <derek@ximbiot.com>
104714             Paul Eggert  <eggert@cs.ucla.edu>
104716         * m4/glob.m4: New file.
104718 2005-05-29  Derek Price  <derek@ximbiot.com>
104719             Paul Eggert  <eggert@cs.ucla.edu>
104721         * lib/glob_.h, lib/glob.c: New files.
104723 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
104725         * modules/fts (Files): Remove m4/inttypes-pri.m4.
104726         * modules/fts-lgpl (Depends-on): Remove gettext.
104728 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
104730         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
104731         and don't require gt_INTTYPES_PRI.
104733 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
104735         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
104737         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
104738         the configuration hassle isn't worth it.
104739         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
104740         (LONGEST_MODIFIER, PRIuMAX): Remove.
104742 2005-05-27  Bruno Haible  <bruno@clisp.org>
104744         * lib/getlogin_r.h: Remove second include of <stddef.h>.
104746 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
104748         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
104749         _POSIX_PTHREAD_SEMANTICS for Solaris.
104751 2005-05-25  Derek Price  <derek@ximbiot.com>
104753         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
104755 2005-05-25  Derek Price  <derek@ximbiot.com>
104756             Paul Eggert  <eggert@cs.ucla.edu>
104758         * modules/getlogin_r, m4/getlogin_r.m4: New files.
104759         * lib/getlogin_r.c, getlogin_r.h: New files.
104761 2005-05-25  Bruno Haible  <bruno@clisp.org>
104762             Derek Price  <derek@ximbiot.com>
104764         * lib/getlogin_r.h: Simplify API documentation.
104766 2005-05-23  Derek Price  <derek@ximbiot.com>
104768         * modules/minmax (Files): Add m4/minmax.m4.
104769         (configure.ac): Add gl_MINMAX.
104771 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
104773         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
104774         so that unistd-safer.h (GPL'ed code) need not be included.
104776 2005-05-22  Bruno Haible  <bruno@clisp.org>
104778         * m4/minmax.m4: New file.
104779         Based on a patch by Derek Price <derek@ximbiot.com>.
104781 2005-05-22  Bruno Haible  <bruno@clisp.org>
104783         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
104784         (INT64_MIN): Fix definition.
104785         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
104787         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
104788         NEED_SIGNED_INT_TYPES.
104790         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
104791         HAVE_SYSTEM_INTTYPES.
104793 2005-05-22  Bruno Haible  <bruno@clisp.org>
104795         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
104796         Also include <sys/param.h> if it defines MIN, MAX.
104797         Based on a patch by Derek Price <derek@ximbiot.com>.
104799 2005-05-21  Jim Meyering  <jim@meyering.net>
104801         * modules/fts (Files): Add m4/inttypes-pri.m4.
104802         (Depends-on): Add lstat and remove gettext.  Alphabetize.
104804 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
104806         New fts module.
104807         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
104808         (setup_dir, free_dir): New functions.
104809         (enter_dir, leave_dir): Define trivial
104810         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
104811         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
104812         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
104813         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
104814         Move to fts-cycle.c.
104815         (fts_open): Use setup_dir.
104816         (fts_close): Use free_dir.
104817         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
104818         This adds a label and some gotos, but the alternatives were messier.
104819         Check for memory allocation failure when entering a dir.
104820         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
104821         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
104822         (FTS): New member fts_cycle, that is a union that contains the
104823         old active_dir_ht and cycle_state.  All uses changed to mention
104824         fts_cycle.ht and fts_cycle.state.
104825         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
104826         fts.c, with the following changes:
104827         (setup_dir, free_dir): New functions.
104828         (enter_dir): Now returns bool.  Return true if successful, false
104829         if memory exhausted.  All callers changed.
104830         Do not bother partly cleaning up on
104831         memory allocation failure; that is free_dir's job.
104832         However, free ad if hash_insert fails, to avoid memory leak.
104833         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
104834         fts->fts_options to see which union member to use.
104836 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
104838         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
104839         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
104841 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
104843         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
104845 2005-05-20  Jim Meyering  <jim@meyering.net>
104847         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
104848         Now a macro, to pacify GCC.
104850 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
104852         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
104853         of -1.
104855 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
104857         * lib/chown.c (rpl_chown): Return -1 on failure.
104859 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
104861         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
104862         Don't check for stddef.h.
104863         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
104864         don't use its results.
104865         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
104866         since we include them unconditionally.  Don't require
104867         AM_STDBOOL_H, since stdbool is a prerequisite.
104868         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
104869         since we assume C89 or better.
104870         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
104871         as we don't use their results.
104872         Don't check for fchdir, memmove, memset, strrchr, as we use
104873         them unconditionally.
104874         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
104875         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
104877 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
104879         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
104880         Include <stddef.h> unconditionally, since we assume C89 now.
104881         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
104882         * lib/fts.c: Include fts_.h first, to check interface.
104883         Do not include intprops.h; no longer needed.
104884         Include cycle-check.h and hash.h, since fts_.h no longer does.
104885         Remove unnecessary casts of closedir to void.
104886         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
104887         decide whether to decrement nlinks.
104888         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
104889         (FTS): Use struct hash_table * instead of Hash_table, so that
104890         we no longer need to include hash.h here.
104892 2005-05-18  Jim Meyering  <jim@meyering.net>
104894         * modules/dirfd (License): Change to LGPL.  Most of the code
104895         is already in the public domain.
104897 2005-05-18  Jim Meyering  <jim@meyering.net>
104899         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
104900         Reported by Yoann Vandoorselaere.
104902 2005-05-17  Jim Meyering  <jim@meyering.net>
104904         * m4/fts.m4: New file, from coreutils.
104906 2005-05-17  Jim Meyering  <jim@meyering.net>
104908         * lib/fts.c, lib/fts_.h: New files, from coreutils.
104910 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
104912         Sync from coreutils.
104913         * m4/unlinkdir.m4: New file.
104915 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
104917         Sync from coreutils.
104918         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
104919         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
104920         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
104921         White space changes only.
104922         * lib/makepath.c (make_path): Port to hosts where leading "//" is
104923         special.
104924         * lib/yesno.c: Include getline.h, not ctype.h.
104925         (yesno): Don't remove leading white space; POSIX doesn't allow it.
104926         Use getline to remove arbitrary restriction on response length.
104928 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
104930         * config/srclist-update: Spell out "Street" in FSF postal
104931         mail address; this is the style the FSF seems to prefer.
104933         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
104934         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
104935         this updates FSF postal mail address.
104937         Sync from coreutils.
104938         * modules/unlinkdir: New file.
104939         * modules/yesno (Depends-on): Add getline.
104940         * MODULES.html.sh (File system functions): Add unlinkdir.
104942 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
104944         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
104945         lib/strsep.h:
104946         Change the initial comment to refer to GPL, not LGPL.
104947         gnulib-tool will change it to LGPL as needed.
104949         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
104950         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
104951         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
104952         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
104953         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
104954         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
104955         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
104956         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
104957         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
104958         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
104959         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
104960         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
104961         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
104962         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
104963         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
104964         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
104965         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
104966         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
104967         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
104968         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
104969         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
104970         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
104971         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
104972         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
104973         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
104974         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
104975         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
104976         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
104977         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
104978         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
104979         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
104980         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
104981         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
104982         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
104983         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
104984         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
104985         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
104986         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
104987         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
104988         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
104989         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
104990         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
104991         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
104992         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
104993         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
104994         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
104995         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
104996         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
104997         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
104998         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
104999         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
105000         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
105001         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
105002         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
105003         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
105004         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
105005         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
105006         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
105007         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
105008         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
105009         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
105010         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
105011         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
105012         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
105013         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
105014         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
105015         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
105016         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
105017         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
105018         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
105019         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
105020         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
105021         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
105022         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
105023         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
105024         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
105025         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
105026         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
105027         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
105028         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
105029         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
105030         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
105031         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
105032         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
105033         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
105034         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
105035         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
105036         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
105037         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
105038         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
105039         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
105040         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
105041         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
105042         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
105043         lib/yesno.c, lib/yesno.h:
105044         Update FSF postal mail address.
105046 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
105048         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
105049         tests/test-memmem.c, tests/test-stpncpy.c:
105050         Update FSF postal mail address.
105052 2005-05-13  Bruno Haible  <bruno@clisp.org>
105054         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
105055         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
105056         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
105057         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
105058         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
105059         Add support for 64-bit integers in the MSVC compiler.
105061 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
105063         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
105065 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
105067         * gnulib-tool (func_import): Sort and uniquify recommended includes.
105069 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
105071         * doc/getdate.texi (General date syntax): Don't say that date
105072         date --iso-8601=ns generates acceptable dates; it doesn't yet.
105073         Problem reported by Nic Ferrier.
105075 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
105077         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
105078         specified in ai_socktype. Fix invalid ai_protocol
105079         check. ai_protocol is usually set to 0 or depending on
105080         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
105081         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
105082         ai_socktype / ai_protocol in the returned addrinfo structure.
105084 2005-05-10  Simon Josefsson  <jas@extundo.com>
105086         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
105087         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
105089 2005-05-10  Karl Berry  <karl@gnu.org>
105091         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
105092         (from http://www.gnu.org/licenses).
105093         * doc/COPYING.LIB: also rename to COPYING.LESSER.
105094         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
105095         fdl.texi suffices.
105097 2005-05-10  Karl Berry  <karl@gnu.org>
105099         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
105100         (COPYING.DOC): remove.
105102         * config/srclist-update: new FSF address.
105104 2005-05-10  Derek Price  <derek@ximbiot.com>
105106         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
105107         possible.
105109 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
105110             Bruno Haible  <bruno@clisp.org>
105112         * modules/inet_ntop: New file.
105113         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
105114         inet_ntop.
105116 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
105117             Bruno Haible  <bruno@clisp.org>
105119         * m4/inet_ntop.m4: New file.
105121 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
105122             Bruno Haible  <bruno@clisp.org>
105124         * lib/inet_ntop.h: New file.
105125         * lib/inet_ntop.c: New file, from glibc with modifications.
105127 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
105129         * modules/time_r (License): Change to LGPL.
105130         * modules/extensions (License): Change to LGPL.  Actually,
105131         the license is more permissive than that, but currently gnulib-tool
105132         doesn't know how to handle more-permissive licenses.
105134         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
105135         Problem reported by Dave Love.
105137 2005-05-08  Jim Meyering  <jim@meyering.net>
105139         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
105140         blank.
105142 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
105144         * modules/argmatch (Depends-on): Add stdbool.
105145         * modules/backupfile (Depends-on): Likewise.
105146         * modules/chdir-long (Depends-on): Likewise.
105147         * modules/closeout (Depends-on): Likewise.
105148         * modules/cycle-check (Depends-on): Likewise.
105149         * modules/dirname (Depends-on): Likewise.
105150         * modules/fnmatch (Depends-on): Likewise.
105151         * modules/fsusage (Depends-on): Likewise.
105152         * modules/fwriteerror (Depends-on): Likewise.
105153         * modules/getcwd (Depends-on): Likewise.
105154         * modules/getloadavg (Depends-on): Likewise.
105155         * modules/hard-locale (Depends-on): Likewise.
105156         * modules/makepath (Depends-on): Likewise.
105157         * modules/mountlist (Depends-on): Likewise.
105158         * modules/nanosleep (Depends-on): Likewise.
105159         * modules/posixtm (Depends-on): Likewise.
105160         * modules/quotearg (Depends-on): Likewise.
105161         * modules/readtokens (Depends-on): Likewise.
105162         * modules/readtokens0 (Depends-on): Likewise.
105163         * modules/readutmp (Depends-on): Likewise.
105164         * modules/save-cwd (Depends-on): Likewise.
105165         * modules/strftime (Depends-on): Likewise.
105166         * modules/userspec (Depends-on): Likewise.
105167         * modules/utimecmp (Depends-on): Likewise.
105168         * modules/xgetcwd (Depends-on): Likewise.
105169         * modules/xnanosleep (Depends-on): Likewise.
105170         * modules/xstrtod (Depends-on): Likewise.
105171         * modules/yesno (Depends-on): Likewise.
105173 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
105175         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
105176         needless checks.
105178 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
105180         Merge from coreutils.  Among other things,
105181         add bulletproofing for cases where stdin, stdout, or stderr are closed.
105182         * lib/fd-safer.c: New file.
105183         * lib/fcntl-safer.h, open-safer.c: Remove.
105184         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
105185         * lib/dup-safer.c: Include unistd-safer.h first.
105186         Don't include errno.h.
105187         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
105188         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
105189         * lib/file-type.c: Rely on file-type.h change.
105190         * lib/getloadavg.c: Include unistd-safer.h.
105191         (getloadavg): Use safer open.
105192         * lib/getusershell.c: Include "stdio-safer.h".
105193         (getusershell): Use safer fopen.
105194         * lib/long-options.c (long_options): Use NULL rather than 0.
105195         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
105196         'free'.
105197         * lib/modechange.c: Likewise.
105198         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
105199         (MODE_DONE): New constant.
105200         (struct mode_change): Remove 'next' member.
105201         (make_node_op_equals): New function; like the old one of the
105202         same name, except it allocates an array.
105203         (mode_compile, mode_create_from_ref): Use it.
105204         (mode_compile): Allocate result as an array, not a linked list.
105205         Parse octal string ourself, so that we catch mistakes like "+0".
105206         (mode_adjust): Arg is an array, not a linked list.
105207         * lib/modechange.c: Include stat-macros.h, xalloc.h.
105208         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
105209         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
105210         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
105211         Remove.  This is now stat-macros.h's job.
105212         (talloc): Remove.  All callers replaced by xalloc, so that
105213         our invokers don't have to worry about reporting memory failures.
105214         (make_node_op_equals): Remove.
105215         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
105216         New constants.
105217         (struct mode_change): Moved here from modechange.h.
105218         (mode_append_entry): Remove.
105219         (mode_compile): Remove MASKED_OPS arg, since it encouraged
105220         apps to have incorrect behavior.  Use simpler algorithm for head
105221         and tail.  Don't futz with umask; that's now the job of mode_adjust.
105222         Detect more invalid usages rather than having somewhat-random behavior.
105223         Don't insert an "a=" action, as that leads to incorrect behavior.
105224         (mode_compile, mode_create_from_ref): Return NULL on error instead
105225         of an enum, since now there's only one way to have an error.  All
105226         callers changed.
105227         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
105228         at the correct time.  Simplify calculation of "+u" and its ilk.
105229         Don't mishandle "+X".
105230         (mode_free): Remove "register" and localize decls.
105231         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
105232         (struct mode_change): Move to modechange.c; callers don't
105233         need to see this stuff.
105234         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
105235         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
105236         (mode_change, mode_adjust): Reflect the new signatures noted above.
105237         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
105238         that might redefine system include files.
105239         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
105240         (my_usleep): Use NULL rather than (void *) 0.
105241         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
105242         Use siginterrupt to specify that system calls should be interrupted.
105243         (rpl_nanosleep): Move initialization of suspended closer to call of
105244         my_usleep.
105245         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
105246         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
105247         (desirable_utmp_entry): New function.
105248         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
105249         using x2nrealloc, to simplify logic.
105250         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
105251         size calculation.  Do not assume utmp file is a regular file.
105252         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
105253         (READ_UTMP_CHECK_PIDS): New constant.
105254         * lib/save-cwd.c: Include unistd-safer.h.
105255         (save_cwd): Use fd_safer.
105256         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
105257         [!_LIBC] Include "stat-macros.h" instead.
105258         * lib/unistd-safer.h (fd_safer): New decl.
105260 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
105262         * modules/getloadavg (Depends-on): Add unistd-safer.
105263         * modules/getusershell (Depends-on): Add stdio-safer.
105264         * modules/lstat (Depends-on): Remove xalloc.
105265         * modules/mkstemp (Depends-on): Add stat-macros.
105266         * modules/modechange (Depends-on): Remove xstrtol.
105267         Add stat-macros, xalloc.
105268         * modules/save-cwd (Depends-on): Add unistd-safer.
105269         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
105270         * modules/unistd-safer (Files): Add lib/fd-safer.c
105271         (Makefile.am): Remove lib_SOURCES.
105273         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
105274         Remove fcntl-safer; unistd-safer supersedes it.
105276 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
105278         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
105279         AC_HEADER_STAT.
105280         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
105281         (gl_PREREQ_CHOWN): Remove.
105282         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
105283         it.  Don't require AC_HEADER_STAT.
105284         (gl_PREREQ_LSTAT): Remove.
105285         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
105286         Don't require AC_HEADER_STAT.
105287         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
105288         (gl_PREREQ_RMDIR): Remove.
105289         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
105290         mention stat-macros.h or AC_HEADER_STAT, since we'll make
105291         the stat-macros module a prerequisite.
105292         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
105293         * m4/filemode.m4 (gl_FILEMODE): Likewise.
105294         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
105295         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
105296         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
105297         variable names.
105298         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
105299         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
105300         variable prefixes.
105301         * m4/fcntl-safer.m4: Remove.
105302         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
105303         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
105304         Invoke gl_PREREQ_FD_SAFER.
105305         (gl_PREREQ_FD_SAFER): New macro.
105306         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
105307         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
105308         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
105309         Remove duplicate call to AC_LIBOBJ(readutmp).
105310         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
105312         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
105313         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
105315 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
105317         * MODULES.html.sh (Misc): Add byteswap.
105319 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
105321         * modules/getcwd (Depends-on): Add extensions.
105322         * modules/openat (Depends-on): Likewise.
105324 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
105326         * modules/byteswap: New file.
105328 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
105330         * m4/byteswap.m4: New file.
105332 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
105334         * lib/byteswap_.h: New file.
105336 2005-04-25  Karl Berry  <karl@gnu.org>
105338         * m4/gettext.m4: Update from GNU gettext 0.14.4.
105340 2005-04-25  Albert Chin  <china@thewrittenword.com>
105342         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
105343         Toolkit C bug.
105345 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
105347         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
105348         (func_ln_if_changed): Remove forcibly for no error message
105349         in case file does not exist.
105351 2005-04-19  Simon Josefsson  <jas@extundo.com>
105353         * gnulib-tool (Options): Make --symlink mean --symbolic.
105355 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
105357         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
105359 2005-04-16  Simon Josefsson  <jas@extundo.com>
105361         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
105363 2005-04-15  Simon Josefsson  <jas@extundo.com>
105365         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
105367 2005-04-15  Simon Josefsson  <jas@extundo.com>
105369         * gnulib-tool: Rename --symlink to --symbolic.
105371 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
105373         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
105374         symbolic links to files instead of copying/moving.  Add --aux-dir,
105375         specifying directory relative --dir where auxiliary build tools
105376         are placed.
105378 2005-04-14  Bruno Haible  <bruno@clisp.org>
105380         * modules/allocsa (License): Change to LGPL.
105381         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
105383 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
105385         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
105386         that "UTC +1 second" continues to work.  Problem reported
105387         by Dmitry V. Levin.
105388         (relunit_snumber): New rule.
105389         (relunit): Use it.
105391 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
105393         * lib/getdate.y (universal_time_zone_table): New constant.
105394         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
105395         universal_time_zone_table.
105396         (lookup_zone): Prefer universal_time_zone_table to
105397         local_time_zone_table, so that "GMT" time stamps are allowed in
105398         London during the summer.  Problem reported by Ian Abbott.
105400 2005-04-12  Jim Meyering  <jim@meyering.net>
105402         * lib/human.c (humblock): Set *options even when returning due to
105403         xstrtoumax conversion failure.  Thanks to a used-uninitialized
105404         warning from gcc-4.
105406 2005-04-09  Jim Meyering  <jim@meyering.net>
105408         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
105409         -Wuninitialized: initialize tm0.tm_year.
105411 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
105413         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
105414         count, since there's no maximum.  All uses changed.
105415         Add member dsts_seen.
105416         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
105417         not being INT_MAX.
105418         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
105419         Use pc_rels_seen to decide whether a date is absolute.
105421         * lib/getdate.y (number): Don't overwrite year.
105422         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
105423         check.
105425 2005-04-02  Simon Josefsson  <jas@extundo.com>
105427         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
105428         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
105430 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
105432         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
105433         where no absolute path name can be longer than PATH_MAX.
105435 2005-03-27  Jim Meyering  <jim@meyering.net>
105437         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
105439 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
105441         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
105442         "one's complement" -> "ones' complement" in comment, as per Knuth.
105443         "value of type" -> "type or expression" in comment.
105444         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
105446 2005-03-26  Jim Meyering  <jim@meyering.net>
105448         Comment nits.
105449         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
105450         Correct typos: s/or/of/.
105452 2005-03-26  Jim Meyering  <jim@meyering.net>
105454         * modules/check-include-files: Move to ../ and rename to...
105455         * check-module: ...this.
105457 2005-03-25  Jim Meyering  <jim@meyering.net>
105459         * modules/xvasprintf (Files): Add xalloc.h.
105461 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
105463         * modules/gettext (Files): config/config.rpath ->
105464         build-aux/config.rpath
105465         * modules/iconv (Files): Likewise.
105466         Problem reported by Oskar Liljeblad.
105468 2005-03-23  Jim Meyering  <jim@meyering.net>
105470         * modules/check-include-files: New script to check for
105471         missing dependencies, multiple includes, etc.
105473         * modules/c-strtold (Depends-on): Add xalloc.
105474         * modules/c-strtod (Depends-on): Add xalloc.
105475         * modules/hash (Depends-on): Add xalloc.
105476         (Files): Remove lib/xalloc.h.
105478         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
105479         * modules/userspec (Files): Add lib/inttostr.h.
105481 2005-03-23  Jim Meyering  <jim@meyering.net>
105483         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
105485 2005-03-22  Jim Meyering  <jim@meyering.net>
105487         * modules/stat-macros: New module.
105488         * modules/canonicalize, modules/euidaccess, modules/file-type,
105489         * modules/filemode, modules/lchown, modules/makepath,
105490         * modules/rmdir, modules/stat: Depend on new stat-macros module
105491         rather than listing lib/stat-macros.h manually.
105492         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
105494 2005-03-22  Jim Meyering  <jim@meyering.net>
105496         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
105498 2005-03-22  Bruno Haible  <bruno@clisp.org>
105500         * config/srclist.txt: Replace target directory 'config' with
105501         'build-aux'.
105502         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
105503         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
105504         ../build-aux/.
105506 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
105508         * modules/chdir-long (Depends-on): Add mempcpy.
105510         * modules/acl, modules/backupfile, modules/c-strtod,
105511         modules/c-strtold, modules/canon-host, modules/canonicalize,
105512         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
105513         modules/exclude, modules/exitfail, modules/file-type,
105514         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
105515         modules/getdate, modules/getline, modules/getpagesize,
105516         modules/getpass, modules/getugroups, modules/group-member,
105517         modules/hard-locale, modules/hash, modules/human, modules/idcache,
105518         modules/inttostr, modules/long-options, modules/makepath,
105519         modules/md5, modules/memcasecmp, modules/memcoll,
105520         modules/modechange, modules/mountlist, modules/path-concat,
105521         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
105522         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
105523         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
105524         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
105525         modules/strftime, modules/strndup, modules/strverscmp,
105526         modules/timespec, modules/unlocked-io, modules/userspec,
105527         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
105528         modules/yesno:
105529         Remove lib_SOURCES line from Makefile.am section, as this is now
105530         done automatically by the corresponding Autoconf macro.
105532 2005-03-21  Jim Meyering  <jim@meyering.net>
105534         Changes imported from coreutils.
105536         * lib/cycle-check.c: Don't include xalloc.h.
105538         * lib/path-concat.c: Don't include assert.h.
105539         (path_concat): Remove assertion that would have triggered
105540         for ABASE starting with more than one slash.
105541         Reported by Andreas Schwab.
105543         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
105544         properly when ABASE is an absolute file name.
105545         Correct the description of this function.
105546         Include <assert.h>.
105547         Add an assertion and a test driver.
105548         This fixes a bug introduced on 2004-07-02.
105549         Andreas Schwab reported the resulting failure of cp --parents:
105550         http://lists.gnu.org/r/bug-coreutils/2005-01/msg00130.html
105552 2005-03-21  Jim Meyering  <jim@meyering.net>
105554         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
105555         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
105557 2005-03-21  Jim Meyering  <jim@meyering.net>
105558         and  Paul Eggert  <eggert@cs.ucla.edu>
105560         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
105561         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
105562         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
105563         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
105564         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
105565         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
105566         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
105567         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
105568         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
105569         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
105570         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
105571         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
105572         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
105573         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
105574         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
105575         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
105576         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
105577         for these modules.
105579 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
105581         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
105582         (which shouldn't happen), generate nothing instead of returning 0
105583         immediately, so that nstrftime (NULL, ...) doesn't return 0.
105585 2005-03-16  Bruno Haible  <bruno@clisp.org>
105587         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
105588         HAVE_LONGLONG_64BIT.
105590 2005-03-16  Bruno Haible  <bruno@clisp.org>
105592         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
105593         HAVE_LONGLONG_64BIT.
105595 2005-03-16  Bruno Haible  <bruno@clisp.org>
105597         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
105598         HAVE_LONGLONG_64BIT.
105600 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
105602         * lib/strftime.c (my_strftime): Prepend space to format so that we can
105603         reliably distinguish strftime failure from empty output on POSIX
105604         hosts.
105606 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
105608         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
105609         (iconv_string): Don't guess a size-zero buffer, as that might cause
105610         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
105611         result would be 'too large', where 'too large' is (heuristically)
105612         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
105613         overflow concerns.  This will prevent some unwanted malloc failures
105614         when the inputs are very large.
105616 2005-03-15  Karl Berry  <karl@gnu.org>
105618         * config/srclist.txt (config.rpath): from gettext.
105619         * config/config.rpath: update.
105621 2005-03-15  Bruno Haible  <bruno@clisp.org>
105623         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
105624         to 'negate'.
105626         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
105627         variable.
105629         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
105630         results.
105632 2005-03-14  Simon Josefsson  <jas@extundo.com>
105634         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
105635         <fx@gnu.org>.
105637 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
105639         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
105640         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
105641         intprops.h.
105642         * lib/strtol.c: Likewise.
105644 2005-03-14  Jim Meyering  <jim@meyering.net>
105646         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
105647         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
105648         to be nonzero so that we (and caller) can detect the difference
105649         between a valid zero-length expansion and an error return, even
105650         when the underlying strftime fails before writing anything into
105651         that location.
105653 2005-03-14  Bruno Haible  <bruno@clisp.org>
105655         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
105656         Update from GNU gettext 0.14.3.
105658 2005-03-10  Jim Meyering  <jim@meyering.net>
105660         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
105662 2005-03-10  Jim Meyering  <jim@meyering.net>
105664         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
105665         so that this module works on systems without fchdir.
105667 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
105669         Factor int-properties macros into a single file, except for
105670         glibc-related files.
105671         * lib/intprops.h: New file.
105672         * lib/getloadavg.c: Include it instead of limits.h.
105673         (INT_STRLEN_BOUND): Remove.
105674         * lib/human.c: Include intprops.h.
105675         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
105676         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
105677         302/1000.
105678         * lib/inttostr.h: Include intprops.h instead of limits.h.
105679         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
105680         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
105681         for consistency with intprops.h.
105682         (time_t_is_integer, twos_complement_arithmetic): Use them.
105683         * lib/sig2str.h: Include <signal.h>, intprops.h.
105684         (INT_STRLEN_BOUND): Remove.
105685         * lib/strftime.c (TYPE_SIGNED): Remove.
105686         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
105687         * lib/strtol.c: Adjust comments to match intprops.h.
105688         * lib/userspec.c: Include intprops.h.
105689         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
105690         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
105691         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
105692         instead of rolling our own expressions.
105693         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
105695         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
105696         instead of int.
105697         (my_strftime): Do not mishandle years close to INT_MAX, by doing
105698         the right thing even if adding 1900 would overflow.  Similarly
105699         for tm_mon + 1 and tm_yday + 1.
105700         Make %Y always equivalent to %C%y, and similarly for %G and %g.
105701         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
105702         (DO_SIGNED_NUMBER): New macro.
105703         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
105705 2005-03-07  Bruno Haible  <bruno@clisp.org>
105707         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
105709 2005-03-07  Bruno Haible  <bruno@clisp.org>
105711         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
105713 2005-03-04  Derek R. Price  <derek@ximbiot.com>
105715         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
105716         (func_import): Only replace files via --import when they have actually
105717         changed.
105719 2005-03-03  Derek R. Price  <derek@ximbiot.com>
105721         * m4/mmap-anon.m4: New file.
105722         * m4/pagealign_alloc.m4: New file.
105724 2005-03-03  Derek R. Price  <derek@ximbiot.com>
105725             Bruno Haible  <bruno@clisp.org>
105727         * modules/pagealign_alloc: New file.
105728         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
105730 2005-03-03  Derek R. Price  <derek@ximbiot.com>
105731             Bruno Haible  <bruno@clisp.org>
105733         * lib/pagealign_alloc.h: New file.
105734         * lib/pagealign_alloc.c: New file.
105736 2005-03-03  Bruno Haible  <bruno@clisp.org>
105738         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
105739         Use an all-permissive copyright notice, recommended by RMS.
105741 2005-03-02  Bruno Haible  <bruno@clisp.org>
105743         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
105744         of AIX, the replacement has to be done only after <string.h> is
105745         included, therefore not in config.h. stpncpy.h does the replacement,
105746         and stpncpy.c uses it.
105748 2005-03-02  Bruno Haible  <bruno@clisp.org>
105750         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
105751         stpncpy.c uses it.
105753 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
105755         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
105756         The workaround isn't strictly needed for POSIX conformance, and
105757         it's too much of a pain to configure and maintain.  We'll ask
105758         people to fix their kernels instead.
105759         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
105760         (NANOSLEEP_BUG_WORKAROUND): Remove.
105761         (xnanosleep): Remove the workaround.
105763 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
105765         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
105766         Reported by Derek Price.
105767         (Include): Add "timespec.h".
105769         * modules/xnanosleep (Depends-on): Remove gethrxtime.
105771 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
105773         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
105774         to detect nanosleep bug.
105776 2005-03-01  Bruno Haible  <bruno@clisp.org>
105778         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
105780 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
105782         * modules/gethrxtime: New file.
105783         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
105784         (Depends-on): Add gethrxtime.
105785         (configure.ac): Add gl_XNANOSLEEP.
105786         (Makefile.am): Remove lib_SOURCES line.
105788 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
105790         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
105791         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
105793 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
105795         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
105796         * lib/timespec.h (gettime): Return void, since it always
105797         succeeds now.  All uses changed.
105798         * lib/gettime.c (gettime): Likewise.
105799         [HAVE_NANOTIME]: Prefer nanotime.
105800         Assume gettimeofday succeeds, as POSIX requires.
105801         Assime time () succeeds, since other code already does.
105802         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
105803         (timespec_subtract): Remove.
105804         (NANOSLEEP_BUG_WORKAROUND): New constant.
105805         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
105806         things considerably.  Use it only on GNU/Linux hosts, since the
105807         workaround shouldn't be needed elsewhere.
105809 2005-02-24  Bruno Haible  <bruno@clisp.org>
105811         * modules/gettext (Files): Add m4/glibc2.m4.
105813 2005-02-24  Bruno Haible  <bruno@clisp.org>
105815         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
105816         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
105817         * m4/progtest.m4:
105818         Update from GNU gettext 0.14.2.
105819         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
105821 2005-02-24  Bruno Haible  <bruno@clisp.org>
105823         * lib/localcharset.c: Update from GNU gettext 0.14.2.
105824         * lib/config.charset: Update from GNU gettext 0.14.2.
105826 2005-02-24  Bruno Haible  <bruno@clisp.org>
105828         * lib/gettext.h: Update from GNU gettext 0.14.2.
105830 2005-02-23  Simon Josefsson  <jas@extundo.com>
105832         * m4/iconvme.m4: New file.
105834 2005-02-23  Jim Meyering  <jim@meyering.net>
105836         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
105837         change.
105838         Thanks to Bruno Haible for catching it.
105840 2005-02-22  Simon Josefsson  <jas@extundo.com>
105842         * modules/iconvme: New file.
105844         * MODULES.html.sh: Add iconvme.
105846 2005-02-22  Simon Josefsson  <jas@extundo.com>
105848         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
105850 2005-02-22  Simon Josefsson  <jas@extundo.com>
105852         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
105854 2005-02-22  Jim Meyering  <jim@meyering.net>
105856         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
105857         s/ifndef/ifdef/.
105859 2005-02-20  Neil Conway  <neilc@samurai.com>
105861         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
105862         returned by OSX/Darwin if the specified buffer is not large
105863         enough for the hostname.
105865 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
105867         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
105868         pass it to _help, otherwise the latter coredumps trying to
105869         dereference state.root_argp.
105871 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
105873         * modules/chdir-long (Depends-on): Add memrchr.
105874         * modules/memrchr (Files): Add lib/memrchr.h.
105875         (Include): "memrchr.h".
105877 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
105879         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
105881 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
105883         * lib/memrchr.h: New file.
105884         * lib/chdir-long.c: Include it.
105885         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
105886         Don't bother including stddef.h.
105888 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
105890         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
105891         inclusion.
105892         Include <sys/types.h>, for dev_t.
105893         (ME_DUMMY, ME_REMOTE): Move from here....
105894         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
105895         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
105896         Dmitry V. Levin.
105897         Include mountlist.h first, to test the interface.
105899 2005-01-29  Bruno Haible  <bruno@clisp.org>
105901         * lib/progname.c (program_name): Initialize.
105902         Needed when linking statically on MacOS X.
105904 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
105906         Sync from coreutils.
105907         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
105908         (Depends-on): Add c-strtod.
105909         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
105911 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
105913         Sync from coreutils.
105914         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
105916         Remove files that are specific to coreutils.
105917         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
105919 2005-01-28  Bruno Haible  <bruno@clisp.org>
105921         * modules/javacomp: New file.
105922         * MODULES.html.sh (Java): Add javacomp.
105924 2005-01-28  Bruno Haible  <bruno@clisp.org>
105926         * m4/javacomp.m4: New file, from GNU gettext.
105928 2005-01-28  Bruno Haible  <bruno@clisp.org>
105930         * lib/javacomp.sh.in: New file, from GNU gettext.
105931         * lib/javacomp.h: New file, from GNU gettext.
105932         * lib/javacomp.c: New file, from GNU gettext.
105934 2005-01-26  Simon Josefsson  <jas@extundo.com>
105936         * lib/gai_strerror.c: Use GPL in header.
105938 2005-01-26  Bruno Haible  <bruno@clisp.org>
105940         * modules/javaexec: New file.
105941         * MODULES.html.sh (Java): Add javaexec.
105943 2005-01-26  Bruno Haible  <bruno@clisp.org>
105945         * m4/javaexec.m4: New file, from GNU gettext.
105947 2005-01-26  Bruno Haible  <bruno@clisp.org>
105949         * lib/javaexec.sh.in: New file, from GNU gettext.
105950         * lib/javaexec.h: New file, from GNU gettext.
105951         * lib/javaexec.c: New file, from GNU gettext.
105953 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
105955         * modules/lchown (Depends-on): Remove lchown.h
105957 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
105959         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
105960         must be defined if the header file was not found, in order
105961         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
105963 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
105965         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
105966         initializers for struct pentry_state.
105967         (__argp_error): Check return value of __asprintf
105968         (__argp_failure): Translate error message
105970         * lib/argp-parse.c: Removed braces around the expansion of N_()
105972 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
105974         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
105975         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
105976         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
105977         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
105978         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
105979         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
105980         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
105981         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
105982         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
105983         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
105984         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
105985         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
105986         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
105987         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
105988         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
105989         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
105990         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
105991         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
105992         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
105993         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
105994         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
105995         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
105996         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
105997         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
105998         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
105999         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
106000         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
106001         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
106002         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
106003         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
106004         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
106005         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
106006         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
106007         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
106008         xstrtol.m4, xstrtoumax.m4, yesno.m4:
106009         Use an all-permissive copyright notice, recommended by RMS.
106011 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
106013         * modules/chdir-long (Depends-on): Remove mempcpy.
106015 2005-01-21  Jim Meyering  <jim@meyering.net>
106017         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
106018         same value as for Solaris 9.
106020         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
106021         component length.  This included changing the parameter to be
106022         of type `char *' rather than `char const *'.
106023         * lib/chdir-long.h (chdir_long): Update prototype.
106025         * lib/openat.c (fdopendir, fstatat): New functions.
106026         * lib/openat.h: Include headers required for use of DIR and struct
106027         stat.
106028         [AT_SYMLINK_NOFOLLOW]: Define.
106029         (fdopendir, fstatat): Add prototypes.
106031 2005-01-21  Bruno Haible  <bruno@clisp.org>
106033         * modules/classpath: New file.
106034         * MODULES.html.sh (Java): Add classpath.
106036 2005-01-21  Bruno Haible  <bruno@clisp.org>
106038         * lib/classpath.h: New file, from GNU gettext.
106039         * lib/classpath.c: New file, from GNU gettext.
106041 2005-01-20  Simon Josefsson  <jas@extundo.com>
106043         * modules/version-etc-fsf: New file.
106045 2005-01-20  Simon Josefsson  <jas@extundo.com>
106047         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
106048         * lib/version-etc.c: Remove version_etc_copyright.
106049         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
106050         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
106052 2005-01-20  Simon Josefsson  <jas@extundo.com>
106054         * lib/base64.h (isbase64): Add.
106056         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
106057         using a unsigned prototype, don't inline.
106058         (base64_decode): Use it.
106060 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
106062         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
106063         it.
106065 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
106067         * lib/save-cwd.c (save_cwd): Remove code to support the case
106068         where fchdir is missing or flaky.
106070 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
106072         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
106074 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
106076         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
106077         AC_LIBSOURCES now does this.
106078         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
106079         with new ullong_max module.
106081 2005-01-19  Bruno Haible  <bruno@clisp.org>
106083         * modules/sh-quote: New file.
106084         * MODULES.html.sh (Executing programs): Add sh-quote.
106086 2005-01-19  Bruno Haible  <bruno@clisp.org>
106088         * lib/sh-quote.h: New file, from GNU gettext.
106089         * lib/sh-quote.c: New file, from GNU gettext.
106091 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
106093         Merge from coreutils.
106094         * m4/ullong_max.m4: New file.
106095         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
106096         (gl_MACROS): Assume localeconv exists.
106098 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
106100         Merge changes from coreutils, as described below in several
106101         changelogs dated today.
106103         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
106104         (O_DIRECTORY): Remove; not needed here, since "." must be
106105         a directory.  All uses removed.
106106         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
106107         universal on Suns, and we also need to test for IRIX.
106108         Revamp code to use 'if' rather than '#if'.
106109         Avoid unnecessary comparison of cwd->desc to 0.
106111         * lib/utimens.c (futimens): Robustify the previous patch, by checking
106112         for known valid error numbers rather than observed invalid ones.
106114 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
106116         * modules/ullong_max: New file.
106118         * modules/chdir-long, modules/openat: New files.
106119         * modules/save-cwd (Depends-on): Depend on chdir-long.
106120         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
106122 2005-01-18  Jim Meyering  <jim@meyering.net>
106124         Merge from coreutils.
106125         * m4/chdir-long.m4, m4/openat.m4: New files.
106126         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
106127         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
106128         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
106129         is sane and DOES follow symlinks.  Besides, testing 20 different
106130         systems found no broken chown implementations.
106131         Prompted by a change in rsync's copy of this macro.
106132         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
106134         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
106136         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
106137         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
106138         NULL-means-set-to-current-time semantics.
106139         Remove temporary file immediately, rather than waiting
106140         for configure's at-exit trap code to do it.
106142 2005-01-18  Jim Meyering  <jim@meyering.net>
106144         * lib/version-etc.c (version_etc_copyright): Update copyright date.
106146         * lib/utimens.c (futimens): Account for the fact that futimes
106147         can also fail with errno == ENOSYS or errno == ENOENT.
106148         Patch from Dmitry V. Levin.
106150         Change the name of the robust chdir function from chdir to chdir_long.
106151         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
106152         (restore_cwd): Use chdir_long, not chdir.
106153         * lib/chdir-long.c: Renamed from chdir.c.
106154         * lib/chdir-long.h: Renamed from chdir.h.
106155         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
106156         Hurd.
106158 2005-01-18  Bruno Haible  <bruno@clisp.org>
106160         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
106161         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
106162         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
106163         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
106164         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
106165         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
106166         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
106167         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
106168         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
106169         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
106170         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
106171         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
106172         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
106173         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
106174         Use an all-permissive copyright notice, recommended by RMS.
106176 2005-01-18  Bob Proulx  <bob@proulx.com>
106178         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
106179         simplify offsetof() macro construct to avoid compile failure with
106180         native HP-UX 11.0 ANSI C compiler.
106182 2005-01-17  Bruno Haible  <bruno@clisp.org>
106184         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
106185         redundant because stpncpy.m4 takes care of it.
106187 2005-01-17  Bruno Haible  <bruno@clisp.org>
106189         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
106191 2005-01-17  Bruno Haible  <bruno@clisp.org>
106193         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
106194         used.
106196 2005-01-17  Bruno Haible  <bruno@clisp.org>
106198         * lib/fwriteerror.h (fwriteerror): Change specification to include
106199         fclose.
106200         * lib/fwriteerror.c: Include <stdbool.h>.
106201         (fwriteerror): At the end, close the file stream. Record whether
106202         stdout was already closed.
106204 2005-01-17  Bruno Haible  <bruno@clisp.org>
106206         * lib/execute.c (environ): Declare if needed.
106207         * lib/pipe.c (environ): Likewise.
106208         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
106210 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
106212         * modules/argp: Depend on vsnprintf
106214 2005-01-10  Jim Meyering  <jim@meyering.net>
106216         * modules/closeout (Depends-on): Add atexit.
106218 2005-01-06  Bruno Haible  <bruno@clisp.org>
106220         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
106222 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
106224         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
106225         definitions to be after all include files, to avoid collisions.
106226         Problem reported by Bob Proulx.
106228 2005-01-04  Jim Meyering  <jim@meyering.net>
106230         Changes imported from coreutils.
106231         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
106232         as the mkstemp template, use a temporary directory and an
106233         8.3-friendly template to avoid trouble on systems like DJGPP.
106234         Reported by Juan M. Guerrero via Stepan Kasal.
106235         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
106236         close. Remove the temporary directory right away, rather than waiting
106237         for configure's at-exit trap code to do it.
106238         Suggestion from Stepan Kasal.
106240 2005-01-01  Simon Josefsson  <jas@extundo.com>
106242         * gnulib-tool: Print #include directives when --import'ing.
106244 2004-12-28  Simon Josefsson  <jas@extundo.com>
106246         * tests/test-base64.c: Include required header files.  Remove
106247         unused variables.
106249 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
106251         * modules/error (Depends-on): Remove gettext.
106253 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
106255         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
106256         not needed.  This removes a dependency on the gettext module.
106257         [defined _LIBC]: Do not include <libintl.h>; not needed.
106259 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
106261         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
106262         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
106264 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
106266         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
106267         HAVE_DECL_STRTOLD.
106269 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
106271         * modules/getdate (Depends-on): Remove alloca-opt.
106273 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
106275         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
106277 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
106279         * lib/argp-parse.c: Include <stddef.h>.
106280         (alignof, alignto): New macros.
106281         (parser_init): Don't assume that void * is aligned sufficiently
106282         for struct option.
106284         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
106285         need to extend the stack.
106286         (YYINITDEPTH): New macro, so that the initial stack isn't overly
106287         large.
106289 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
106291         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
106293 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
106295         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
106296         (2004-10-24) change.  Apparently this was a false alarm.
106298         * modules/getdate: Depend on alloca-opt, not alloca.
106300 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
106302         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
106303         Remove now-obsolete comment about AIX.
106304         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
106305         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
106306         (YYMAXDEPTH): New macro.
106308 2004-12-18  Simon Josefsson  <jas@extundo.com>
106310         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
106312 2004-12-18  Bruno Haible  <bruno@clisp.org>
106314         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
106316 2004-12-18  Bruno Haible  <bruno@clisp.org>
106318         * lib/fatal-signal.c (fatal_signals): Make non-const.
106319         (init_fatal_signals): New function.
106320         (uninstall_handlers, install_handlers): Ignore signals that were set to
106321         SIG_IGN.
106322         (at_fatal_signal): Call init_fatal_signals.
106323         (init_fatal_signal_set): Likewise. Ignore signals that were set to
106324         SIG_IGN.
106325         Reported by Paul Eggert.
106327 2004-12-18  Bruno Haible  <bruno@clisp.org>
106329         * doc/alloca.texi: New file.
106330         * doc/alloca-opt.texi: New file.
106332 2004-12-17  Jim Meyering  <jim@meyering.net>
106334         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
106335         Otherwise, install-sh could exit with improper exit status when
106336         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
106338 2004-12-16  Simon Josefsson  <jas@extundo.com>
106340         * tests/test-base64.c: Add license.
106342 2004-12-15  Stepan Kasal  <address@hidden>
106344         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
106346 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
106348         * modules/getcwd (Files): Add m4/d-ino.m4.
106349         Suggested by Mark D. Baushke.
106351 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
106353         * lib/getdate.y (textint): New member "negative".
106354         (time_zone_hhmm): New function.
106355         Expect 14 shift-reduce conflicts, not 13.
106356         (o_colon_minutes): New rule.
106357         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
106358         (yylex): Set the "negative" member of signed numbers.
106360 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
106362         * doc/getdate.texi (Time of day items, Time zone items):
106363         Describe new formats +00:00, UTC+00:00.
106365 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
106367         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
106368         spurious "-l"s.  Problem reported by Stepan Kasal.
106370 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
106372         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
106373         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
106375 2004-12-04  Simon Josefsson  <jas@extundo.com>
106377         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
106378         Vandoorselaere <yoann@prelude-ids.org>.
106380 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
106382         Changes imported from coreutils.
106383         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
106384         exist.
106385         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
106387 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
106389         Changes imported from coreutils.
106390         * lib/hard-locale.c: Assume <locale.h> exists.
106391         Include "strdup.h".
106392         (GLIBC_VERSION): New macro.
106393         (hard_locale): Assume setlocale exists.
106394         Rewrite to avoid #ifdef.
106395         Use strdup rather than malloc + strcpy.
106396         * lib/human.c: Assume <locale.h> exists.
106397         (human_readable): Assume localeconv exists.
106399 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
106401         * modules/hard-locale (Depends-on): Add strdup.
106403 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
106405         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
106406         convert T2, not T.  (Imported from libc.)
106408 2004-11-30  Simon Josefsson  <jas@extundo.com>
106410         * modules/restrict (License): Change to LGPL.
106412 2004-11-30  Simon Josefsson  <jas@extundo.com>
106414         * m4/restrict.m4: Add copyright and copying conditions.
106416 2004-11-30  Simon Josefsson  <jas@extundo.com>
106418         * m4/base64.m4: New file.
106420 2004-11-30  Simon Josefsson  <jas@extundo.com>
106422         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
106423         base64.
106425         * tests/test-base64.c: New file.
106427         * modules/base64: New file.
106429 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
106431         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
106432         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
106434         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
106436 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
106438         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
106439         (__getcwd.c): Don't restore errno; glibc doesn't.
106440         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
106441         first, falling back to our code only if its results look suspicious.
106442         Ensure that the resulting buffer is only as large as necessary.
106444         * lib/readutmp.c: Include readutmp.h first.
106445         Include <errno.h>, since readutmp.h no longer does that.
106446         * lib/readutmp.h: Don't include <errno.h>,
106447         <sys/param.h>, <time.h>; not needed to establish interface.
106448         (errno): Remove decl.
106449         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
106450         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
106451         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
106453 2004-11-28  Simon Josefsson  <jas@extundo.com>
106455         * lib/base64.h, base64.c: New file.
106457 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
106459         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
106461 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
106463         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
106464         (Depends-on): Remove pathmax, same.  Add mempcpy.
106465         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
106466         (Makefile.am): Append getcwd.h to lib_SOURCES.
106467         (Include): Add getcwd.h.
106468         (Maintainer): Change from Jim Meyering to "all, glibc",
106469         since getdate now uses intended-for-glibc code.
106470         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
106471         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
106473 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
106475         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
106476         HP's ANSI C compiler.
106477         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
106478         Declaring int functions causes warnings on some modern systems and
106479         shouldn't be needed to compile on ancient ones.
106480         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
106481         defined.
106483         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
106484         with the following changes.
106485         (__set_errno): Parenthesize properly.
106486         Include <stdbool.h>.
106487         (MIN, MAX, MATCHING_INO): New macros.
106488         (__getcwd): Define with prototype, not K&R form.
106489         Use heuristics to allocate default buffer on stack if possible.
106490         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
106491         behavior, and to avoid the PATH_MAX limit when computing
106492         ../../../../...
106493         Use MATCHING_INO to compare inode number to file.
106494         Check for arithmetic overflow in size calculations.
106495         Fix bug in reallocation of dot array that caused getcwd to fail
106496         on directories nested deeper than 75.
106497         Be more careful about saving errno on error.
106498         Do not use realloc; use only free+malloc, as this is a bit
106499         more flexible and avoids a needless copy operation.
106500         Do not inspect st_dev and st_ino for symbolic links; POSIX
106501         doesn't specify the latter.
106502         Check for closedir errors.
106503         Avoid needless casts.
106504         Use "#ifdef weak_alias" around weak_alias, to be like other
106505         glibc code.
106506         The following changes to getcwd.c have effect only when used in
106507         gnulib; they have no effect inside glibc proper.
106508         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
106509         as alloca isn't used.
106510         (alloca, __alloca): Likewise.
106511         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
106512         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
106513         unconditionally, as gnulib assumes C89 or better.
106514         Do not include <sys/param.h>.
106515         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
106516         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
106517         better.
106518         (NULL) [!defined NULL]: Remove; we assume C89 or better.
106519         Include <dirent.h> in a way that is compatible with modern Autoconf.
106520         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
106521         New macros, if not already defined.
106522         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
106523         Use "_LIBC", not "defined _LIBC", for consistency.
106524         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
106525         a mempcpy module.
106526         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
106527         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
106528         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
106529         credit only to Jim Meyering and adjust the copyright dates.
106530         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
106531         <stdlib.h>, <unistd.h>, "pathmax.h".
106532         Instead, include "xgetcwd.h" (first) and "getcwd.h".
106533         (INITIAL_BUFFER_SIZE): Remove.
106534         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
106536 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
106538         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
106539         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
106540         Use the _ONCE methods, for efficiency.
106541         Check for fcntl.h.  In test program, include <errno.h>
106542         and <fcntl.h> if available.  Remove old K&R cruft from
106543         test program.  Check for common errors in GNU/Linux,
106544         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
106545         don't do AC_LIBOBJ, as that's getcwd.m4's job.
106546         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
106547         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
106548         name accordingly.
106549         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
106550         accommodate new getcwd.c.
106551         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
106552         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
106553         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
106554         that's all we need now.
106556 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
106558         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
106559         argp-parse.c depends on getopt internals, that means we should
106560         always use our getopt, to be on the safe side.
106561         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
106562         order not to spoil the result of an eventual previous invocation
106563         of gl_GETOPT_SUBSTITUTE.
106565 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
106567         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
106568         redefinition warnings. To avoid them, include the defines
106569         in `#if !defined __need_getopt ... #endif'. The only place
106570         where __getopt_argv_const is used is in definitions
106571         of getopt_long and getopt_long_only below, which are as well
106572         protected by `#ifndef __need_getopt'.
106573         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
106574         __need_getopt after including <stdio.h> and <unistd.h> These
106575         headers might have defined it.
106577 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
106579         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
106581 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
106583         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
106584         (futimens): New function, which uses futimes if available.
106585         (futimens, utimens): Support timespec==NULL, with same semantics
106586         as utime and utimens.
106587         * lib/utimens.h (futimens): New decl.
106589 2004-11-23  Jim Meyering  <jim@meyering.net>
106591         * lib/getopt_.h: Remove trailing blanks.
106593 2004-11-23  Jim Meyering  <jim@meyering.net>
106595         * lib/__fpending.c: Add comment.
106597 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
106599         * modules/canonicalize (Depends-on): Add xreadlink.
106600         Problem reported by James Youngman.
106602 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
106604         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
106605         New macros.
106606         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
106607         optopt): Use them instead of invoking ## directly; otherwise, the
106608         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
106610 2004-11-19  Bruno Haible  <bruno@clisp.org>
106612         * lib/strtok_r.c: Move comments from here...
106613         * lib/strtok_r.h: ... to here.
106615 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
106617         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
106618         implementations that mishandle size_t overflow.
106620 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
106622         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
106623         might fail.  Problem reported by Yoann Vandoorselaere.
106624         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
106625         implementations that mishandle size_t overflow.
106627 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
106629         * modules/canon-host (Depends-on): Add strdup.
106631 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
106633         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
106635 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
106637         * lib/canon-host.c: Include "strdup.h".
106638         (canon_host): Use getaddrinfo if available, so that IPv6 works.
106639         Use strdup instead of malloc/strcpy to duplicate strings.
106641         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
106642         (human_space_before_unit): New constant.
106643         * lib/human.c (human_readable): Support it.
106645         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
106646         (xgetcwd): Set errno correctly when failing.
106647         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
106648         the failure is actually due to a PATH_MAX problem.
106650         Further getopt changes to make it more likely that glibc will
106651         buy the changes back.
106652         * lib/getopt.c (POSIXLY_CORRECT): New constant.
106653         (getopt): Use it, so to preserve glibc semantic
106654         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
106655         when compiling for libc.
106656         * lib/getopt_.h (__getopt_argv_const): Bring it back.
106657         (getopt_long, getopt_long_only): Use it.
106659         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
106660         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
106661         (getopt): Argv is now char * const *, as per standard.
106662         (_getopt_internal_r, _getopt_internal): Argv is now char **,
106663         not char *__getopt_argv_const *.
106664         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
106665         _getopt_long_only_r): Likewise.
106666         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
106667         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
106668         _getopt_long_r, _getopt_long_only_r): Likewise.
106669         * lib/getopt_.h (__getopt_argv_const): Remove.
106670         (getopt): Argv is now char * const *, as per standard.
106672         * lib/getdate.y (tORDINAL): New token.
106673         (day, relunit): Allow it for relative times.
106674         (relative_time_table): Use tORDINAL for ordinals.
106676 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
106678         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
106679         Document that "second" isn't allowed as an ordinal number.
106681 2004-11-16  Jim Meyering  <jim@meyering.net>
106683         * modules/closeout (Depends-on): Add fpending.
106685 2004-11-15  Jim Meyering  <jim@meyering.net>
106687         * lib/closeout.c: Include "__fpending.h" once again.
106688         Include <stdbool.h>.
106689         (close_stdout): Don't fail just because stdout was closed initially,
106690         since some programs don't write to stdout in the normal course of
106691         operation (other than --version and --help), and we don't want this
106692         function to make e.g. `touch file >&-' fail.
106693         But do fail if it was closed and someone has tried to write to it.
106694         E.g., `printf foo >&-' must fail.
106696 2004-11-13  Jim Meyering  <jim@meyering.net>
106698         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
106700 2004-11-12  Simon Josefsson  <jas@extundo.com>
106702         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
106703         small doc fix is still pending.
106705 2004-11-11  Simon Josefsson  <jas@extundo.com>
106707         * modules/strtok_r: New file.
106709         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
106710         strtok_r.
106712 2004-11-11  Simon Josefsson  <jas@extundo.com>
106714         * m4/strtok_r.m4: New file.
106716         * m4/getopt.m4: Replace opterr.
106718 2004-11-11  Simon Josefsson  <jas@extundo.com>
106720         * lib/strtok_r.h, strtok_r.c: New file.
106722 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
106724         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
106725         of replacing opterr, getopt, etc.  This should handle the
106726         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
106728 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
106730         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
106731         we can stop lying to compilers about the constness of argv when we
106732         are compiled outside glibc.
106733         (getopt, getopt_long, getopt_long_only): Use it.
106734         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
106735         _getopt_internal, getopt): Likewise.
106736         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
106737         _getopt_long_only_r): Likewise.
106738         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
106739         _getopt_long_r, _getopt_long_only_r): Likewise.
106741         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
106742         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
106743         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
106744         the other external symbols.
106745         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
106746         declaration, since the above renaming now works around collisions.
106748 2004-11-11  Jim Meyering  <jim@meyering.net>
106750         * lib/linebreak.c: Remove trailing blanks.
106751         * lib/alloca_.h: Likewise.
106752         * lib/acosl.c: Likewise.
106753         * lib/euidaccess.c: Likewise.
106754         * lib/allocsa.h: Likewise.
106756 2004-11-10  Simon Josefsson  <jas@extundo.com>
106758         * m4/getaddrinfo.m4: New file.
106760 2004-11-10  Simon Josefsson  <jas@extundo.com>
106762         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
106764 2004-11-10  Simon Josefsson  <jas@extundo.com>
106766         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
106767         getaddrinfo.
106769         * modules/getaddrinfo: New file.
106771 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
106773         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
106775 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
106777         * lib/mktime.c (SHR): New macro, which is a portable
106778         substitute for >> that should work even on Crays.
106779         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
106780         Problem reported by Mark D. Baushke in
106781         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00071.html>.
106782         * lib/getdate.y (SHR): Likewise.
106783         (tm_diff): Use it.
106784         * lib/strftime.c (SHR): Likewise.
106785         (tm_diff): Use it.
106786         * lib/quotearg.c (struct quoting_options): Use unsigned int for
106787         quote_these_too, so that right shifts are well defined.  All uses
106788         changed.
106790 2004-11-10  Jim Meyering  <jim@meyering.net>
106792         Ensure that no close failure goes unreported.
106793         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
106794         return early when it seems there's nothing to flush.
106795         Don't include __fpending.h.
106797 2004-11-10  Jim Meyering  <jim@meyering.net>
106799         * modules/closeout (Depends-on): Remove fpending.
106801 2004-11-10  Jim Meyering  <jim@meyering.net>
106803         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
106805 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
106807         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
106808         gl_FUNC_STRFTIME.
106809         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
106810         and AC_REQUIRE when possible, to avoid duplicate checks.
106811         Check for <wchar.h>.
106813 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
106815         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
106817 2004-11-09  Bruno Haible  <bruno@clisp.org>
106819         * m4/sockpfaf.m4: New file.
106821 2004-11-05  Bruno Haible  <bruno@clisp.org>
106823         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
106824         Reported by Mark D. Baushke <mdb@cvshome.org>.
106826 2004-11-04  Bruno Haible  <bruno@clisp.org>
106828         2004-09-11  Bruno Haible  <bruno@clisp.org>
106829                 * allocsa.valgrind: New file.
106830         2004-02-06  Bruno Haible  <bruno@clisp.org>
106831                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
106832                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
106833                 Reported by Christopher Seip <chris.seip@hp.com>.
106835 2004-11-04  Bruno Haible  <bruno@clisp.org>
106837         * modules/allocsa (Files): Add lib/allocsa.valgrind.
106838         (Makefile.am): Distribute it.
106840 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
106842         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
106843         with errno == ERANGE if the buffer is too small.
106844         Problem reported by Mark D. Baushke.
106846 2004-11-03  Albert Chin  <china@thewrittenword.com>
106847             Paul Eggert  <eggert@cs.ucla.edu>
106849         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
106850         equivalent, substitute $ac_type for equivalent type rather than
106851         blindly using uint32_t *always* which won't work if uint32_t is not
106852         available.  Define _UINT32_T to work around typedef of uint32_t if
106853         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
106854         2.5.1.
106856 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
106858         * m4/jm-macros.m4: Sync from coreutils.
106859         (gl_MACROS): Check for mbrlen, for pathchk.
106860         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
106862 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
106864         * lib/xreadlink.c (MAXSIZE): New macro.
106865         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
106866         size does not exceed MAXSIZE.  Avoid cast.
106867         As suggested by Mark D. Baushke in
106868         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00009.html>,
106869         if readlink fails with buffer size just under MAXSIZE, try again
106870         with MAXSIZE.
106872 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
106874         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
106876 2004-11-02  Derek R. Price  <derek@ximbiot.com>
106877         and  Paul Eggert  <eggert@cs.ucla.edu>
106879         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
106880         (get_date): Overparenthesize to avoid GCC warning.
106882 2004-11-02  Bruno Haible  <bruno@clisp.org>
106884         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
106885         returns void.
106887 2004-11-02  Bruno Haible  <bruno@clisp.org>
106889         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
106890         function returns void.
106892 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
106894         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
106895         fflush_unlocked, flockfile, funlockfile, funlockfile,
106896         fputs_unlocked, putc_unlocked.
106898 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
106900         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
106901         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
106902         already declared.
106904 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
106906         * modules/getdate (Files): Add doc/getdate.texi.
106907         (Depends-on): Add setenv, xalloc.
106909 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
106911         * lib/getdate.y: Add support for TZ="foo" within a date string.
106912         Fix some bugs near time_t boundaries.  Reject dates with
106913         out-of-range components, e.g., "Sept 31".
106914         Include <stdlib.h>, "setenv.h", "xalloc.h".
106915         (ISDIGIT_LOCALE): Remove; unused.
106916         Note that the TZ and time functions used here are not reentrant.
106917         (mktime_ok, get_tz): New functions.
106918         (TZBUFSIZE): New constant.
106919         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
106920         This requires that we sometimes generate our own TZ="XXX..." setting.
106922 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
106924         * doc/getdate.texi: New file, from coreutils with modifications for
106925         the new TZ parsing.
106927 2004-10-27  Derek R. Price  <derek@ximbiot.com>
106929         * lib/mktime.c (not_equal_tm): Remove redundant check.
106931 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
106933         * modules/regex (lib_SOURCES): Add regex.c.
106934         Reported by James Youngman in
106935         <http://lists.gnu.org/r/bug-gnulib/2004-10/msg00199.html>.
106937 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
106939         * lib/getdate.y: Use Bison 1.875 features, and some minor
106940         code cleanups.  This change does not affect semantics.
106941         Don't include <stdlib.h>; no longer needed.
106942         Don't include unlocked-io.h; only the "#if TEST" code uses
106943         stdio, and performance isn't crucial there.
106944         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
106945         Bison 1.875 features as described below.
106946         All uses of "PC." replaced by "pc->".
106947         (YYSTYPE): Add a forward declaration.
106948         (yylex, yyerror): Use full prototypes in forward decls.
106949         Use "%pure-parser" rather than obsolescent "%pure_parser".
106950         Use %parse-param and %lex-param instead of obsolescent
106951         YYPARSE_PARAM and YYLEX_PARAM.
106952         (meridian_table, month_and_day_table, time_units_table,
106953         relative_time_table, time_zone_table, military_table,
106954         lookup_zone, lookup_word, get_date):
106955         Use NULL instead of 0 where appropriate.
106956         (to_hour): Avoid abort (), to avoid a dependency on
106957         stdlib.h.
106958         (yyerror, yylex): Now accepts parser_control * arg.
106959         (main) [TEST]: Use '\0' rather than 0 for char.
106961 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
106963         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
106965 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
106967         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
106968         It's now the caller's responsibility to handle the case where
106969         !HAVE_GETPAGESIZE && !defined getpagesize.
106971         * lib/mktime.c (leapyear): Arg is long int, not int.
106973 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
106975         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
106977 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
106979         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
106980         missing.  Problem reported by James Youngman.
106982 2004-10-16  Simon Josefsson  <jas@extundo.com>
106984         * gnulib-tool: Fix comments.  Fix parse problem.
106985         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
106987 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
106989         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
106990         implementation of getopt_long.  Problem reported by Alexander Taler in:
106991         http://lists.gnu.org/r/bug-gnulib/2004-10/msg00103.html
106993 2004-10-15  Bruno Haible  <bruno@clisp.org>
106995         * gnulib-tool: Untabify. Initialize supplied_libname.
106996         (func_usage): More homogenous output.
106997         (func_modules_transitive_closure, func_modules_to_filelist,
106998         func_emit_lib_Makefile_am): New functions.
106999         (func_import): New function, extracted from big case statement. Use
107000         func_get_license, func_modules_transitive_closure,
107001         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
107002         opt_lgpl. Don't use test -a, as it's not portable.
107003         (func_create_testdir): Use func_modules_transitive_closure,
107004         func_modules_to_filelist, func_emit_lib_Makefile_am.
107006 2004-10-15  Bruno Haible  <bruno@clisp.org>
107008         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
107010 2004-10-15  Bruno Haible  <bruno@clisp.org>
107012         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
107013         the portions belonging to each module.
107014         Suggested by Derek Robert Price <derek@ximbiot.com>.
107016 2004-10-12  Simon Josefsson  <jas@extundo.com>
107018         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
107019         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
107020         to real functions.
107022 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
107024         * modules/vsnprintf: New file.
107026 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
107028         * m4/vsnprintf.m4: New file.
107030 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
107032         * lib/vsnprintf.h: New file.
107033         * lib/vsnprintf.c: New file.
107035 2004-10-11  Bruno Haible  <bruno@clisp.org>
107037         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
107038         vsnprintf.
107040 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
107042         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
107044 2004-10-07  Bruno Haible  <bruno@clisp.org>
107046         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
107047         fits into the provided buffer.
107049 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
107051         * lib/diacrit.c, diacrit.h: Add GPL notice.
107053         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
107054         notice.
107055         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
107056         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
107057         This avoids a potential constant-folding bug.
107059 2004-10-05  Bruno Haible  <bruno@clisp.org>
107061         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
107062         for the declaration of strsep.
107064 2004-10-05  Bruno Haible  <bruno@clisp.org>
107066         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
107068 2004-10-04  Simon Josefsson  <jas@extundo.com>
107070         * modules/memmem: New file.
107071         * tests/test-memmem.c: New file.
107072         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
107074 2004-10-04  Simon Josefsson  <jas@extundo.com>
107076         * m4/memmem.m4: New file.
107078 2004-10-04  Simon Josefsson  <jas@extundo.com>
107080         * lib/memmem.h: New file.
107081         * lib/memmem.c: New file, taken from glibc.
107083 2004-10-04  Simon Josefsson  <jas@extundo.com>
107085         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
107086         '#ifdef USE_UNLOCKED_IO'.
107088 2004-10-04  Simon Josefsson  <jas@extundo.com>
107090         * config/srclist.txt: Add memmem from glibc.
107092 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
107094         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
107096         * modules/argmatch, modules/argp, modules/closeout, modules/error,
107097         modules/exclude, modules/getdate, modules/getline,
107098         modules/getndelim2, modules/getpass, modules/getpass-gnu,
107099         modules/getusershell, modules/linebuffer, modules/md5,
107100         modules/mountlist, modules/posixtm, modules/readtokens,
107101         modules/readutmp, modules/regex, modules/sha1,
107102         modules/version-etc, modules/yesno:
107103         Remove dependency on unlocked-io.
107105 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
107107         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
107109         * m4/unlocked-io.m4: Add copyright notice.
107110         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
107112 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
107114         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
107115         * lib/xmalloc.c (xmemdup): Likewise.
107116         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
107117         XFREE): Remove these long-obsolescent macros.
107118         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
107119         * lib/xstrdup.c: Remove.
107121         * lib/regex.c (re_comp): Cast gettext return value to char *,
107122         Problem reported by Martin Neitzel via Mark D. Baushke.
107124 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
107126         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
107127         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
107128         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
107129         regex.c, sha1.c, version-etc.c, yesno.c:
107130         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
107131         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
107132         the includer's responsibility.
107134         Sync from coreutils.
107136         * lib/modechange.c (mode_compile): Don't decrement a pointer that
107137         points to the start of a string, as the C Standard says the
107138         resulting behavior is undefined.
107140         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
107141         simple -> simple_backups, numbered_existing ->
107142         numbered_existing_backups, numbered -> numbered_backups
107143         to avoid shadowing problems.  All uses changed.
107144         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
107145         * lib/backupfile.c (check_extension, numbered_backup):
107146         Rename locals to avoid shadowing 'basename'.
107147         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
107148         once.
107150         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
107151         * lib/.cvsignore: Add getopt.h.
107153 2004-10-04  Bruno Haible  <bruno@clisp.org>
107155         * modules/README: New file.
107156         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
107157         not a module.
107159 2004-10-02  Jim Meyering  <jim@meyering.net>
107161         * lib/dirfd.h, getpagesize.h: Add copyright notice.
107163 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
107165         * modules/strsep: New file.
107167 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
107169         * m4/strsep.m4: New file.
107171 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
107173         * lib/strsep.h: New file.
107174         * lib/strsep.c: New file.
107176 2004-10-01  Simon Josefsson  <jas@extundo.com>
107178         * lib/snprintf.c (snprintf): Handle size==0.
107180 2004-10-01  Simon Josefsson  <jas@extundo.com>
107181             Bruno Haible  <bruno@clisp.org>
107183         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
107184         (snprintf): Declare 'args'.
107186 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
107188         * lib/snprintf.c: Remove comments as to why each header is needed.
107190 2004-10-01  Bruno Haible  <bruno@clisp.org>
107192         * MODULES.html.sh: Add strsep.
107194 2004-09-30  Simon Josefsson  <jas@extundo.com>
107196         * modules/snprintf: New file.
107198 2004-09-30  Simon Josefsson  <jas@extundo.com>
107200         * m4/snprintf.m4: New file.
107202 2004-09-30  Simon Josefsson  <jas@extundo.com>
107204         * lib/snprintf.h, lib/snprintf.c: New files.
107206 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
107208         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
107209         (hol_entry_help): Never translate an empty string.
107210         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
107211         * lib/argp.h (OPTION_NO_TRANS): New option.
107213 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
107215         * modules/argp (Maintainer): Replace Simon Josefsson
107216         by Sergey Poznyakoff.
107218 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
107220         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
107221         changes merged back into glibc.
107223 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
107225         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
107227 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
107229         * lib/xvasprintf.c: Include xalloc.h.
107230         (xvasprintf): Use xalloc_die, not xmalloc_die.
107232 2004-09-29  Bruno Haible  <bruno@clisp.org>
107234         * modules/alloca-opt: New file, derived from modules/alloca.
107235         * modules/allocsa: Depend on alloca-opt instead of alloca.
107236         * modules/setenv: Likewise.
107237         * modules/vasnprintf: Likewise.
107238         * MODULES.html.sh: Add alloca-opt.
107240 2004-09-28  Simon Josefsson  <jas@extundo.com>
107242         * gnulib-tool: New parameter --lgpl, to asseert that modules are
107243         LGPL, and to replace license template from GPL to LGPL.
107245 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
107247         * modules/dummy: Change license to LGPL.
107249 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
107251         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
107253 2004-09-24  Simon Josefsson  <jas@extundo.com>
107255         * modules/minmax (License): Change from GPL to LGPL.
107257 2004-09-23  Simon Josefsson  <jas@extundo.com>
107259         * gnulib-tool (--import): Typo.
107261 2004-09-23  Simon Josefsson  <jas@extundo.com>
107263         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
107265 2004-09-22  Bruno Haible  <bruno@clisp.org>
107267         * modules/*: Add 'License' field.
107268         * gnulib-tool: Accept --extract-license option.
107269         (func_get_license): New function.
107271 2004-09-21  Bruno Haible  <bruno@clisp.org>
107273         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
107274         Reported by Simon Josefsson.
107276 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
107278         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
107279         gl_AC_TYPE_LONG_LONG.
107281 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
107283         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
107285 2004-09-18  Simon Josefsson  <jas@extundo.com>
107286         and  Paul Eggert  <eggert@cs.ucla.edu>
107288         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
107289         calls with autoreconf.  Define GL_LIB.
107291 2004-09-14  Karl Berry  <karl@gnu.org>
107293         * config/srclist.txt: unsync setenv.c, sigh.
107295 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
107297         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
107298         Problem reported by Bruno Haible in:
107299         http://lists.gnu.org/r/bug-tar/2004-09/msg00023.html
107301 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
107303         * config/srclist.txt: Comment out argp-pvh.c.
107305 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
107307         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
107308         in case some system header has #define'd it.  Problem reported by
107309         Soeren D. Schulze in
107310         <http://lists.gnu.org/r/bug-gnulib/2004-09/msg00017.html>.
107312 2004-09-09  Karl Berry  <karl@gnu.org>
107314         * regex.[ch]: delete from the root.  These were supposed to be
107315                 synced with emacs cvs, but this has not happened for about
107316                 a year, and anyway nothing else uses emacs regex.[ch].
107317                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
107318                 lib/regex[.ch] is untouched.
107320 2004-09-09  Bruno Haible  <bruno@clisp.org>
107322         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
107324 2004-09-09  Bruno Haible  <bruno@clisp.org>
107326         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
107327         modifications.
107328         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
107330 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
107332         * modules/xvasprintf: New file.
107333         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
107335 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
107337         * lib/xvasprintf.h: New file.
107338         * lib/xvasprintf.c: New file.
107339         * lib/xasprintf.c: New file.
107341 2004-09-08  Bruno Haible  <bruno@clisp.org>
107343         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
107345 2004-09-08  Bruno Haible  <bruno@clisp.org>
107347         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
107348         length is > INT_MAX.
107349         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
107350         more.
107352 2004-09-08  Bruno Haible  <bruno@clisp.org>
107354         * lib/stdint_.h: New file, taken from GNU clisp.
107356 2004-09-08  Bruno Haible  <bruno@clisp.org>
107357             Oskar Liljeblad  <oskar@osk.mine.nu>
107359         * modules/stdint: New file.
107360         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
107362 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
107364         Import from coreutils.
107365         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
107366         strings on unbounded length.  alloca's performance benefits aren't
107367         that important here.
107368         (V_STRDUP): Remove.
107369         (parse_with_separator): New function, with most of the internals
107370         of the old parse_user_spec.  Allow user to omit both user and group,
107371         for compatibility with FreeBSD.
107372         Clone only the user name, not the entire spec.
107373         Do not set *uid, *gid unless entirely successful.
107374         Avoid memory leak in some failing cases.
107375         Fix regression for USER.GROUP reported by Dmitry V. Levin in
107376         <http://lists.gnu.org/r/bug-coreutils/2004-08/msg00102.html>
107377         (parse_user_spec): Rewrite to use parse_with_separator.
107379 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
107381         * modules/userspec: Don't depend on alloca.
107383 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
107385         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
107387 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
107389         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
107390         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
107391         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
107393 2004-08-16  Simon Josefsson  <jas@extundo.com>
107395         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
107396         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
107397         Add --dry-run for --import.
107398         Let user provided command line parameters override configure.ac
107399         settings.
107401 2004-08-12  Simon Josefsson  <jas@extundo.com>
107403         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
107404         as discussed with Paul Eggert in threads rooted at
107405         <http://lists.gnu.org/r/bug-gnulib/2004-06/msg00039.html>
107406         and
107407         <http://lists.gnu.org/r/bug-gnulib/2004-07/msg00001.html>.
107408         Before, the test was empty, and relied on ELIDE_CODE in source
107409         code.)
107410         (gl_PREREQ_GETOPT): New macro.
107411         (gl_GETOPT): Use them.
107413 2004-08-12  Simon Josefsson  <jas@extundo.com>
107415         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
107416         * lib/getopt_.h: Renamed from getopt.h.
107418 2004-08-12  Simon Josefsson  <jas@extundo.com>
107420         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
107421         Change default library name from libfoo to libgnu.
107422         Now, if you have a configure.ac that says:
107423                 gl_SOURCE_BASE(gl)
107424                 gl_M4_BASE(gl/m4)
107425                 gl_MODULES(error getopt etcetera)
107426                 gl_INIT
107427         you can import all you need by running:
107428                 ../gnulib/gnulib-tool --import
107430         * modules/getopt (Files): Rename getopt.h to getopt_.h.
107431         (Makefile.am): Rewrite, use logic from argz.
107432         (Include): Use <getopt.h> instead of "getopt.h".
107434 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
107436         * modules/argp (Files): Add m4/unlocked-io.m4.
107437         (Depends-on): Add extensions.
107439 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
107441         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
107442         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
107443         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
107444         Check for program_invocation_name, program_invocation_short_name,
107445         flockfile, funlockfile, features.h, _getopt_long_only_r.
107447 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
107449         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
107450         its complicated substitute.
107451         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
107452         and program_invocation_name.
107453         (__argp_basename) [!_LIBC]: Remove; the only use was
107454         replaced by its body.
107455         (__argp_short_program_name): Change condition from
107456         !defined __argp_short_program_name to
107457         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
107458         to match argp-namefrob.h.
107459         (__argp_failure): Don't assume strerror_r returns char *.
107460         * lib/argp-parse.c (N_): Define unconditionally.
107461         (argp_default_options): Fill out initializers with 0 to avoid
107462         gcc warnings.
107464 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
107466         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
107467         getopt1.c.
107469 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
107471         Merge from coreutils.
107473         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
107475         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
107476         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
107478 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
107480         Merge from coreutils.
107482         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
107483         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
107484         for Reliant Unix 5.43.
107486         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
107487         (union fooround): Use uintmax_t, not long int.
107488         The rest is a merge from libc:
107489         [defined _LIBC]: Include <shlib-compat.h>.
107490         (_obstack) [defined _LIBC]: Remove after 2.3.4.
107492         * lib/settime.c (settime): Recode to avoid warning with
107493         Sun Forte C 6U2.
107495         * lib/strverscmp.c: Convert to UTF-8.
107497 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
107499         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
107500         m4/uintmax_t.m4.
107502 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
107504         * modules/xalloc-die: New file.
107505         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
107507         * modules/md5 (Files): Add m4/uint32_t.m4.
107508         * modules/sha1: Renamed from modules/sha.
107509         (Files):
107510         Rename lib/sha.h to lib/sha1.h.
107511         Rename lib/sha.c to lib/sha1.c.
107512         Rename m4/sha.m4 to m4/sha1.m4.
107513         (lib_SOURCES): Likewise.
107514         (configure.ac): Rename gl_SHA to gl_SHA1.
107515         (Include): sha.h -> sha1.h.
107517 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
107519         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
107520         * m4/sha1.m4: Renamed from sha.m4.
107521         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
107523 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
107525         * lib/obstack.h (obstack_empty_p):
107526         Don't assume that chunk->contents is suitably aligned.
107527         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
107528         Likewise. Problem reported by Benno in
107529         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
107531         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
107532         readable.  This could be improved further but it'd take some work.
107534 2004-08-08  Simon Josefsson  <jas@extundo.com>
107536         * modules/xgethostname (Depends-on): Remove exit and error (not
107537         used).
107539         * modules/getpass-gnu: Add getpass.h.
107540         (Depends-on): Add stdbool.
107541         * modules/getpass: Add getpass.h.
107543 2004-08-08  Simon Josefsson  <jas@extundo.com>
107545         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
107546         Check getpass declaration.
107548 2004-08-08  Simon Josefsson  <jas@extundo.com>
107550         * lib/xgethostname.c: Don't include error.h (not used).
107552         * lib/getpass.h: Add.
107553         * lib/getpass.c: Include getpass.h first.
107555 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
107557         * lib/xalloc-die.c: New file.
107558         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
107559         All uses removed.
107560         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
107561         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
107562         xalloc-die.c.
107563         (_, N_, xalloc_die): Move to xalloc-die.c.
107564         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
107565         so that we needn't mess with xalloc_msg_memory_exhausted.
107567         * lib/sha1.h: Renamed from sha.h.
107568         (SHA1_H): Renamed from _SHA_H.
107569         (sha1_ctx): Renamed from sha_ctx.
107570         (sha1_init_ctx): Renamed from sha_init_ctx.
107571         (sha1_process_block): Renamed from sha_process_block.
107572         (sha1_process_bytes): Renamed from sha_process_bytes.
107573         (sha1_finish_ctx): Renamed from sha_finish_ctx.
107574         (sha1_read_ctx): Renamed from sha_read_ctx.
107575         (sha1_stream): Renamed from sha_stream.
107576         (sha1_buffer): Renamed from sha_buffer.
107577         * lib/sha1.c: Likewise; renamed from sha.c.
107578         Do not include <sys/types.h>.
107579         Include <stddef.h> rather than <stdlib.h>.
107581 2004-08-08  Bruno Haible  <bruno@clisp.org>
107583         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
107584         FILESYSTEM_PREFIX_LEN.
107585         * lib/progreloc.c: Likewise.
107586         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
107588 2004-08-06  Simon Josefsson  <jas@extundo.com>
107590         * modules/progname (Depends-on): Don't depend on stdbool.
107592 2004-08-06  Simon Josefsson  <jas@extundo.com>
107594         * modules/getsubopt: New file.
107595         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
107596         getsubopt.
107598 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
107600         More merge from coreutils.
107602         * m4/utimens.m4, m4/utimecmp.m4: New files.
107603         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
107604         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
107605         prereq.m4, sha.m4: Import changes from coreutils.
107607 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
107609         More merge from coreutils.
107610         * modules/raise, modules/readtokens0, modules/utimens:
107611         * modules/utimecmp, module/xnanosleep: New files.
107612         * modules/strftime: Add lib/strftime.h.
107613         Change include from <time.h> to "strftime.h".
107614         * modules/yesno: Add lib/yesno.h.
107615         * modules/backupfile: Remove lib/addext.c.
107616         * modules/euidaccess: Add stat-macros.h.
107617         * modules/canonicalize, modules/euidaccess,
107618         modules/filemode, modules/lchown, modules/makepath,
107619         modules/rmdir, modules/stat: Likewise.
107621 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
107623         Merge from tar.
107624         * lib/argp-help.c (make_hol, hol_append): Don't assume that
107625         SIZE_MAX is a valid preprocessor constant.
107626         (__argp_basename): Change from "#ifndef _LIBC"
107627         to "#ifndef __argp_short_program_name", so that
107628         we don't compile these functions for tar.
107630         More merges from coreutils.
107631         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
107632         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
107633         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
107634         * lib/addext.c: Remove; no longer needed.
107635         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
107636         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
107637         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
107638         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
107639         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
107640         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
107641         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
107642         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
107643         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
107644         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
107645         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
107646         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
107647         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
107648         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
107649         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
107650         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
107651         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
107652         Import changes from coreutils.
107654 2004-08-05  Simon Josefsson  <jas@extundo.com>
107656         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
107658 2004-08-05  Simon Josefsson  <jas@extundo.com>
107660         * m4/getsubopt.m4: New file.
107662 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
107664         Merge from coreutils.
107666         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
107667         * m4/getcwd-path-max.m4: New files.
107669         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
107670         FILESYSTEM_PREFIX_LEN ->
107671         FILE_SYSTEM_PREFIX_LEN.
107672         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
107673         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
107674         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
107675         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
107677         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
107678         prerequisite modules now handle the DOS stuff.
107679         Don't check for unistd.h.
107681 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
107683         Merge from coreutils.
107685         * lib/.gdb-history: Remove; this doesn't belong here.
107687         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
107688         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
107689         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
107690         * lib/getcwd.c: New files.
107692         * lib/dirname.h: Include <stdbool.h>.
107693         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
107694         for consistency with POSIX terminology.  All uses changed.
107695         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
107696         (strip_trailing_slashes): Use bool for booleans.
107697         * lib/stripslash.c (strip_trailing_slashes): Likewise.
107699         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
107700         sometimes returns a positive errno value even when it succeeds.
107701         (print_errno_message) [!LIBC]: Fall back on strerror if
107702         __strerror_r fails.
107704         * lib/path-concat.c (mempcpy): Don't define if a system header defines
107705         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
107706         (longest_relative_suffix): New function.
107707         (path_concat): Use it.  Assume first argument is not NULL.
107708         Port to DOS.  Omit redundant separators.
107709         Report an error instead of returning NULL.
107710         Use mempcpy instead of memcpy.
107711         (xpath_concat): Remove: not declared or used.
107713         * lib/same.h: Include <stdbool.h>
107714         (same_name): Return bool, not int.
107715         * lib/same.c (same_name): Likewise.
107716         (errno): Don't declare; we assume C89 or better now.
107718         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
107719         if not already defined.
107721         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
107722         * lib/dup-safer.c (errno): Likewise.
107724 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
107726         Merge from coreutils.
107727         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
107728         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
107729         * modules/path-concat: Don't depend on strdup.
107731 2004-08-03  Simon Josefsson  <jas@extundo.com>
107733         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
107734         * lib/progname.h: Don't include stdbool.h.
107736 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
107738         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
107739         * MODULES.html.sh (func_all_modules): Remove fatal.
107741 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
107743         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
107745 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
107747         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
107748         working.
107750 2004-08-02  Simon Josefsson  <jas@extundo.com>
107752         * lib/getsubopt.h: New file, with comments from Bruno Haible.
107753         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
107754         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
107756 2004-08-01  Simon Josefsson  <jas@extundo.com>
107758         * lib/xgetdomainname.c: Include stdlib.h, for free().
107760 2004-07-19  Bruno Haible  <bruno@clisp.org>
107762         * MODULES.html.sh (func_all_modules): Add dummy.
107764 2004-07-16  Simon Josefsson  <jas@extundo.com>
107766         * modules/dummy: New file.
107768 2004-07-16  Simon Josefsson  <jas@extundo.com>
107770         * lib/dummy.c: New file.
107772 2004-07-16  Bruno Haible  <bruno@clisp.org>
107774         * lib/backupfile.h: Add extern "C" for C++.
107775         * lib/closeout.h: Likewise.
107776         * lib/copy-file.h: Likewise.
107777         * lib/findprog.h: Likewise.
107778         * lib/full-write.h: Likewise.
107779         * lib/pathname.h: Likewise.
107780         * lib/progname.h: Likewise.
107781         * lib/stpcpy.h: Likewise.
107782         * lib/stpncpy.h: Likewise.
107783         * lib/strcase.h: Likewise.
107784         * lib/strstr.h: Likewise.
107785         * lib/xalloc.h: Likewise.
107787         * lib/mbswidth.h: Add extern "C" for C++.
107788         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
107790 2004-07-13  Robert Millan  <robertmh@gnu.org>
107792         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
107794 2004-07-09  Simon Josefsson  <jas@extundo.com>
107796         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
107797         failed without this.)
107799 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
107801         * modules/chown (Files): Add lib/fchown-stub.c, since
107802         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
107804 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
107806         * lib/fchown-stub.c: New file.
107808 2004-06-24  Jim Meyering  <jim@meyering.net>
107810         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
107812 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
107814         * modules/argz: Omit "#include".
107816         * MODULES.html.sh (func_all_modules): Add calloc, to match
107817         2004-06-01 addition of calloc module.
107819 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
107821         * m4/argz.m4: New file, which is autoupdated from libtool.
107823 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
107825         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
107826         libtool.
107828 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
107830         * config/srclist-update: Don't insist on "USA." before the
107831         close-comment, as libtool omits the period and puts the */ on a
107832         separate line.
107833         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
107834         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
107836 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
107838         * modules/argz: New file.
107839         * MODULES.html.sh (func_all_modules): Add argz.
107841 2004-06-12  Jim Meyering  <jim@meyering.net>
107842         and  Paul Eggert  <eggert@cs.ucla.edu>
107844         * modules/hash (Files): Add lib/xalloc.h.
107845         * modules/pipe (Depends-on): Add wait-process.
107846         * modules/stat (Depends-on): Add xalloc.
107847         * modules/userspec (Files): Add lib/userspec.h.
107848         * modules/xstrto
107850         Upgrade from gettext-0.13.
107851         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
107852         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
107853         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
107855 2004-06-10  Jim Meyering  <jim@meyering.net>
107857         * lib/calloc.c: New file.
107859 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
107861         * lib/getdate.y (yylex): Allow space between sign and number.
107862         Problem reported by Dan Jacobson.
107864 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
107866         Merge from coreutils CVS.
107868         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
107869         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
107870         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
107871         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
107872         xstrtol.m4: Fix copyright date and/or serial number.
107874         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
107875         See if we need an fchown replacement.
107876         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
107877         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
107878         and use the replacement function if we detect either defect.
107880         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
107881         gl_UTIMECMP.
107883 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
107884         and  Jim Meyering  <jim@meyering.net>
107886         Merge from coreutils CVS.
107888         * lib/stat-macros.h: New file, with contents from file-type.h
107889         and coreutils' system.h.
107890         * lib/file-type.c: Include "stat-macros.h".
107891         * lib/file-type.h (file_type): Move all macro definitions to new file,
107892         stat-macros.h.
107894         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
107895         Wrap old code with this conditional.
107896         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
107897         function that does not dereference symlinks.
107898         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
107900         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
107901         dependency problems.
107902         (xreadlink): Accept new arg SIZE, for efficiency.
107903         All decls and uses changed.
107904         * lib/xreadlink.h: Include <stddef.h>, for size_t.
107906         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
107907         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
107909         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
107910         sysexits.h.
107912 2004-06-01  Jim Meyering  <jim@meyering.net>
107914         * m4/calloc.m4: New file.
107916 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
107918         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
107919         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
107920         Also, fix a typo in a diagnostic.
107922 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
107924         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
107925         or AC_FUNC_REALLOC.
107927 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
107929         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
107930         macros to be defined.
107931         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
107932         the allocator returns NULL because the requested size is zero.
107934 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
107936         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
107937         var.  Add comment explaining why libc still defines it.  This
107938         merges the following patch from glibc:
107939         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
107941 2004-05-20  Andreas Schwab  <schwab@suse.de>
107943         * m4/free.m4: Replace free if it not known to work, not the other
107944         way round.
107946 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
107948         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
107949         present in glibc since revision 1.1 of this file.
107950         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
107951         obstack_alignment_mask, obstack_alloc, obstack_base,
107952         obstack_blank, obstack_blank_fast, obstack_chunk_size,
107953         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
107954         obstack_grow0, obstack_init, obstack_int_grow,
107955         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
107956         obstack_next_free, obstack_object_size, obstack_ptr_grow,
107957         obstack_ptr_grow_fast, obstack_room): Remove declarations of
107958         nonexistent functions.
107960 2004-05-18  Karl Berry  <karl@gnu.org>
107962         * config/srclist.txt: break link for vasnprintf.c.
107964 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
107966         Port obstack to the AS/400, where pointers are 16 bytes wide and
107967         you cannot cast an integer to a valid pointer.  This patch is
107968         currently waiting to be integrated into glibc; see
107969         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
107971         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
107972         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
107973         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
107974         (struct obstack): temp member is now a union of a pointer and
107975         an integer, instead of an integer.  All integer uses changed.
107976         This does not affect the physical layout of struct obstack,
107977         except on hosts (like the AS/400) where the size or alignment of
107978         void * is greater than that of ptrdiff_t.
107979         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
107980         __STDC__)]: Store temporary in pointer member of union, not
107981         integer member.
107982         * lib/obstack.c: Include <stddef.h>, for offsetof.
107983         (struct fooalign): Remove; it doesn't need a name.
107984         (union fooround): Change double to long double, and add void *.
107985         (DEFAULT_ALIGNMENT): Use offsetof to compute.
107986         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
107987         not a macro.  Hence the values are always int; so remove all
107988         casts-to-int in uses.
107990 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
107992         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
107993         we can get this patch merged into glibc.
107995 2004-05-17  Derek R. Price  <derek@ximbiot.com>
107996             Paul Eggert  <eggert@cs.ucla.edu>
107998         * m4/argp: Depend on alloca.
108000 2004-05-17  Derek R. Price  <derek@ximbiot.com>
108001             Paul Eggert  <eggert@cs.ucla.edu>
108003         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
108004         freecoding.
108006 2004-05-17  Bruno Haible  <bruno@clisp.org>
108008         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
108009         precision that consists of a '.' followed by an empty digit string.
108010         Patch by Tor Lillqvist <tml@iki.fi>.
108012 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
108014         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
108015         for backward compatibility with older code.  We need our own
108016         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
108017         it under some other name, and our alloca.h will define it.
108019 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
108020             Derek Price  <derek@ximbiot.com>
108022         * lib/alloca.c: Include <alloca.h>, to get our interface.
108023         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
108024         include <alloca.h> first.  Use C89 prototype for alloca; this
108025         requires including <stddef.h> for size_t.  Use extern "C" if C++.
108026         Use #elif for simplicity, since we can assume C89 now.
108027         Don't try to source the system alloca.h since it will not be found
108028         and to prevent recursively including its replacement.
108029         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
108030         * lib/regex.c: Likewise.
108032 2004-05-16  Derek Price  <derek@ximbiot.com>
108033             Paul Eggert  <eggert@cs.ucla.edu>
108035         getline cleanup.  This changes the getndelim2 API: both order of
108036         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
108037         no delimiter).
108039         * lib/getline.c: Don't include stddef.h or stdio.h, since our
108040         interface does that.
108041         (getline): Always use getdelim, so that we don't have two
108042         copies of this code.
108043         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
108044         if available.
108045         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
108046         (GETNDELIM2_MAXIMUM): New macro.
108047         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
108048         instead of the old practice of delim2==0.  All callers changed.
108049         Return -1 on overflow, instead of returning junk.
108050         Do not set *linesize unless allocation succeeds.
108051         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
108052         that we include sys/types.h.
108053         * lib/getnline.h: Likewise.
108054         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
108055         (getndelim2): Reorder arguments.
108056         * lib/getnline.c (getnline, getndelim):
108057         Don't discard the NMAX argument.
108058         (getnline): Invoke getndelim, to avoid code duplication.
108059         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
108060         of (size_t) -1 by callers of the getnline family.
108062 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
108064         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
108065         Check for gettimeofday.
108066         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
108067         Check for settimeofday, stime.
108069 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
108071         * lib/nanosleep.c (suspended): Change its type from int to
108072         sig_atomic_t volatile.
108073         (first_call): Make it private to rpl_nanosleep, and have it
108074         be zero initially as that's a bit faster.
108075         (my_usleep): Round up fractional times instead of truncating them,
108076         as this is the usual meaning for 'sleep'.
108078         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
108079         doesn't work.
108080         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
108081         (ENOSYS): Define if not defined.
108082         (settime): Fall back on stime if it exists and settimeofday fails.
108083         But don't bother with fallbacks if a method fails with errno == EPERM.
108085 2004-05-11  Jim Meyering  <jim@meyering.net>
108087         Prior to this change, the save_cwd caller required read access to the
108088         current directory on most systems (ones with the fchdir function).
108090         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
108091         fails, try write-only, and finally, resort to using xgetcwd.
108093 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
108095         * lib/obstack.c, obstack.h: Import changes from libc.
108097 2004-04-28  Bruno Haible  <bruno@clisp.org>
108099         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
108100         also implicitly appends .exe to executables.
108101         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
108102         accepts Windows pathnames.
108103         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
108104         Treat Cygwin like Windows, since it now accepts Windows pathnames.
108105         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
108106         Treat Cygwin like Windows, since it now accepts Windows pathnames.
108107         Reported by Derek Robert Price <derek@ximbiot.com>.
108109 2004-04-21  Karl Berry  <karl@gnu.org>
108111         * config/srclist.txt (localcharset.c): break sync.
108113 2004-04-20  Paul Eggert  <eggert@twinsun.com>
108115         * m4/host-os.m4: Add a copyright notice.
108117 2004-04-20  Jim Meyering  <jim@meyering.net>
108119         Change UTILS_ to gl_ in AC_DEFINE'd names.
108120         Change utils_- and jm_-prefixed variables, too.
108121         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
108122         UTILS_FUNC_MKDIR_TRAILING_SLASH.
108123         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
108125         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
108126         Don't emit trailing blanks.
108127         Also rename jm_-prefixed variables to have gl_ prefix.
108129         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
108130         Also rename jm_-prefixed variables to have gl_ prefix.
108132         * m4/jm-macros.m4: Reflect the renamings.
108133         * m4/prereq.m4: Likewise.
108135 2004-04-20  Jim Meyering  <jim@meyering.net>
108137         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
108138         memory.
108140 2004-04-20  Jim Meyering  <jim@meyering.net>
108141             Bruno Haible  <bruno@clisp.org>
108143         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
108144         memory when realloc fails.
108146 2004-04-19  Jim Meyering  <jim@meyering.net>
108148         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
108149         now that readutmp.c may call `free (0)'.
108151 2004-04-19  Bruno Haible  <bruno@clisp.org>
108153         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
108154         * m4/inttypes_h.m4: Likewise.
108155         * m4/stdint_h.m4: Likewise.
108156         * m4/intmax_t.m4: Likewise.
108157         * m4/uintmax_t.m4: Likewise.
108159 2004-04-18  Jim Meyering  <jim@meyering.net>
108161         * m4/prereq.m4: Don't forbid jm_ prefix.
108163         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
108164         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
108165         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
108166         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
108167         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
108168         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
108169         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
108170         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
108171         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
108172         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
108173         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
108174         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
108175         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
108176         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
108177         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
108178         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
108179         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
108180         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
108181         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
108183 2004-04-18  Jim Meyering  <jim@meyering.net>
108185         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
108186         failure, don't leak memory and do call END_UTMP_ENT.
108188 2004-04-16  Jim Meyering  <jim@meyering.net>
108190         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
108191         coreutils' stat program.
108192         (gl_PREREQ): Don't require jm_PREREQ_STAT.
108194 2004-04-11  Paul Eggert  <eggert@twinsun.com>
108196         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
108197         C89.
108198         (CHAR_BIT): Remove, since we assume C89.
108199         Include <stdint.h> if available, as per current Autoconf CVS advice.
108201 2004-03-31  Jim Meyering  <jim@meyering.net>
108203         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
108204         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
108205         * m4/xalloc.m4: Likewise.
108207 2004-03-30  Paul Eggert  <eggert@twinsun.com>
108209         Merge from coreutils.
108211         * m4/inttostr.m4: New file.
108212         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
108213         Require AM_STDBOOL_H and gl_TIMESPEC instead.
108214         Require gl_CLOCK_TIME.
108215         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
108217 2004-03-30  Paul Eggert  <eggert@twinsun.com>
108219         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
108220         not bool, to be more consistent with Unix conventions.
108221         Suggested by Bruno Haible.
108223         Merge from coreutils.
108225         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
108226         * lib/umaxtostr.c: New files.
108228         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
108229         the usual <time.h> dance.
108230         (get_date): Change signature to support fractional time stamps.
108231         All callers changed.
108232         * lib/getdate.y: Include "getdate.h" first, as we can now
108233         assume C89 and don't need to worry about 'const'.
108234         Similarly, include "unlocked-io.h" near start, not in middle.
108235         Include <limits.h>.
108236         (textint.value): Use long int rather than int.
108237         (textint.digits): Use size_t rather than int.
108238         (BILLION, LOG10_BILLION): New constants.
108239         (parser_control): New member rel_ns.  Members day_ordinal,
108240         time_zone, month, day, hour, minutes, rel_year, rel_month,
108241         rel_day, rel_hour, rel_minutes, rel_seconds
108242         are now long int, not int.  Member seconds is now struct timespec,
108243         not int.  New member timespec_seen.  Members dates_seen, days_seen,
108244         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
108245         not int.
108246         (%union.intval): Now long int, not int.
108247         New member timespec.
108248         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
108249         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
108250         (spec): Now is a timespec or an item list.
108251         (timespec, items): New nonterminals.
108252         (time, rel, relunit, number, get_date):
108253         Add support for fractional seconds.
108254         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
108255         (gmtime, localtime, mktime): Remove decls; not needed with C89.
108256         (to_hour): First arg is now long int, not int.
108257         (to_year): Returns long int, not int.
108258         Don't treat year -70 like 70.
108259         (tm_diff): Returns long int, not int.
108260         (lookup_word): Use bool instead of int when appropriate.
108261         (yylex): Use size_t for count, not int.
108262         Detect overflow when parsing large integer constants.
108263         Add support for fractions.
108264         (get_date): Make pointers 'const' if possible.
108265         Use more-portable code to detect integer overflow.
108266         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
108267         Don't use ctime; it's not reliable if the year has >4 digits.
108269         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
108270         This is for compatibility with BSD.
108272         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
108273         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
108274         From coreutils' system.h.
108276         * lib/userspec.c: Don't include "posixver.h".
108277         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
108278         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
108279         compatible extension.  Simplify code by removing a boolean int
108280         that was always nonzero if a string was nonnull.
108282 2004-03-30  Jim Meyering  <jim@meyering.net>
108284         Merge from coreutils.
108286         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
108287         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
108288         on some systems one must include <grp.h> before it.
108289         Reported by Christian Krackowizer.
108291 2004-03-30  Jim Meyering  <jim@meyering.net>
108293         Merge from coreutils.
108295         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
108297         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
108298         an empty input stream.
108300         * lib/readtokens.c: Include <stdbool.h>.
108301         (readtoken): Use `size_t' rather than int/long.
108302         All callers adjusted.
108303         Use `bool' rather than `int' where appropriate.
108304         Use memset rather than an explicit loop.
108305         Use x2nrealloc rather than xrealloc.
108306         Allow the use of `\0' as a delimiter.
108307         (readtokens): Likewise.
108308         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
108310 2004-03-30  Jim Meyering  <jim@meyering.net>
108312         * m4/realloc.m4: Remove file, since now it does no more than
108313         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
108314         the `configure.ac' section of module/realloc.
108315         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
108317 2004-03-30  Bruno Haible  <bruno@clisp.org>
108319         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
108320         nonnull.
108322 2004-03-29  Paul Eggert  <eggert@twinsun.com>
108324         Merge changes to getloadavg.c from coreutils and Emacs.
108326         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
108327         Define to an expression, not to the empty string.
108328         Include cloexec.h and xalloc.h.
108329         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
108330         Use set_cloexec_flag rather than rolling our own.
108331         * lib/cloexec.c, lib/cloexec.h: New files.
108333 2004-03-29  Paul Eggert  <eggert@twinsun.com>
108335         * m4/cloexec.m4: New file.
108337 2004-03-18  Paul Eggert  <eggert@twinsun.com>
108339         * lib/getopt.h: Sync with libc CVS.
108341 2004-03-18  Paul Eggert  <eggert@twinsun.com>
108342             Bruno Haible  <bruno@clisp.org>
108344         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
108345         mbswidth.
108347 2004-03-18  Paul Eggert  <eggert@twinsun.com>
108348             Bruno Haible  <bruno@clisp.org>
108350         * lib/mbswidth.h: Include <wchar.h> only if
108351         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
108352         <wchar.h>.
108353         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
108355 2004-03-09  Paul Eggert  <eggert@twinsun.com>
108357         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
108358         Sync with libc CVS.
108359         * lib/getopt_int.h: New file, also synced from libc.
108361 2004-03-09  Paul Eggert  <eggert@twinsun.com>
108363         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
108364         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
108365         Bring back getopt.c, getopt.h, getopt1.c.
108367 2004-03-07  Paul Eggert  <eggert@twinsun.com>
108369         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
108370         All uses changed.  Check for sa_sigaction member; this fixes
108371         a bug first reported by Jason Andrade in
108372         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
108374 2004-03-07  Paul Eggert  <eggert@twinsun.com>
108376         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
108377         '#if' expressions.  Unlike the code it replaces, it does not
108378         depend on (defined _SC_PAGESIZE).  However, it does depend on
108379         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
108380         first reported by Jason Andrade in
108381         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
108383 2004-02-25  Simon Josefsson  <jas@extundo.com>
108385         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
108387 2004-02-25  Simon Josefsson  <jas@extundo.com>
108389         * lib/strdup.h: New file.
108390         * lib/strdup.c: Include it.
108391         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
108392         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
108394 2004-02-23  Karl Berry  <karl@gnu.org>
108396         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
108397         (from fencepost.gnu.org:/gd/gnuorg).
108399 2004-02-23  Karl Berry  <karl@gnu.org>
108401         * config/srclistvars.sh (GNUORG) [karl]: redefine.
108402         * config/srclist.txt: add maintain/standards documents.
108404 2004-02-18  Bruno Haible  <bruno@clisp.org>
108406         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
108407         Reported by Derek Robert Price <derek@ximbiot.com>.
108409 2004-02-16  Karl Berry  <karl@gnu.org>
108411         * config/mkinstalldirs, install-sh: update from automake.
108413 2004-02-06  Karl Berry  <karl@gnu.org>
108415         * m4/po.m4: update from gettext 0.14.1.
108417 2004-02-06  Karl Berry  <karl@gnu.org>
108419         * lib/config.charset: update from gettext 0.14.1.
108421 2004-02-05  Paul Eggert  <eggert@twinsun.com>
108423         Add comments and code, prompted by suggestions from Bruno Haible
108424         for sh-quote.
108425         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
108426         describing the enum quoting_style values.
108427         * lib/quotearg.c (quotearg_alloc): New function.
108428         (quotearg_buffer_restyled): Treat lone { and } as special.
108429         Treat = as special.  Work around bug with older shells
108430         that "see" a '\' that is really the 2nd byte of a multibyte char.
108431         Quote empty string with shell_quoting_style.
108433 2004-02-03  Bruno Haible  <bruno@clisp.org>
108435         * m4/pipe.m4: New file, from GNU gettext.
108437 2004-02-03  Bruno Haible  <bruno@clisp.org>
108439         * lib/pipe.h: New file, from GNU gettext.
108440         * lib/pipe.c: New file, from GNU gettext.
108442 2004-01-27  Bruno Haible  <bruno@clisp.org>
108444         * m4/execute.m4: New file, from GNU gettext.
108446 2004-01-27  Bruno Haible  <bruno@clisp.org>
108448         * lib/execute.h: New file, from GNU gettext.
108449         * lib/execute.c: New file, from GNU gettext.
108450         * lib/w32spawn.h: New file, from GNU gettext.
108452 2004-01-24  Paul Eggert  <eggert@twinsun.com>
108454         Merge from diffutils.
108456         * lib/file-type.c (file_type): Add typed memory objects.
108457         * lib/file-type.h (S_TYPEISTMO): New macro.
108459         * lib/c-stack.h (c_stack_action): Remove argv argument.
108460         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
108461         (die): Don't calculate message unless segv_action returns.
108462         (get_stack_location, min_address_from_argv, max_address_from_argv,
108463         volatile stack_base, volatile_stack_size): Remove.
108464         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
108465         that every segmentation violation is a stack overflow.  (Ouch!)
108466         See Debian bug 136249 (still outstanding) for more info about why
108467         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
108469 2004-01-24  Paul Eggert  <eggert@twinsun.com>
108471         Exit-status fix from coreutils.
108473         Use exit_failure consistently in place of EXIT_FAILURE,
108474         so that program exit statuses are consistent on failure.
108476         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
108477         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
108478         * lib/argmatch.h: Comment fix to match the above.
108479         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
108480         Now a macro referring to exit_failure, instead of a separate
108481         variable.  Include "exitfail.h" to get it.
108482         * lib/xstrtol.h: Include "exitfail.h".
108483         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
108485         * lib/long-options.c (parse_long_options): Use prototype
108486         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
108487         for clarity.
108489 2004-01-21  Jim Meyering  <jim@meyering.net>
108491         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
108492         so as not to conflict with a different-sized __mktime_internal
108493         function in GNU libc.
108494         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
108495         Problem building statically-linked `ls' reported by Michael Brunnbauer.
108497 2004-01-20  Karl Berry  <karl@gnu.org>
108499         * config/config.guess: update from config.
108501         * config/srclistvars.sh: GNUWWWLICENSES for karl.
108503 2004-01-20  Bruno Haible  <bruno@clisp.org>
108505         Safer stack allocation.
108506         * lib/setenv.c: Include allocsa.h.
108507         (alloca): Remove fallback definition.
108508         (freea): Remove macro.
108509         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
108510         instead of freea.
108512 2004-01-20  Bruno Haible  <bruno@clisp.org>
108514         * m4/eealloc.m4: New file, from GNU gettext.
108516 2004-01-20  Bruno Haible  <bruno@clisp.org>
108518         * m4/allocsa.m4: New file, from GNU gettext.
108520 2004-01-20  Bruno Haible  <bruno@clisp.org>
108522         * lib/xallocsa.h: New file, from GNU gettext.
108523         * lib/xallocsa.c: New file, from GNU gettext.
108525 2004-01-20  Bruno Haible  <bruno@clisp.org>
108527         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
108529 2004-01-20  Bruno Haible  <bruno@clisp.org>
108531         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
108532         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
108533         specially.
108535 2004-01-20  Bruno Haible  <bruno@clisp.org>
108537         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
108538         patch.
108540 2004-01-20  Bruno Haible  <bruno@clisp.org>
108542         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
108544 2004-01-20  Bruno Haible  <bruno@clisp.org>
108546         * lib/eealloc.h: New file.
108548 2004-01-20  Bruno Haible  <bruno@clisp.org>
108550         * lib/binary-io.h: Avoid warnings on Cygwin.
108552 2004-01-20  Bruno Haible  <bruno@clisp.org>
108554         * lib/allocsa.h: New file, from GNU gettext.
108555         * lib/allocsa.c: New file, from GNU gettext.
108557 2004-01-18  Karl Berry  <karl@gnu.org>
108559         * doc/gpl.texi, doc/lgpl.texi: new files.
108561 2004-01-18  Karl Berry  <karl@gnu.org>
108563         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
108564         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
108566 2004-01-15  Paul Eggert  <eggert@twinsun.com>
108568         Merge from coreutils.
108570         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
108571         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
108572         (gl_DEFAULT_POSIX2_VERSION): Move
108573         the documentation from 'configure' into 'config.hin',
108574         so that 'configure --help' isn't burdened by it and
108575         we don't have to worry about its formatting there.
108576         Reword the documentation so that it's more succinct
108577         and can be run together into a single paragraph.
108578         * m4/same.m4 (gl_SAME): Check for pathconf.
108580 2004-01-15  Paul Eggert  <eggert@twinsun.com>
108582         Merge from coreutils.
108584         * lib/posixver.c: Include posixver.h.
108586         * lib/same.c: Include <stdbool.h>, <limits.h>.
108587         (_POSIX_NAME_MAX): Define if not defined.
108588         (MIN): New macro.
108589         (same_name): If file names are silently truncated, report
108590         that the file names are the same if they are the same after
108591         the silent truncation.
108593         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
108594         conversion function.
108595         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
108596         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
108597         longer needed.
108599 2004-01-15  Jim Meyering  <jim@meyering.net>
108601         Merge from coreutils.
108603         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
108604         if no library is required.
108605         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
108606         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
108607         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
108608         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
108609         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
108610         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
108611         value, $ac_cv_search_crypt, if it's "none required".
108612         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
108613         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
108614         not gl_FUNC_GETLOADAVG.
108615         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
108616         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
108618 2004-01-15  Jim Meyering  <jim@meyering.net>
108620         Merge from coreutils.
108622         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
108623         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
108624         http://mail.gnu.org/r/bug-coreutils/2003-11/msg00144.html
108626         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
108627         optional configure-time default.
108629         * lib/version-etc.c (version_etc_copyright): Update copyright date.
108631         * lib/xreadlink.c (xreadlink): Correct outdated comment.
108633 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
108635         Merge from coreutils.
108637         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
108638         value, $ac_cv_search_nanosleep, if it's "none required".
108640 2004-01-14  Paul Eggert  <eggert@twinsun.com>
108642         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
108643         with like-named macro in fnmatch.c.
108644         (EXT): Use an internal constant instead.
108646         Merge fnmatch patches from glibc.
108647         * lib/fnmatch.c (mbsinit): Remove define.
108648         Add libc_hidden_ver (__fnmatch, fnmatch).
108649         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
108650         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
108652 2004-01-14  Karl Berry  <karl@gnu.org>
108654         * config/install-sh: update from automake.
108656 2004-01-13  Karl Berry  <karl@gnu.org>
108658         * config/install-sh: update from automake.
108660 2004-01-09  Karl Berry  <karl@gnu.org>
108662         * config/install-sh: update from automake.
108664 2004-01-05  Karl Berry  <karl@gnu.org>
108666         * config/config.{sub,guess}: update from config.
108668 2003-12-31  Karl Berry  <karl@gnu.org>
108670         * config/depcomp: update from automake.
108672 2003-12-14  Karl Berry  <karl@gnu.org>
108674         * lib/config.charset: update from gettext-runtime.
108676 2003-12-03  Paul Eggert  <eggert@twinsun.com>
108678         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
108679         Bug reported by Alfred M. Szmidt.
108681 2003-12-03  Bruno Haible  <bruno@clisp.org>
108683         * m4/gettext.m4: Upgrade from gettext-0.13.
108684         * m4/po.m4: Upgrade from gettext-0.13.
108685         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
108686         * m4/intmax.m4: New file, from gettext-0.13.
108687         * m4/printf-posix.m4: New file, from gettext-0.13.
108689 2003-11-29  Karl Berry  <karl@gnu.org>
108691         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
108693 2003-11-25  Paul Eggert  <eggert@twinsun.com>
108694             Bruno Haible  <bruno@clisp.org>
108696         * lib/printf-parse.h: Don't include sys/types.h.
108697         (ARG_NONE): New macro.
108698         (char_directive): Change type of *arg_index fields to size_t.
108699         * lib/printf-parse.c: Don't include sys/types.h.
108700         (SSIZE_MAX): Remove macro.
108701         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
108702         Remove unnecessary overflow check.
108703         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
108704         fields.
108706 2003-11-25  Bruno Haible  <bruno@clisp.org>
108708         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
108710 2003-11-25  Bruno Haible  <bruno@clisp.org>
108712         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
108713         gt_TYPE_SSIZE_T.
108715 2003-11-24  Paul Eggert  <eggert@twinsun.com>
108717         * modules/alloca: Remove dependency on xalloc.
108719 2003-11-24  Paul Eggert  <eggert@twinsun.com>
108721         * lib/alloca.c: Remove dependency on xalloc module.
108722         (xalloc_die): Remove.
108723         (memory_full) [!defined emacs]: New macro.
108724         [!defined emacs]: Don't include xalloc.h.
108725         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
108726         address arithmetic overflows.  Change datatypes a bit to avoid
108727         unnecessary casts.
108729 2003-11-22  Jim Meyering  <jim@meyering.net>
108731         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
108732         s/size/size_t/.
108734 2003-11-21  Karl Berry  <karl@gnu.org>
108736         * config/config.{sub,guess}: update from config.
108738 2003-11-18  Karl Berry  <karl@gnu.org>
108740         * config/config.{sub,guess}: update from config.
108742         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
108744 2003-11-17  Paul Eggert  <eggert@twinsun.com>
108746         * README: Mention that S+T cannot overflow if S is the size of
108747         an existing object and T is sufficiently small.
108749 2003-11-17  Jim Meyering  <jim@meyering.net>
108751         On systems without utime and without a utimes function capable of
108752         dealing with a NULL struct utimbuf* argument, this utime replacement
108753         could -- in unusual circumstances -- leak a file descriptor.
108754         * lib/utime.c: Include <unistd.h> and <errno.h>.
108755         (utime_null): Be sure to close `fd' and to preserve errno.
108756         Reported by Geoff Collyer via Arnold Robbins.
108758 2003-11-17  Bruno Haible  <bruno@clisp.org>
108760         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
108761         (Depends-on): Add xsize.
108763 2003-11-17  Bruno Haible  <bruno@clisp.org>
108765         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
108767 2003-11-17  Bruno Haible  <bruno@clisp.org>
108769         * lib/vasnprintf.c (alloca): Remove fallback definition.
108770         (freea): Remove definition.
108771         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
108772         Reported by Paul Eggert.
108774 2003-11-16  Paul Eggert  <eggert@twinsun.com>
108775             Bruno Haible  <bruno@clisp.org>
108777         Protect against address arithmetic overflow.
108778         * lib/printf-args.h: Include stddef.h.
108779         (arguments): Change type of field 'count' to size_t.
108780         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
108781         'unsigned int' where appropriate.
108782         * lib/printf-parse.h: Include sys/types.h.
108783         (char_directive): Change type of *arg_index fields to ssize_t.
108784         (char_directives): Change type of fields 'count', max_*_length to
108785         size_t.
108786         * lib/printf-parse.c: Include sys/types.h and xsize.h.
108787         (SSIZE_MAX): Define fallback value.
108788         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
108789         instead of 'int' where appropriate. Check a_allocated, d_allocated
108790         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
108791         * lib/vasnprintf.c: Include xsize.h.
108792         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
108793         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
108794         overflow. Avoid wraparound when converting a width or precision from
108795         decimal to binary.
108797 2003-11-16  Bruno Haible  <bruno@clisp.org>
108799         Update from GNU gettext.
108800         * lib/printf-parse.c: Generalize to it can be compiled for wide
108801         strings.
108802         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
108803         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
108804         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
108805         SNPRINTF): New macros.
108806         Don't include <alloca.h> if the file is used inside libintl.
108807         (local_wcslen): New function, for Solaris 2.5.1.
108808         (VASNPRINTF): Use it instead of wcslen.
108810 2003-11-16  Bruno Haible  <bruno@clisp.org>
108812         * lib/xsize.h (xmax): New function.
108813         (xsum, xsum3, xsum4): Declare as "pure" functions.
108815 2003-11-12  Paul Eggert  <eggert@twinsun.com>
108817         * modules/xalloc (Files): Undo latest change, since xalloc.h
108818         no longer needs SIZE_MAX or PTRDIFF_MAX.
108820 2003-11-12  Paul Eggert  <eggert@twinsun.com>
108822         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
108823         gl_PTRDIFF_MAX.
108825 2003-11-12  Paul Eggert  <eggert@twinsun.com>
108827         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
108828         "return", to pacify some unknown compiler.  Problem reported
108829         by Joerg Schilling.
108831 2003-11-12  Paul Eggert  <eggert@twinsun.com>
108833         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
108834         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
108835         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
108836         heuristic is just as accurate as far as we know, and it removes a
108837         dependency on size_max.m4 and ptrdiff_max.m4.
108839 2003-11-11  Bruno Haible  <bruno@clisp.org>
108841         * modules/xsize (Files): Add m4/size_max.m4.
108842         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
108844 2003-11-11  Bruno Haible  <bruno@clisp.org>
108846         * m4/size_max.m4: New file.
108847         * m4/ptrdiff_max.m4: New file.
108848         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
108849         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
108850         (gl_XALLOC): Invoke it.
108852 2003-11-11  Bruno Haible  <bruno@clisp.org>
108854         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
108855         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
108856         defined.
108858 2003-11-10  Paul Eggert  <eggert@twinsun.com>
108860         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
108861         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
108862         rejected some allocations of exactly SIZE_MAX - 2 bytes.
108863         From Bruno Haible.
108864         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
108865         not (size_t) -1, since it's defined here.
108867 2003-11-09  Karl Berry  <karl@gnu.org>
108869         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
108871 2003-11-06  Paul Eggert  <eggert@twinsun.com>
108873         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
108874         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
108875         Reject sizes of exactly SIZE_MAX bytes.
108876         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
108877         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
108879 2003-11-05  Bruno Haible  <bruno@clisp.org>
108881         * lib/xsize.h: Include limits.h, to avoid a possible collision with
108882         SIZE_MAX defined in <limits.h> on Solaris.
108884 2003-11-04  Jim Meyering  <jim@meyering.net>
108886         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
108887         variable names, rather than @VAR@.
108888         * modules/poll: Likewise.
108890 2003-11-04  Bruno Haible  <bruno@clisp.org>
108892         * modules/xsize: New file.
108893         * modules/linebreak: Depend on xsize.
108894         * MODULES.html.sh (func_all_modules): Add xsize.
108896 2003-11-04  Bruno Haible  <bruno@clisp.org>
108898         * m4/xsize.m4: New file.
108900 2003-11-04  Bruno Haible  <bruno@clisp.org>
108902         * lib/xsize.h: New file.
108903         * lib/linebreak.c: Include xsize.h.
108904         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
108905         argument for overflow.
108906         Suggested by Paul Eggert.
108908 2003-11-03  Karl Berry  <karl@gnu.org>
108910         * config/config.{guess,sub}: update from config.
108912 2003-11-03  Jim Meyering  <jim@meyering.net>
108914         * modules/userspec (lib_SOURCES): Add userspec.h.
108915         (Include): Add "userspec.h".
108916         Improve description.
108918 2003-11-03  Jim Meyering  <jim@meyering.net>
108920         * lib/userspec.c: Include "userspec.h".
108921         * lib/userspec.h: New file.
108923 2003-11-03  Bruno Haible  <bruno@clisp.org>
108925         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
108927 2003-11-03  Bruno Haible  <bruno@clisp.org>
108929         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
108930         available, to avoid (extremely rare) race condition.
108931         Suggested by Paul Eggert.
108933 2003-11-02  Karl Berry  <karl@gnu.org>
108935         * config/srclist.txt (vasprintf.c): sync broken, sigh.
108937 2003-10-31  Paul Eggert  <eggert@twinsun.com>
108939         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
108940         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
108941         (read_filesystem_list): Set and use me_type_malloced.
108942         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
108943         whatever the type happens to be), for brevity and consistency.
108944         Check for size calculation overflow on Alphas running OSF/1.
108946 2003-10-31  Jim Meyering  <jim@meyering.net>
108948         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
108950         * lib/linebuffer.c: Include <string.h> for declaration of memset.
108952 2003-10-30  Paul Eggert  <eggert@twinsun.com>
108953             Bruno Haible  <bruno@clisp.org>
108955         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
108956         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
108958 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
108960         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
108961         netbsd*-gnu*.  Suggested by Robert Millan.
108963 2003-10-29  Paul Eggert  <eggert@twinsun.com>
108965         * modules/group-member: Depend on stdbool.
108967 2003-10-29  Paul Eggert  <eggert@twinsun.com>
108969         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
108971 2003-10-29  Paul Eggert  <eggert@twinsun.com>
108973         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
108974         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
108975         after the 'gnu' in these cases.  This fixes some bugs in the
108976         previous change, and is based on suggestions by Robert Millan.
108978 2003-10-29  Paul Eggert  <eggert@twinsun.com>
108980         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
108981         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
108982         no longer needed.
108983         * lib/quotearg.c (quotearg_n_options): Use it.
108984         * lib/group-member.c: Include <stdbool.h>.
108985         (free_group_info): Arg is now const *; don't free arg.
108986         (get_group_info): Now returns bool and accepts struct group_info *,
108987         rather than returning a malloc'ed struct group_info *.
108988         All uses changed.  Check for overflow in internal size calculation.
108990         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
108991         rather than xmalloc/xrealloc.
108992         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
108993         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
108994         conformance bug: the old code used a pointer after freeing the
108995         storage that it addressed.
108996         * lib/hash.c (hash_initialize): Simplify the code by using
108997         xalloc_oversized rather than doing it by hand.
108998         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
108999         the buffer preserved.  Use free and xmalloc instead.
109000         * lib/quotearg.c (quotearg_n_options): Likewise.
109001         Use a simpler test for size overflow.  Don't use xalloc_oversized
109002         because unsigned int might be wider than size_t (!); this suggests
109003         that we should switch from unsigned int to size_t for slot numbers.
109005 2003-10-28  Paul Eggert  <eggert@twinsun.com>
109007         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
109008         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
109009         NetBSD kernels.  Requested by Richard Stallman.
109011 2003-10-27  Paul Eggert  <eggert@twinsun.com>
109013         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
109014         to allocate the returned structure.  Do not allocate a subarray,
109015         as x2nrealloc will do that.
109016         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
109017         instead of xnrealloc.
109018         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
109020 2003-10-27  Bruno Haible  <bruno@clisp.org>
109022         * lib/stdbool_.h: Better support for BeOS.
109024 2003-10-26  Paul Eggert  <eggert@twinsun.com>
109026         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
109027         now uses inline.
109029 2003-10-26  Paul Eggert  <eggert@twinsun.com>
109031         * lib/xalloc.h (xalloc_oversized): New static inline function, for
109032         callers that want to do their own size-overflow checking.  Include
109033         <stdbool.h>, since xalloc_oversized returns bool.
109034         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
109035         to use xalloc_oversized.
109037         Add two functions x2realloc, x2nrealloc, for programs that grow
109038         arrays dynamically by doubling their sizes.
109039         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
109040         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
109041         New functions.
109043         Port to C99 semantics for 'inline' of external functions.
109044         Bug reported by Bruno Haible.
109045         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
109046         with the old contents of xnmalloc.
109047         (xnmalloc, xmalloc): Use it.
109048         (xnrealloc_inline): New static inline function,
109049         with the old contents of xnrealloc.
109050         (xnrealloc, xrealloc): Use it.
109052         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
109053         that.
109055 2003-10-26  Karl Berry  <karl@gnu.org>
109057         * config/srclist.txt (COPYING.DOC): no longer available from
109058         /gd/gnuorg; don't know where the ultimate source is.
109060 2003-10-25  Paul Eggert  <eggert@twinsun.com>
109062         Fix several address-calculation bugs in the hash modules,
109063         plus some minor code cleanup.
109065         * lib/hash.h: Include <stdbool.h>, for bool.
109066         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
109067         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
109068         hash_get_n_entries, hash_get_max_bucket_length,
109069         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
109070         hash_rehash): Use size_t rather than unsigned.
109071         * lib/hash.c (struct hash_table, hash_get_n_buckets,
109072         hash_get_n_buckets_used, hash_get_n_entries,
109073         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
109074         hash_get_entries, hash_do_for_each, hash_string, is_prime,
109075         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
109076         Likewise.
109077         (SIZE_MAX): Define if not defined.
109078         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
109079         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
109080         hash_print):
109081         Use const * when possible.
109082         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
109083         (check_tuning): Fix bug: if tuning parameters were very close to
109084         0 or 1, rounding errors could have caused subscript violations.
109085         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
109086         (hash_initialize): Add 'fail:' label
109087         to free table and return NULL, and use it to simplify code.
109088         Use calloc rather than clearing the storage ourself.
109089         (hash_initialize, hash_rehash): Check for arithmetic overflow in
109090         buffer size calculations.
109091         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
109092         Include <stddef.h>, for size_t.
109093         * lib/hash-pjw.c (hash_pjw): Likewise.
109094         Switch to method described by Bruno Haible.
109095         Include <limits.h>, for CHAR_BIT.
109096         (SIZE_BITS): New macro.
109098 2003-10-23  Paul Eggert  <eggert@twinsun.com>
109100         * m4/getline.m4 (AM_FUNC_GETLINE):
109101         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
109102         hosts.  Problem reported by Derek Robert Price in
109103         <http://mail.gnu.org/r/bug-gnulib/2003-10/msg00092.html>.
109104         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
109105         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
109107 2003-10-21  Paul Eggert  <eggert@twinsun.com>
109109         * lib/getndelim2.c (getndelim2): When size calculation overflows,
109110         ceiling the allocation at NMAX bytes rather than silently
109111         discarding input bytes before NMAX is reached.  This makes
109112         a difference only if NMAX exceeds SIZE_MAX / 2.
109114         * lib/obstack.c: Merge from glibc.
109115         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
109116         Add libc_hidden_def (_obstack_newchunk).
109117         (_obstack_free) [! defined _LIBC]: Remove.
109118         [defined _LIBC]: Make a strong alias from obstack_free, rather than
109119         a clone of the function body.
109120         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
109121         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
109123         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
109124         glibc.
109125         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
109126         arg to memcpy.
109128         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
109129         (obstack_ptr_grow_fast, obstack_int_grow_fast):
109130         Don't use lvalue casts, as GCC plans to remove support for them
109131         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
109132         was also present in the non-GCC version, indicating that this
109133         code had always been buggy and had never been widely used.
109134         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
109135         Use the fast variant of each macro, rather than copying the
109136         definiens of the fast variant; that way, we'll be more likely to
109137         catch future bugs in the fast variants.
109139 2003-10-20  Bruno Haible  <bruno@clisp.org>
109141         * modules/wait-process: New file.
109142         * MODULES.html.sh (func_all_modules): Add wait-process.
109144 2003-10-20  Bruno Haible  <bruno@clisp.org>
109146         * m4/wait-process.m4: New file.
109148 2003-10-20  Bruno Haible  <bruno@clisp.org>
109150         * lib/wait-process.h: New file, from GNU gettext.
109151         * lib/wait-process.c: New file, from GNU gettext.
109153 2003-10-19  Jim Meyering  <jim@meyering.net>
109155         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
109156         HPUX 10.20.
109158 2003-10-18  Karl Berry  <karl@gnu.org>
109160         * config/config.guess: update from config.
109162 2003-10-16  Paul Eggert  <eggert@twinsun.com>
109164         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
109165         (getgroups): First arg is int, not size_t.
109166         Don't let 'free' mangle errno.
109168 2003-10-16  Paul Eggert  <eggert@twinsun.com>
109170         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
109172 2003-10-16  Karl Berry  <karl@gnu.org>
109174         * config/config.{guess,sub}: update from config.
109176 2003-10-16  Jim Meyering  <jim@meyering.net>
109178         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
109179         memcpy.
109181 2003-10-15  Paul Eggert  <eggert@twinsun.com>
109183         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
109184         (SIZE_MAX): Remove.
109185         (new_exclude, add_exclude_file): Initial size no longer needs to
109186         be a power of 2.
109187         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
109188         our own address arithmetic overflow checking.
109190         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
109191         (fnmatch): Do not alloca more than 2000 wide characters;
109192         instead, use malloc for large buffers.
109193         Check for address arithmetic overflow, and return -1
109194         with errno set to ENOMEM in that case.
109195         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
109196         (NEW_PATTERN): Do not alloca more than 8000 bytes;
109197         instead, return -1.  Check for address arithmetic overflow.
109199 2003-10-14  Paul Eggert  <eggert@twinsun.com>
109201         Handle invalid suffixes and overflow independently, so that
109202         callers can treat them independently as needed.  Fix some bugs in
109203         suffix handling, e.g., "100k@" was not diagnosed as an invalid
109204         suffix for a human-readable blocksize.  The major caller-visible
109205         change is the addition of a new
109206         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
109207         that both overflow and suffix chars were found.
109209         * lib/human.c (humblock): Don't check separately for invalid suffix
109210         char; that is xstrtoumax's job (now that its bug is fixed).
109211         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
109212         INTMAX_MAX]: New macros.
109213         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
109214         TYPE_MAXIMUM): New macros.
109215         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
109216         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
109217         if overflow occurs, as it's what __strtol does and it's more useful
109218         in practice.
109219         (__xstrtol): If __strtol reports some error other than ERANGE,
109220         reflect it to the caller as LONGINT_INVALID.  If it reports
109221         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
109222         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
109223         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
109224         value.
109225         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
109226         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
109227         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
109228         [defined UINTMAX_MAX]: New macros.
109230 2003-10-14  Bruno Haible  <bruno@clisp.org>
109232         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
109234 2003-10-14  Bruno Haible  <bruno@clisp.org>
109236         * m4/sig_atomic_t: New file, from GNU gettext.
109237         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
109239 2003-10-14  Bruno Haible  <bruno@clisp.org>
109241         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
109242         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
109243         Also use volatile where needed.
109245 2003-10-12  Paul Eggert  <eggert@twinsun.com>
109247         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
109248         Change maintainer from Bruno Haible to 'all'.
109250 2003-10-12  Paul Eggert  <eggert@twinsun.com>
109252         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
109254 2003-10-12  Paul Eggert  <eggert@twinsun.com>
109256         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
109257         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
109258         and define in terms of the other primitives.
109259         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
109260         (SIZE_MAX): Define if not already defined.
109261         (array_size_overflow): New function.
109262         (xalloc_die): Abort instead of exiting if 'error' returns.
109263         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
109264         (xmalloc, xrealloc): Use them.
109265         (xcalloc): Check for address arithmetic overflow.
109266         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
109267         a bit faster than strcpy.
109269 2003-10-10  Simon Josefsson  <jas@extundo.com>
109271         * modules/argp (Depends-on): Add restrict and strcase.
109273 2003-10-10  Simon Josefsson  <jas@extundo.com>
109275         * m4/argp.m4: Add AC_C_INLINE.
109277 2003-10-08  Paul Eggert  <eggert@twinsun.com>
109279         Merge getpass from libc, plus a few fixes.
109281         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
109282         Include <stdbool.h>.
109283         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
109284         __fsetlocking to empty.
109285         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
109286         do include <bits/libc-lock.h>.
109287         Do not include <fcntl.h>; not needed.
109288         [_LIBC]: Include <wchar.h>.
109289         (NOTCANCEL_MODE): New macro.
109290         (flockfile, funlockfile) [_LIBC]: New macros.
109291         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
109292         [!_LIBC]: New macros.
109293         (call_fclose): New function.
109294         (getpass): Use it.  Save tty stream separately; this simplifies the
109295         code and makes it more reliable if stdin happens to equal stdout.
109296         Invoke __fsetlocking on tty.
109297         Handle thread cancellation if needed.
109298         Namespace cleanup (use __tcgetattr, __getline).
109299         Use bool for Booleans.
109300         [USE_IN_LIBIO]: Handle wide streams.
109301         [!_LIBC]: Unconditionally do the fseek, since we don't know what
109302         stream might go where.
109304         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
109305         doesn't have to include <stdio.h> before us.
109306         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
109307         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
109308         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
109309         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
109310         if not declared, so that we can use getpass.c code from libc without
109311         rewriting it.
109312         (flockfile, ftrylockfile, funlockfile): New macros.
109314 2003-10-08  Paul Eggert  <eggert@twinsun.com>
109316         * modules/getpass: Depend on stdbool.
109318 2003-10-08  Paul Eggert  <eggert@twinsun.com>
109320         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
109322 2003-10-07  Karl Berry  <karl@gnu.org>
109324         * config/config.{guess,sub}: update from config.
109326 2003-10-06  Jim Meyering  <jim@meyering.net>
109327             Bruno Haible  <bruno@clisp.org>
109329         This lets translators provide better translations for the
109330         "Written by ..." part of --version output.
109331         * lib/version-etc.h: Include stdarg.h.
109332         (version_etc_copyright): Declare as readonly.
109333         (version_etc): Make this function variadic with a NULL-terminated list
109334         of author name strings.
109335         (version_etc_va): New declaration.
109336         * lib/version-etc.c: Include stdarg.h, stdlib.h.
109337         (version_etc_copyright): Declare as readonly.
109338         (version_etc_va): New function. Provide a different translatable string
109339         for each possible number of authors < 10. Abbreviate when there are 10
109340         authors or more.
109341         (version_etc): Make this function variadic. Call version_etc_va.
109342         Suggestion from Gary V. Vaughan.
109344         * lib/long-options.h (parse_long_options): Change prototype: the
109345         authors string is moved to the end and becomes variadic.
109346         * lib/long-options.c: Include stdarg.h.
109347         (parse_long_options): Make this function variadic, too.
109348         Call version_etc_va, not version_etc.
109350 2003-10-06  Bruno Haible  <bruno@clisp.org>
109352         * modules/version-etc-2: Remove file.
109353         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
109355 2003-10-06  Bruno Haible  <bruno@clisp.org>
109357         * modules/fatal-signal: New file.
109358         * MODULES.html.sh (func_all_modules): Add fatal-signal.
109360 2003-10-06  Bruno Haible  <bruno@clisp.org>
109362         * m4/fatal-signal.m4: New file.
109363         * m4/signalblocking.m4: New file, from GNU gettext.
109365 2003-10-06  Bruno Haible  <bruno@clisp.org>
109367         * lib/version-etc-2.h: Remove file.
109368         * lib/version-etc-2.c: Remove file.
109370 2003-10-06  Bruno Haible  <bruno@clisp.org>
109372         * lib/fatal-signal.h: New file, from GNU gettext.
109373         * lib/fatal-signal.c: New file, from GNU gettext.
109375 2003-10-05  Paul Eggert  <eggert@twinsun.com>
109377         * README: Rework advice for preventing empty .o files.
109378         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
109379         not <sys/types.h>.
109381 2003-10-04  Karl Berry  <karl@gnu.org>
109383         * lib/argp*: update from libc.
109385 2003-10-04  Karl Berry  <karl@gnu.org>
109387         * config/config.{guess,sub}: update from config.
109389 2003-10-02  Bruno Haible  <bruno@clisp.org>
109391         * modules/lchown (Include): Add lchown.h.
109392         * modules/time_r (Include): Use "..." syntax.
109393         * modules/xgetdomainname (Include): Add xgetdomainname.h.
109395 2003-10-01  Simon Josefsson  <jas@extundo.com>
109397         * MODULES.html.sh (func_all_modules): Move gethostname from section
109398         'based on' to section 'lacking' POSIX:2001.
109400 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
109402         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
109403         to output mode on the same stream.
109405 2003-09-29  Paul Eggert  <eggert@twinsun.com>
109407         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
109408         Fix arg typo in previous patch.
109410 2003-09-28  Jim Meyering  <jim@meyering.net>
109412         * lib/error.c: Correct cpp indentation.
109414 2003-09-27  Paul Eggert  <eggert@twinsun.com>
109416         * modules/free: New file.
109418 2003-09-27  Paul Eggert  <eggert@twinsun.com>
109420         * m4/free.m4: New file.
109422 2003-09-27  Paul Eggert  <eggert@twinsun.com>
109424         * lib/minmax.h (MIN, MAX)
109425         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
109426         Omit the special code that used __typeof__, since we worry that
109427         it could be more trouble than it's worth.  See:
109428         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00090.html
109429         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00095.html
109431         * lib/free.c: New file.
109433 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
109435         Trivial fixes to Makefile.am parts of module listings.
109436         * modules/strstr: Append strstr.h to lib_SOURCES.
109437         * modules/strcase: Likewise, for strcase.h.
109439 2003-09-27  Karl Berry  <karl@gnu.org>
109441         * config/mkinstalldirs: update from automake.
109443 2003-09-26  Paul Eggert  <eggert@twinsun.com>
109445         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
109446         (error_tail): Do not loop, reallocating temporary buffer, since
109447         the output cannot contain more wide characters than the input
109448         contains bytes, the size must be big enough already.  This avoids
109449         one potential size overflow calculation.  Check for size overflow
109450         when calculating temporary buffer size.  Free temporary buffer
109451         when done, if it was allocated with malloc; this plugs a memory
109452         leak.  Remove casts from void * to pointers, that are no longer
109453         needed now that we're assuming C89 or better.
109455         Merge error changes from glibc.
109457         * lib/error.c, error.h: Update copyright notice header to match glibc.
109458         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
109459         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
109460         Disable cancellation while printing error.
109461         * lib/error.h: Prepend __ to parameter names.
109463 2003-09-26  Jim Meyering  <jim@meyering.net>
109465         * lib/error.c (error_tail): Move some declarations
109466         into inner scope where the local variables are used.
109468 2003-09-26  Bruno Haible  <bruno@clisp.org>
109470         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
109471         stpncpy().
109472         Don't define stpncpy through config.h; it's now done through stpncpy.h.
109474 2003-09-26  Bruno Haible  <bruno@clisp.org>
109476         * lib/stpncpy.h (gnu_stpncpy): New declaration.
109477         (stpncpy): Define as alias for gnu_stpncpy.
109478         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
109480 2003-09-25  Simon Josefsson  <jas@extundo.com>
109482         * lib/xgetdomainname.h: New file.
109483         * lib/xgetdomainname.c: New file.
109485 2003-09-25  Simon Josefsson  <jas@extundo.com>
109486             Bruno Haible  <bruno@clisp.org>
109488         * modules/getdomainname: New file.
109489         * modules/xgetdomainname: New file.
109490         * MODULES.html.sh (func_all_modules): Add getdomainname,
109491         xgetdomainname.
109493 2003-09-25  Simon Josefsson  <jas@extundo.com>
109494             Bruno Haible  <bruno@clisp.org>
109496         * m4/getdomainname.m4: New file.
109498 2003-09-25  Simon Josefsson  <jas@extundo.com>
109499             Bruno Haible  <bruno@clisp.org>
109501         * lib/getdomainname.h: New file.
109502         * lib/getdomainname.c: New file.
109504 2003-09-25  Karl Berry  <karl@gnu.org>
109506         * lib/argp-fmtstream.c, argp-help.c: update from libc.
109508 2003-09-25  Karl Berry  <karl@gnu.org>
109510         * config/install-sh: update from automake.
109512 2003-09-25  Bruno Haible  <bruno@clisp.org>
109514         * modules/version-etc-2: New file, from modules/version-etc with
109515         modifications.
109516         * MODULES.html.sh (func_all_modules): Add version-etc-2.
109518 2003-09-25  Bruno Haible  <bruno@clisp.org>
109520         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
109521         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
109523 2003-09-24  Simon Josefsson  <jas@extundo.com>
109525         * modules/xgethostname: Add xgethostname.h.
109527 2003-09-24  Paul Eggert  <eggert@twinsun.com>
109529         * lib/linebuffer.c (freebuffer): Don't free the argument, just
109530         the buffer associated with the argument.  Bug reported by
109531         Simon Josefsson.
109533 2003-09-24  Paul Eggert  <eggert@twinsun.com>
109535         * README: Document assumptions that 'int' is at least 32 bits
109536         wide, that integer arithmetic is 2's complement without overflow,
109537         that there are no holes in integer values, that adding sizes of
109538         two nonoverlapping objects can't overflow, and that all-bits-zero
109539         yields scalar zero.  Fix spelling and capitalization typos.
109541 2003-09-19  Karl Berry  <karl@gnu.org>
109543         * lib/argp.h: update from libc.
109545 2003-09-17  Paul Eggert  <eggert@twinsun.com>
109547         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
109548         to avoid spurious warnings like "AC_RUN_IFELSE was called before
109549         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
109551 2003-09-17  Paul Eggert  <eggert@twinsun.com>
109553         * gnulib-tool: Use "test -h", not "test -L", for portability
109554         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
109555         (tags_regexp): Remove, since \| doesn't conform to POSIX.
109556         (sed_extract_prog): Issue s commands one-by-one, rather than
109557         using \| in one s command.
109559 2003-09-16  Paul Eggert  <eggert@twinsun.com>
109561         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
109562         input error, instead of returning NULL the next time we are called
109563         (and therefore losing track of errno).
109565 2003-09-16  Bruno Haible  <bruno@clisp.org>
109567         * gnulib-tool (func_create_testdir): Warn about duplicated
109568         dependencies.
109570 2003-09-15  Paul Eggert  <eggert@twinsun.com>
109572         * modules/argmatch, modules/fatal, modules/obstack,
109573         modules/xalloc, modules/xgethostname: Sort dependencies by
109574         importance, not alphabetically.
109576 2003-09-15  Paul Eggert  <eggert@twinsun.com>
109578         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
109579         fails, so that the caller gets the proper errno.
109581         * lib/readutmp.c (read_utmp): Likewise.
109582         Check for fstat error.  Close stream and free storage
109583         when failing.
109585 2003-09-14  Karl Berry  <karl@gnu.org>
109587         * config/srclist.txt (strdup.c): disable for c89 changes.
109589 2003-09-14  Jim Meyering  <jim@meyering.net>
109591         * lib/getloadavg.c: Correct cpp indentation.
109592         * lib/strdup.c: Likewise.
109593         * lib/vasnprintf.c: Likewise.
109595 2003-09-14  Bruno Haible  <bruno@clisp.org>
109597         * modules/fwriteerror: New file.
109598         * MODULES.html.sh (func_all_modules): Add fwriteerror.
109600 2003-09-14  Bruno Haible  <bruno@clisp.org>
109602         * lib/fwriteerror.h: New file.
109603         * lib/fwriteerror.c: New file.
109605 2003-09-12  Paul Eggert  <eggert@twinsun.com>
109607         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
109608         modules/xgethostname, modules/xalloc: Depend on exit.
109610 2003-09-12  Paul Eggert  <eggert@twinsun.com>
109612         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
109614         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
109615         and AC_MINIX, too, so that their extensions are available.
109617         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
109618         This macro has been superseded by gl_BACKUPFILE.
109620         More patches to assume C89 or better.
109622         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
109624         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
109625         unconditionally.
109626         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
109627         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
109628         Include <string.h>, <stdlib.h> unconditionally.
109629         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
109630         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
109631         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
109632         headers or for string.h.
109633         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
109634         or strtoul.
109636         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
109637         headers.
109638         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
109639         * m4/userspec.m4 (gl_USERSPEC): Likewise.
109640         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
109641         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
109642         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
109643         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
109644         memcpy, memset.
109645         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
109646         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
109647         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
109648         strtol.
109649         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
109650         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
109651         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
109652         strtoul.
109654 2003-09-12  Paul Eggert  <eggert@twinsun.com>
109656         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
109657         * lib/obstack.c [!defined _LIBC]: Likewise.
109658         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
109659         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
109660         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
109662         More changes to assume C89 or better.
109664         * lib/error.c (error_tail): Assume vprintf.
109666         * lib/argmatch.c (getenv): Remove decl.
109667         * lib/progreloc.c (get_full_program_name): Define via prototype.
109668         * lib/setenv.c (clearenv): Likewise.
109669         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
109670         needed.
109671         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
109672         (malloc, memcpy): Remove decls.
109673         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
109674         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
109675         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
109676         (memcpy): Remove macro.
109677         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
109678         (__P): Remove.  All uses removed.
109679         (PTR): Remove.  All uses changed to void *.
109680         (CHAR_BIT, NULL): Remove.
109681         (spaces, zeros, memset_space, memset_zero)
109682         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
109683         Remove.
109684         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
109685         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
109686         Define with prototype.
109687         Remove now-unnecessary prototype decl.
109688         (extra_args_spec): Assume ANSI C.  All uses changed.
109689         (extra_args_spec_iso): Remove.
109690         (my_strftime, emacs_strftimeu): Define via prototype.
109691         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
109692         unconditionally.
109693         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
109694         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
109695         (strtoul, strtol): Remove decls.
109696         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
109697         LONG_MAX): Remove.
109698         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
109699         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
109700         (LOCALE_PARAM_PROTO): New macro.
109701         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
109702         (INTERNAL (strtol), strtol): Define with a prototype.
109703         (PARAMS): Remove.  All uses removed.
109704         * lib/tempname.c: Include <string.h> unconditionally.
109705         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
109706         * lib/xgethostname.c (main): Define with a prototype.
109707         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
109708         Include <stdlib.h> unconditionally.
109709         (calloc, malloc, realloc, free): Remove decls.
109710         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
109711         Include <stdlib.h> unconditionally.  Sort include file names.
109712         (strtod): Remove.
109713         (xstrtod): Define with a prototype.
109714         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
109715         (strtol, strtoul): Remove decls.
109717 2003-09-11  Paul Eggert  <eggert@twinsun.com>
109719         More patches to assume C89 or better.
109720         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
109721         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
109722         string.h, memchr, STDC_HEADERS.
109724 2003-09-11  Paul Eggert  <eggert@twinsun.com>
109726         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
109727         Include <stdlib.h>, <string.h> unconditionally.
109728         Remove now-unnecessary cast to char *.
109729         * lib/strnlen.c: Include <string.h> unconditionally.
109730         * lib/yesno.c (yesno): Define with a prototype.
109732 2003-09-11  Bruno Haible  <bruno@clisp.org>
109734         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
109736 2003-09-10  Jim Meyering  <jim@meyering.net>
109738         * lib/error.c: Correct indentation of cpp directives.
109740 2003-09-10  Bruno Haible  <bruno@clisp.org>
109742         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
109743         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
109744         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
109745         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
109746         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
109747         <stdlib.h> and <string.h> checks.
109748         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
109749         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
109751 2003-09-10  Bruno Haible  <bruno@clisp.org>
109753         * lib/strcspn.c: Include <string.h> unconditionally.
109754         * lib/strpbrk.c: Include <string.h> unconditionally.
109755         * lib/strstr.c: Include <string.h> unconditionally.
109756         * lib/unicodeio.c: Include <string.h> unconditionally.
109757         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
109758         * lib/unsetenv.c: Likewise.
109759         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
109760         * lib/yesno.c: Include <stdlib.h> unconditionally.
109761         (rpmatch): Add prototype.
109763 2003-09-09  Paul Eggert  <eggert@twinsun.com>
109765         More patches to assume C89 or better.
109766         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
109767         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
109768         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
109769         or for string.h.
109770         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
109771         stdlib.h.
109772         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
109773         C headers.
109774         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
109775         string.h.
109776         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
109777         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
109778         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
109779         or for string.h.
109780         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
109781         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
109782         C headers.
109783         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
109784         memcpy.
109785         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
109786         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
109787         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
109788         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
109789         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
109790         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
109791         string.h, free.
109792         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
109793         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
109794         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
109795         C headers, or for string.h.
109796         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
109797         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
109798         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
109799         headers, memory.h, stdlib.h, string.h, strings.h.
109800         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
109801         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
109802         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
109803         strchr.
109804         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
109805         headers, memory.h, string.h.
109806         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
109807         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
109808         free.
109809         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
109810         headers.
109811         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
109812         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
109813         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
109814         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
109815         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
109817 2003-09-09  Paul Eggert  <eggert@twinsun.com>
109819         More K&R removal.
109821         * lib/acosl.c (main): Use a prototype.
109822         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
109823         tanl.c: Likewise.
109825         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
109827         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
109828         (getopt, etopt_long, getopt_long_only, _getopt_internal)
109829         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
109830         with a prototype.
109831         * lib/getopt.c (const): Remove macro.
109832         Include <string.h> unconditionally.
109833         (my_index): Remove; all uses changed to strchr.
109834         (strlen): Remove decl.
109835         (exchange): Remove forward decl; no longer needed.
109836         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
109837         Define with prototype.
109838         * lib/getopt1.c (const): Remove macro.
109839         (getopt_long, getopt_long_only, main): Define with prototype.
109841         * lib/getugroups.c: Include <string.h> unconditionally.
109843         * lib/getusershell.c: Include <stdlib.h> unconditionally.
109844         (getusershell, setusershell, endusershell, readname, main):
109845         Define with prototypes.
109847         * lib/group-member.c: Include group-member.h first.
109848         Include <stdlib.h> unconditionally.
109850         * lib/hard-locale.c: Include hard-locale.h first.
109851         Include <stdlib.h>, <string.h> unconditionally.
109853         * lib/hash.c (free, malloc): Remove decls.
109854         Include <stdlib.h> unconditionally.
109856         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
109857         (getenv): Do not declare.
109859         * lib/idcache.c: Include <string.h> unconditionally.
109861         * lib/long-options.c: Include long-options.h first, to test interface.
109862         Include <stdlib.h> unconditionally.
109864         * lib/makepath.c: Include makepath.h first, to test interface.
109865         Include <stdlib.h> and <string.h> unconditionally.
109867         * lib/linebuffer.c: Include <stdlib.h>.
109868         (free): Remove decl.
109870         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
109871         stddef.h. rpl_malloc returns void *, not char *.
109872         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
109873         prototype.
109875         * lib/md5.h: Include <limits.h> unconditionally.
109876         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
109877         (__P): Remove; all uses removed.
109878         * lib/md5.c: Include "md5.h" first.
109879         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
109880         md5_buffer, md5_process_bytes, md5_process_block):
109881         Define with prototypes.
109882         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
109883         * lib/sha.c: Include "sha.h" first.
109884         Include <stdlib.h>, <string.h> unconditionally.
109886         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
109887         * lib/memcmp.c (__ptr_t): Likewise.
109888         * lib/memrchr.c (__ptr_t): Likewise.
109889         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
109890         Include <string.h> unconditionally.
109891         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
109892         * lib/memchr.c: Include <stdlib.h> unconditionally.
109893         * lib/memchr.c (LONG_MAX): Remove.
109894         * lib/memrchr.c (LONG_MAX): Likewise.
109895         * lib/memchr.c (__memchr): Define via a prototype.
109896         * lib/memrchr.c (__memrchr): Likewise.
109897         * lib/memcmp.c (__P): Remove, and remove all uses.
109898         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
109899         Remove forward decls; no longer needed.
109900         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
109901         Use types required by C89 in prototype.
109903         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
109904         * lib/savedir.c: Likewise.
109905         * lib/mkdir.c (free): Remove decl.
109906         * lib/rmdir.c (rmdir): Define with a prototype.
109907         * lib/savedir.c: Include savedir.h first, to test interface.
109909         * lib/mktime.c (STDC_HEADERS): Remove.
109910         Include <stdlib.h>, <string.h> unconditionally.
109912         * lib/modechange.c: Include <stdlib.h> unconditionally.
109913         (malloc): Remove decl.
109915         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
109916         (free): Remove decl.
109918         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
109919         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
109920         (This type really should be intptr_t, but that's a C99ism.)
109921         (_obstack_memcpy): Remove: all uses changed to memcpy.
109922         Include <string.h> unconditionally.
109923         (struct obstack): Assume __STDC__ for types of members
109924         chunkfun, freefun, extra_arg.
109925         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
109926         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
109927         obstack_begin, obstack_specify_allocation,
109928         obstack_specify_allocation_with_arg, obstack_chunkfun,
109929         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
109930         Remove unprototyped decls and the macros that use them.
109931         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
109932         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
109933         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
109934         (defined __STDC__ && __STDC__)]:
109935         Remove nonprototyped code.
109936         Include <stdlib.h> unconditionally.
109937         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
109938         _obstack_allocated_p, _obstack_free, obstack_free,
109939         _obstack_memory_used, print_and_abort):
109940         Define using prototypes.
109941         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
109942         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
109943         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
109944         obstack_next_free, obstack_object_size, obstack_room) [0]:
109945         Remove unused, unprototyped code.
109947         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
109949         * lib/physmem.c (physmem_total, physmem_available, main): Define
109950         with prototypes.
109952         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
109953         (main): Define with a prototype.
109955         * lib/posixver.c (getenv): Remove decl.
109957         * lib/putenv.c (malloc): Returns void *, not char *.
109958         Include <string.h> unconditionally.
109959         (strchr, memcpy, NULL): Do not define.
109961         * lib/readtokens.c: Include readtokens.h first, to test interface.
109962         Include <stdlib.h>, <string.h> unconditionally.
109963         (init_tokenbuffer): Define with a prototype.
109965         * lib/regex.c (PARAMS): Remove.  All uses removed.
109966         All uses of _RE_ARGS removed, too.
109967         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
109968         unconditionally.
109969         (bzero): Assume memset exists.
109970         (memcmp, memcpy, NULL): Remove.
109971         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
109972         char, or assignments to local vars of type signed char.
109973         (init_syntax_once, PREFIX(extract_number_and_incr),
109974         PREFIX(print_partial_compiled_pattern),
109975         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
109976         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
109977         PREFIX(regex_grow_registers), PREFIX(regex_compile),
109978         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
109979         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
109980         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
109981         wcs_compile_range, byte_compile_range, truncate_wchar,
109982         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
109983         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
109984         count_mbs_length, wcs_re_match_2_internal,
109985         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
109986         PREFIX(alt_match_null_string_p),
109987         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
109988         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
109989         regfree, PREFIX(extract_number)): Define with prototype.  Remove
109990         now-unnecessary declaration, if any.
109991         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
109992         regcomp, regexec):
109993         Remove now-unnecessary casts among pointer types.
109994         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
109996         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
109997         (free): Remove decl.
109999         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
110001         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
110002         (free): Remove decl.
110004         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
110005         * lib/xgetcwd.c: Likewise.
110007         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
110008         (free): Remove decl.
110010         * lib/strchrnul.c (strchrnul): Define with a prototype.
110011         Fix bug: c_in was not converted to char before searching.
110013         The following changes are not K&R related:
110015         * lib/group-member.h: Include <sys/types.h>, so that this file is
110016         self-contained.
110017         * lib/makepath.h: Likewise.
110019         * lib/getusershell.c (readname, default_index, line_size, readname):
110020         Use size_t, not int, for sizes.
110021         (readname): If the size overflows, report an error instead of
110022         looping forever.
110024 2003-09-09  Paul Eggert  <eggert@twinsun.com>
110026         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
110027         libc.
110029 2003-09-09  Paul Eggert  <eggert@twinsun.com>
110031         * README: New section: portability guidelines.
110033 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
110035         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
110036         C89 spec.
110038 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
110040         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
110042 2003-09-08  Paul Eggert  <eggert@twinsun.com>
110044         Assume C89 or better; remove K&R cruft.
110045         A few of these changes were first proposed by Derek Robert Price
110046         in <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00105.html>.
110048         * lib/addext.c: Include <string.h> unconditionally.
110049         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
110050         Don't declare getenv or malloc.
110052         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
110053         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
110054         (NULL): Remove.
110055         (find_stack_direction, alloca): Use prototypes.
110057         * lib/atexit.c (atexit): Define using a prototype.
110059         * lib/basename.c, dirname.c, stripslash.c:
110060         Include <string.h> unconditionally.
110062         * lib/bcopy.c: Include <stddef.h>.
110063         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
110065         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
110067         * lib/error.h (error, error_at_line, error_print_progname)
110068         [! (defined (__STDC__) && __STDC__)]: Remove decls.
110069         * lib/error.c: Include error.h first, to check interface.
110070         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
110071         (VA_START): Remove; all uses changeed to va_start.
110072         (exit, strerror): Remove decls.
110073         (error_print_progname): Prototype uncondionally.
110074         Don't include <errno.h>; no longer needed.
110075         (private_strerror): Remove.
110076         (error_tail): Always define.
110077         (error, error_at_line): Assume C89 or better; always use prototypes.
110078         * lib/fatal.c: Include "fatal.h" first, to test interface.
110079         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
110080         (VA_START): Remove; all uses changed to va_start.
110081         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
110082         this case.
110083         (exit): Remove decl.
110084         (fatal): Prototype unconditionally.  Assume va_start works.
110085         Abort at end, to pacify gcc.
110087         * lib/euidaccess.c (main): Define with a prototype.
110089         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
110091         * lib/exitfail.c: Include <stdlib.h> unconditionally.
110093         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
110094         prototypes.
110095         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
110096         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
110097         (getenv): Remove decl.
110098         (fnmatch): Define using a prototype.
110099         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
110100         (FCT): Define using a prototype.
110102         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
110104         * lib/gethostname.c: Include <stddef.h>.
110105         (gethostname): Define with prototype.  Length is size_t, not int.
110107 2003-09-08  Paul Eggert  <eggert@twinsun.com>
110109         Assume C89 or better; remove K&R cruft.
110110         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
110111         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
110112         string.h, getenv, malloc.
110113         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
110114         headers.
110115         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
110116         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
110117         do not check for strerror.
110118         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
110119         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
110120         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
110121         do not check for doprnt or vprintf.
110122         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
110123         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
110125 2003-09-08  Paul Eggert  <eggert@twinsun.com>
110127         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
110128         getversion.c should have been removed then, but was accidentally
110129         preserved.
110131         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
110132         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
110134 2003-09-08  Karl Berry  <karl@gnu.org>
110136         * config/config.sub, config.guess, srclistvars.sh: update from savannah
110137                 config, forget about prep.
110139         * config/depcomp, missing: update from automake.
110141 2003-09-07  Paul Eggert  <eggert@twinsun.com>
110143         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
110144         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
110146 2003-09-07  Paul Eggert  <eggert@twinsun.com>
110148         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
110149         copy_tm_result.  Bug reported by Simon Josefsson in
110150         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
110152 2003-09-06  Paul Eggert  <eggert@twinsun.com>
110154         * m4/time_r.m4: New file.
110155         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
110156         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
110157         is. Check for timegm declaration.
110158         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
110159         Do not check for gmtime_r.
110160         Replace mktime if __mktime_internal does not exist and if mktime
110161         hasn't been replaced already.
110163 2003-09-06  Paul Eggert  <eggert@twinsun.com>
110165         * lib/time_r.c, lib/time_r.h: New files.
110167         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
110168         __localtime_r.
110169         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
110170         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
110172         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
110173         __gmtime_r.
110174         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
110175         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
110176         Include <time_r.h>.
110178         * lib/timegm.c: Switch to glibc implementation, with the following
110179         changes:
110180         [defined HAVE_CONFIG_H]: Include <config.h>.
110181         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
110182         (__mktime_internal) [!defined _LIBC]: New decl.
110183         (__gmtime_r) [!defined _LIBC]: New macro and function.
110184         (timegm): Use a prototype, since gnulib assumes C89.
110185         Do not bother declaring tmp to be const, as it's not really usefu.
110186         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
110187         (timegm): Declare only if HAVE_DECL_TIMEGM.
110189 2003-09-06  Paul Eggert  <eggert@twinsun.com>
110191         * MODULES.html.sh (func_all_modules): Add time_r.
110192         * modules/time_r: New file.
110193         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
110194         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
110196 2003-09-03  Paul Eggert  <eggert@twinsun.com>
110198         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
110199         Bug reported by Lute Kamstra in
110200         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00003.html>.
110202         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
110203         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
110204         course with correspondingly smaller numbers for tomorrow and
110205         yesterday.  From Tadayoshi Funaba.  Originally installed into
110206         sh-utils on 1999-08-07, but the patch got lost (I guess during the
110207         coreutils merge?).
110209 2003-08-31  Simon Josefsson  <jas@extundo.com>
110211         * modules/timegm: New file.
110212         * MODULES.html.sh (func_all_modules): Add timegm.
110214 2003-08-31  Simon Josefsson  <jas@extundo.com>
110216         * m4/timegm.m4: New file.
110218 2003-08-31  Simon Josefsson  <jas@extundo.com>
110220         * lib/timegm.h: New file.
110221         * lib/timegm.c: New file.  Based on
110222         wget-1.8.2/src/http.c:mktime_from_utc.
110224 2003-08-31  Karl Berry  <karl@gnu.org>
110226         * lib/argp.h: update from libc.
110228 2003-08-28  Bruno Haible  <bruno@clisp.org>
110230         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
110231         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
110232         followed by '#define fnmatch fnmatch_posix' gives an error.
110234 2003-08-28  Bruno Haible  <bruno@clisp.org>
110236         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
110237         warning on QNX, which defines O_BINARY to 000000.
110239 2003-08-27  Jim Meyering  <jim@meyering.net>
110241         * m4/mkstemp.m4: Require that the system mkstemp be able to create
110242         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
110243         would fail after 32.  Reported by Danny Levinson.  Details here:
110244         http://mail.gnu.org/r/bug-coreutils/2003-08/msg00124.html
110246 2003-08-24  Bruno Haible  <bruno@clisp.org>
110248         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
110249         MSVC7 <stdio.h> is included later.
110251 2003-08-22  Simon Josefsson  <jas@extundo.com>
110253         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
110255 2003-08-20  Karl Berry  <karl@gnu.org>
110257         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
110259 2003-08-20  Bruno Haible  <bruno@clisp.org>
110261         * modules/progname: New file.
110262         * MODULES.html.sh (func_all_modules): Add progname.
110264 2003-08-20  Bruno Haible  <bruno@clisp.org>
110266         * lib/progname.h: New file, from GNU gettext.
110267         * lib/progname.c: New file, from GNU gettext.
110268         * lib/progreloc.c: New file, from GNU gettext.
110270 2003-08-19  Jim Meyering  <jim@meyering.net>
110272         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
110273         http://mail.gnu.org/r/bug-gnulib/2003-08/msg00155.html
110275 2003-08-19  Bruno Haible  <bruno@clisp.org>
110277         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
110278         more.
110280 2003-08-19  Bruno Haible  <bruno@clisp.org>
110282         * lib/xstrdup.c: Assume <string.h> exists.
110284 2003-08-18  Paul Eggert  <eggert@twinsun.com>
110286         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
110287         in makefile rules.
110289 2003-08-18  Jim Meyering  <jim@meyering.net>
110291         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
110292         * m4/lib-ld.m4: Likewise.
110294 2003-08-18  Jim Meyering  <jim@meyering.net>
110296         * lib/setenv.h: Indent nested cpp directive.
110297         * lib/vasnprintf.c: Remove trailing blanks.
110299 2003-08-17  Simon Josefsson  <jas@extundo.com>
110301         * modules/xstrndup: New file.
110302         * MODULES.html.sh (func_all_modules): Add xstrndup.
110304 2003-08-17  Simon Josefsson  <jas@extundo.com>
110306         * modules/argp: Fix autoconf macro name. Add more dependencies.
110308 2003-08-17  Simon Josefsson  <jas@extundo.com>
110310         * m4/xstrndup.m4: New file.
110312 2003-08-17  Simon Josefsson  <jas@extundo.com>
110314         * m4/argp.m4: New file.
110316 2003-08-17  Simon Josefsson  <jas@extundo.com>
110317             Bruno Haible  <bruno@clisp.org>
110319         * lib/xstrndup.h: New file.
110320         * lib/xstrndup.c: New file.
110322 2003-08-17  Bruno Haible  <bruno@clisp.org>
110324         * modules/strndup (Files, Include): Add lib/strndup.h.
110326 2003-08-17  Bruno Haible  <bruno@clisp.org>
110328         * modules/euidaccess (Files): Add lib/euidaccess.h.
110330 2003-08-17  Bruno Haible  <bruno@clisp.org>
110332         * lib/strndup.h: New file.
110334 2003-08-17  Bruno Haible  <bruno@clisp.org>
110336         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
110337         like AC_GNU_SOURCE.
110338         * modules/extensions (configure.ac): Comment out the invocation of
110339         gl_USE_SYSTEM_EXTENSIONS.
110341 2003-08-16  Paul Eggert  <eggert@twinsun.com>
110343         Merges from coreutils, etc.
110344         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
110345         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
110346         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
110347         fixing a typo.
110348         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
110349         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
110351 2003-08-16  Paul Eggert  <eggert@twinsun.com>
110353         Document merge from coreutils.
110354         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
110355         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
110356         * modules/utime: Add m4/utimes-null.m4.
110358 2003-08-16  Paul Eggert  <eggert@twinsun.com>
110360         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
110361         space, undoing this 2003-08-12 change:
110362         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
110364 2003-08-16  Paul Eggert  <eggert@twinsun.com>
110366         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
110367         strtoul.c from libc, undoing this 2003-08-12 change:
110368         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
110370 2003-08-16  Jim Meyering  <jim@meyering.net>
110372         Merges from coreutils.
110373         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
110374         prefix.  Adjust cache variables similarly.  Create 500 rather than
110375         just 300 files, to exercise bug on Darwin6.5, too.
110376         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
110377         $missing_dir.
110378         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
110379         AM_SYS_POSIX_TERMIOS.
110380         Reported by mkc@mathdogs.com.
110381         Also change use of $am_cv_sys_posix_termios
110382         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
110383         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
110384         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
110385         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
110386         in /proc/mounts until it finds one with matching device number.  This
110387         is unnecessary when the FILE argument *is* a mount point.  No stat call
110388         is necessary in that case.  So, disable the statvfs-testing code on
110389         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
110390         as RedHat bug# 84846.
110391         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
110392         to 1MB, so as not to render systems with no stack size limit (e.g.,
110393         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
110394         Include <unistd.h>.  On some systems,
110395         it is required for the definition of _SC_PAGESIZE.
110397 2003-08-16  Jim Meyering  <jim@meyering.net>
110399         Merge from coreutils.
110400         * lib/xstrtoimax.c: #else #if -> #elif.
110401         * lib/xstrtoumax.c: Likewise.
110403 2003-08-16  Jim Meyering  <jim@meyering.net>
110405         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
110406         * m4/utimes.m4: Removed.
110407         * m4/utimes-null.m4: Renamed from utimes.m4.
110409         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
110410         to 1MB, so as not to render systems with no stack size limit (e.g.,
110411         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
110412         Include <unistd.h>.  On some systems,
110413         it is required for the definition of _SC_PAGESIZE.
110415 2003-08-16  Jim Meyering  <jim@meyering.net>
110416         and Paul Eggert  <eggert@cs.ucla.edu>
110418         Merges from coreutils, etc.
110420         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
110421         using the latest version from cvs.  This avoids problems with #line
110422         directives using a vendor (Sun) compiler.
110423         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
110424         Don't set GETGROUPS_LIB here; now it's
110425         done via getgroups.m4's wrapper function.
110426         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
110427         rather than just in sh-util/configure.in, so that the
110428         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
110429         same.
110430         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
110431         AC_FUNC_GETLOADAVG where to find getloadavg.c.
110432         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
110433         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
110434         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
110435         Remove code that is now done by the newly-required macros.
110436         Append $(EXEEXT) to DF_PROG.
110437         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
110438         Do not invoke or require the following here,
110439         since prereq.m4 or some gnulib .m4 now does this for us:
110440         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
110441         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
110442         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
110443         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
110444         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
110445         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
110446         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
110447         AC_FUNC_OBSTACK.
110448         Do not replace the following functions, as this is now the job
110449         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
110450         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
110451         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
110452         atexit getpass, strdup, getpagesize.
110453         Replace 'raise'.
110454         Do not check for the following functions, as this is now the job
110455         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
110456         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
110457         setregid.
110458         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
110459         Check for sys/sysctl.h.
110460         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
110461         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
110462         of checking for ssize_t ourselves.
110464         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
110465         Require every macro that gnulib/modules/* suggests for us.
110466         (jm_PREREQ_ADDEXT): New macro.
110467         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
110468         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
110470         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
110471         (gl_PHYSMEM): Use it.
110472         Also check for `table' function.
110473         Check for new headers and functions.
110474         Add check for sys/sysmp.h.
110475         With suggestions from Kaveh Ghazi.
110476         Ignore headers that are present but cannot be compiled.  This
110477         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
110478         C 5.4.
110480 2003-08-15  Paul Eggert  <eggert@twinsun.com>
110482         Document merge from coreutils.
110483         * modules/userspec: Depend on posixver.
110484         * modules/strftime: Depend on tzset.
110486 2003-08-15  Paul Eggert  <eggert@twinsun.com>
110488         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
110489         rather than tab, after '#' in shell-script copyright notices.
110490         Suggested by Bruno Haible.
110492 2003-08-15  Paul Eggert  <eggert@twinsun.com>
110494         * config/srclist-update: Use three spaces, rather than tab, after '#'
110495         in shell-script copyright notices.  Suggested by Bruno Haible.
110496         Remove unnecessary parenthesization in regular expression.
110498 2003-08-15  Jim Meyering  <jim@meyering.net>
110500         Merge from coreutils.
110501         * lib/xgethostname.c: Include <stdlib.h>.
110502         (xghostname): Don't exit for anything other than memory-related
110503         failure; just return NULL.
110504         * lib/userspec.c: Include "posixver.h".
110505         (parse_user_spec): Accept `.' as a separator only
110506         in pre-POSIX-200112 mode.
110507         * lib/strtoimax.c: Use #elif rather than #else #if.
110508         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
110509         Remove function, now that we can rely on a working tzset function.
110510         [!_LIBC]: Ensure that the required autoconf test has been run.
110511         [!defined _NL_CURRENT && HAVE_STRFTIME]:
110512         Use underlying_strftime for %r.
110513         * lib/sha.c: Merge in some clean-up and optimization changes from
110514         glibc.
110515         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
110516         Ensure that it is a multiple of 64.
110517         Rearrange loop exit tests so as to avoid performing an
110518         additional fread after encountering an error or EOF.
110519         * lib/realloc.c: Update copyright date.
110521 2003-08-15  Jim Meyering  <jim@meyering.net>
110522         and Paul Eggert  <eggert@twinsun.com>
110524         Merge from coreutils.
110525         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
110526         member but strut utmpx does not.  Needed for AIX 4.3.3.
110527         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
110529 2003-08-15  Jim Meyering  <jim@meyering.net>
110530         and Paul Eggert  <eggert@cs.ucla.edu>
110532         Merges from coreutils, etc.
110533         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
110534         Require gl_FUNC_TZSET_CLOBBER.
110535         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
110536         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
110537         members.
110539 2003-08-14  Paul Eggert  <eggert@twinsun.com>
110541         Help the merge from coreutils.
110542         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
110543         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
110544         * m4/tzset.m4: Use it too.
110546 2003-08-14  Paul Eggert  <eggert@twinsun.com>
110548         * modules/tzset: New file.
110550 2003-08-14  Jim Meyering  <jim@meyering.net>
110552         Merges from coreutils.
110553         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
110554         variable names, rather than @FNMATCH_H@.
110555         * modules/alloca: Likewise for $(ALLOCA_H).
110557         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
110558         the three copies of the literal target, `fnmatch.h'.
110559         * modules/alloca (alloca.h): Likewise.
110561 2003-08-14  Jim Meyering  <jim@meyering.net>
110563         Merge from coreutils.
110564         * m4/tzset.m4: New file.
110565         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
110566         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
110567         otherwise, AIX 5.1 systems would end up using the latter.
110568         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
110569         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
110570         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
110571         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
110573 2003-08-14  Jim Meyering  <jim@meyering.net>
110575         Merge from coreutils.
110576         * lib/obstack.h: Whitespace changes.
110577         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
110578         and xcalloc return values.
110579         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
110580         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
110581         hang on OSF/1 5.1 for DIR on both local and remote file systems.
110582         Reported by (and fix confirmed by) Nelson H. F. Beebe.
110583         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
110584         error from mntctl.
110585         Use mntctl's return value to drive the entry-processing loop, since
110586         we can't rely on the value of the vmt_length member in the last
110587         entry.  On some systems doing so could result in exhausting
110588         virtual memory.  Based in part on a patch from Mike Jetzer.
110590 2003-08-14  Jim Meyering  <jim@meyering.net>
110591         and Paul Eggert  <eggert@twinsun.com>
110593         Merges from coreutils, plus other fixes.
110594         * lib/physmem.c: Merge in portability changes from gcc/libiberty
110595         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
110596         for credits and details.  Thanks to Kaveh Ghazi for helping
110597         to keep these files in sync.
110598         (ARRAY_SIZE): Define it.
110599         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
110600         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
110601         (memcasecmp): Don't assume size_t fits in unsigned int.
110602         Remove casts and duplicate code.
110603         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
110604         (memcpy): Remove definition.
110605         Merge in some clean-up and optimization changes from glibc.
110606         [BLOCKSIZE]: Move definition to top of file.
110607         Ensure that it is a multiple of 64.
110608         Rearrange loop exit tests so as to avoid performing an
110609         additional fread after encountering an error or EOF.
110610         * lib/md5.h (md5_uintptr): Define.
110611         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
110612         return to the initial working directory.  Preserve errno
110613         for caller.
110614         * lib/idcache.c: Include "xalloc.h".
110615         (xmalloc, xrealloc): Remove decls.
110616         (getuser): Remove casts no longer required in C89.
110617         * lib/human.c: Include stdio.h, for sprintf.
110618         * lib/group-member.c: Include "xalloc.h".
110619         (xmalloc, xrealloc): Remove decls.
110620         (get_group_info): Remove casts no longer required in C89.
110621         * lib/getusershell.c (readname): Remove casts no longer required in
110622         C89.
110623         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
110624         * lib/getline.c: Whitespace fix, from coreutils.
110626 2003-08-13  Paul Eggert  <eggert@twinsun.com>
110628         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
110629         Check for isascii.
110631         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
110632         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
110633         Undo previous (whitespace-only) change.
110635 2003-08-13  Paul Eggert  <eggert@twinsun.com>
110637         * lib/exclude.c: Include <ctype.h>
110638         (IN_CTYPE_DOMAIN): New macro.
110639         (is_space): New fn.
110640         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
110641         and empty lines.
110643         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
110644         Undo previous (whitespace-only) change.
110646 2003-08-13  Paul Eggert  <eggert@twinsun.com>
110648         * config/srclist-update: Change update back to the old behavior,
110649         leaving whitespace alone.  Use one 'sed' command rather than a
110650         pipeline.
110651         (fixlicense): Now a variable, not a function.
110652         (remove_trailing_blanks): Remove.
110653         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
110654         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
110655         Undo previous (whitespace-only) change.
110657 2003-08-12  Paul Eggert  <eggert@twinsun.com>
110659         Merge from coreutils.
110660         * modules/euidaccess: Add lib_SOURCES, include for new
110661         file euidaccess.h
110663 2003-08-12  Paul Eggert  <eggert@twinsun.com>
110665         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
110666         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
110667         Normalize leading white space and remove trailing white space.
110669         Merge from coreutils
110670         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
110672         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
110673         0.12.1.  These files are now being upgraded automatically by
110674         ../config/srclist-update.
110676 2003-08-12  Paul Eggert  <eggert@twinsun.com>
110678         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
110679         Normalize leading white space and remove trailing white space.
110680         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
110681         notice, as per ../config/srclist-update.
110683         Merge from coreutils.
110684         * lib/euidaccess.h: New file.
110685         * lib/euidaccess.c: Include it.
110686         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
110687         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
110688         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
110690 2003-08-12  Paul Eggert  <eggert@twinsun.com>
110692         * config/srclist-update: Add copyright notice.
110693         (remove_id_lines, remove_trailing_blanks): New constants.
110694         (fixfile): Use them to normalize spacing a bit in copied files.
110695         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
110696         Normalize leading white space and remove trailing white space.
110698         * config/texinfo.tex: Sync with texinfo.
110700         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
110701         strtoul.c from libc, to merge coreutils whitespace changes.
110703         * config/srclist.txt: Get the following m4 files from gettext:
110704         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
110705         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
110706         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
110707         wint_t.m4.
110709 2003-08-12  Karl Berry  <karl@gnu.org>
110711         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
110712         been made.
110714 2003-08-11  Paul Eggert  <eggert@twinsun.com>
110716         * modules/gnu-source, m4/gnu-source.m4:
110717         Remove; we're assuming Autoconf 2.54 or later now.
110718         Suggested by Bruno Haible.
110719         * MODULES.html.sh (func_all_modules): Remove gnu-source.
110721 2003-08-11  Bruno Haible  <bruno@clisp.org>
110723         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
110725 2003-08-11  Bruno Haible  <bruno@clisp.org>
110727         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
110728         (vasnprintf): Use it instead of wcslen.
110730 2003-08-11  Bruno Haible  <bruno@clisp.org>
110732         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
110733         value to ensure that _Bool promotes to int. Use #define for _Bool when
110734         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
110736 2003-08-10  Karl Berry  <karl@gnu.org>
110738         * lib/regex.h: update from libc (whitespace fix).
110740 2003-08-09  Paul Eggert  <eggert@twinsun.com>
110742         Merge some files from coreutils.  These changes were
110743         originally made by Jim Meyering.
110744         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
110745         many older Unixes require this.
110746         * lib/alloca.c (alloca): Remove cast to argument of free;
110747         no longer needed in C89.
110748         * lib/alloca_.h, regex.h: Fix white space to match
110749         what GNU indent does.
110751 2003-08-09  Paul Eggert  <eggert@twinsun.com>
110753         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
110754         apparently Emacs's Unicode mode got confused before my 2003-08-05
110755         checkin.
110757 2003-08-08  Paul Eggert  <eggert@twinsun.com>
110759         * m4/extensions.m4: New file.
110760         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
110761         Require gl_USE_SYSTEM_EXTENSIONS.
110762         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
110763         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
110765 2003-08-08  Paul Eggert  <eggert@twinsun.com>
110767         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
110768         * modules/extensions, modules/gnu-source: New files.
110769         * modules/timespec, modules/unlocked-io: Depend on extensions.
110771 2003-08-07  Paul Eggert  <eggert@twinsun.com>
110773         * modules/restrict: New file.
110774         * MODULES.html.sh (func_all_modules): Add restrict.
110775         * modules/regex: Depend on restrict.
110777 2003-08-07  Paul Eggert  <eggert@twinsun.com>
110779         * m4/restrict.m4: New file.
110780         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
110782 2003-08-07  Bruno Haible  <bruno@clisp.org>
110784         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
110785         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
110787 2003-08-07  Bruno Haible  <bruno@clisp.org>
110789         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
110790         makes the module 'getndelim2' compatible with the module 'getline'.
110792 2003-08-05  Paul Eggert  <eggert@twinsun.com>
110794         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
110795         byte with "\201" to avoid glitches when editing that source file
110796         with multi-gnome-terminal.
110798 2003-08-05  Paul Eggert  <eggert@twinsun.com>
110800         * lib/bumpalloc.h: Remove.
110802 2003-08-05  Paul Eggert  <eggert@twinsun.com>
110804         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
110805         * modules/bumpalloc: Remove.
110807 2003-08-04  Paul Eggert  <eggert@twinsun.com>
110809         * lib/getloadavg.c: Change copyright notice and spacing to conform to
110810         GNU coding style.
110812         Merge from coreutils.
110813         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
110814         1. From glibc.
110815         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
110816         from Karl Berry, implemented by Jim Meyering.
110817         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
110818         from Dmitry V. Levin.
110819         Remove anachronistic cast of xrealloc.
110820         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
110821         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
110822         type. Otherwise, it wouldn't compile with at least /bin/cc on
110823         ymp-cray-unicos9.0.2.X.
110824         Combine two mostly-identical uses of alloca into one.
110825         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
110827 2003-08-04  Dave Love  <d.love@dl.ac.uk>
110829         [From Emacs.]
110831         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
110832         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
110833         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
110834         obsolete NLIST_NAME_UNION.
110835         [__GNU__]: Undef BSD and FSCALE.
110836         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
110838 2003-08-03  Paul Eggert  <eggert@twinsun.com>
110840         * lib/stdbool_.h (_Bool): Make it signed char, instead of
110841         an enum type, so that it's guaranteed to promote to int.  See:
110842         <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00124.html>
110844 2003-08-03  Karl Berry  <karl@gnu.org>
110846         * config/depcomp: update from automake.
110848 2003-07-31  Paul Eggert  <eggert@twinsun.com>
110850         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
110851         (strerror): Don't assume that a printable int fits in 14 bytes.
110853 2003-07-31  Bruno Haible  <bruno@clisp.org>
110855         * modules/getpass-gnu: New file.
110856         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
110858 2003-07-31  Bruno Haible  <bruno@clisp.org>
110860         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
110862 2003-07-24  Karl Berry  <karl@gnu.org>
110864         * config/missing: update from automake.
110866 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
110867             Bruno Haible  <bruno@clisp.org>
110869         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
110870         * lib/getline.c (getline, getdelim): Likewise.
110871         Remove _GNU_SOURCE define; now it's defined in config.h through
110872         m4/getline.m4.
110874 2003-07-23  Karl Berry  <karl@gnu.org>
110876         * config/config.sub: update from prep.
110878 2003-07-22  Paul Eggert  <eggert@twinsun.com>
110880         * modules/xalloc (Depends-on): Add exitfail.
110881         * modules/xmemcoll: Likewise.
110883 2003-07-22  Paul Eggert  <eggert@twinsun.com>
110885         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
110886         over-parenthesization in macros.
110888         Sync with coreutils.
110890         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
110891         required by C99.
110893         Use `exit_failure' for xalloc and xmemcoll instead of their own
110894         private exit-failure variables.
110895         * lib/xalloc.h (xalloc_exit_failure): Remove.
110896         * lib/xmalloc.c: Likewise.  Include exitfail.h.
110897         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
110898         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
110899         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
110900         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
110902 2003-07-20  Jim Meyering  <jim@meyering.net>
110904         * modules/closeout (Depends-on): Add exitfail.
110905         Suggestion from Bruno Haible.
110907 2003-07-19  Karl Berry  <karl@gnu.org>
110909         * config/config.sub: update from prep.
110911 2003-07-18  Paul Eggert  <eggert@twinsun.com>
110913         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
110914         Remove.
110915         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
110916         to test that it can stand by itself.  Include "exitfail.h".
110917         Clients should set exit_failure instead.
110918         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
110920 2003-07-18  Bruno Haible  <bruno@clisp.org>
110922         * modules/getndelim2: New file.
110923         * modules/getline: Share files with module getndelim2.
110924         * modules/getnline: Depend on getndelim2 instead of sharing files with
110925         it. Add getnline.c to lib_SOURCES.
110926         * MODULES.html.sh (func_all_modules): Add getndelim2.
110928 2003-07-18  Bruno Haible  <bruno@clisp.org>
110930         * m4/getndelim2.m4: New file.
110931         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
110932         invoke gl_PREREQ_GETNDELIM2.
110933         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
110934         gl_PREREQ_GETNDELIM2.
110935         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
110936         gl_GETNDELIM2.
110938 2003-07-18  Bruno Haible  <bruno@clisp.org>
110940         * lib/getndelim2.h: New file.
110941         * lib/getndelim2.c: Make into a module of its own. Include config.h,
110942         getndelim2.h.
110943         (getndelim2): Make non-static. Change return type to ssize_t.
110944         * lib/getline.h: Change argument names.
110945         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
110946         * lib/getnline.c: Include getndelim2.h.
110948 2003-07-18  Andreas Schwab  <schwab@suse.de>
110950         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
110952 2003-07-17  Karl Berry  <karl@gnu.org>
110954         * config/config.sub: update from prep.
110956 2003-07-17  Bruno Haible  <bruno@clisp.org>
110958         * modules/getnline: New file.
110959         * modules/getline: Add lib/getndelim2.c to source file list.
110960         * MODULES.html.sh (func_all_modules): Add getnline.
110962 2003-07-17  Bruno Haible  <bruno@clisp.org>
110964         * m4/getnline.m4: New file.
110966 2003-07-17  Bruno Haible  <bruno@clisp.org>
110968         * m4/Makefile.am.in: Remove file.
110969         * m4/Makefile.am: Remove file.
110970         * m4/Makefile.in: Remove file.
110972 2003-07-17  Bruno Haible  <bruno@clisp.org>
110974         * lib/getnline.h: New file.
110975         * lib/getnline.c: New file.
110976         * lib/getndelim2.c: New file, extracted from getline.c.
110977         (getndelim2): Renamed from getdelim2, with added nmax argument.
110978         * lib/getline.c: Include getndelim2.c.
110979         (getdelim2): Moved out to getndelim2.c.
110980         (getline, getdelim): Update.
110982 2003-07-17  Bruno Haible  <bruno@clisp.org>
110984         * lib/Makefile.am: Remove file.
110985         * lib/Makefile.in: Remove file.
110987 2003-07-17  Bruno Haible  <bruno@clisp.org>
110989         * configure.in: Remove file.
110990         * Makefile.in: Remove file.
110992 2003-07-17  Bruno Haible  <bruno@clisp.org>
110994         * MODULES.html.sh: Put the </BODY> right before </HTML>.
110996 2003-07-16  Karl Berry  <karl@gnu.org>
110998         * config/srclist-update: was running fixlicense twice, which caused
110999                 texinfo.tex to be nullified for some reason.  Simplify,
111000                 $gplsrc is no longer needed as far as I can see?
111002 2003-07-16  Jim Meyering  <jim@meyering.net>
111004         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
111006 2003-07-15  Paul Eggert  <eggert@twinsun.com>
111008         * config/srclist.txt: Get the following files from gettext-runtime/intl
111009         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
111010         ref-del.sin.  From Bruno Haible.
111011         * config/srclist-update (fixfile): Change grep pattern again, since the
111012         previous fix didn't work (there was another trailing $).  Use
111013         '[$]' to escape the $s.
111015 2003-07-15  Karl Berry  <karl@gnu.org>
111017         * lib/vasnprintf.c: update from gettext.
111019 2003-07-15  Karl Berry  <karl@gnu.org>
111021         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
111022         gets expanded when surrounded by '$'.
111024 2003-07-15  Jim Meyering  <jim@meyering.net>
111026         * modules/save-cwd: Don't depend on error.  From Derek Price.
111028 2003-07-15  Jim Meyering  <jim@meyering.net>
111030         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
111032 2003-07-14  Simon Josefsson  <jas@extundo.com>
111034         * modules/mempcpy: New file.
111035         * MODULES.html.sh (func_all_modules): Add mempcpy.
111037 2003-07-14  Simon Josefsson  <jas@extundo.com>
111039         * m4/mempcpy.m4: New file.
111041 2003-07-14  Simon Josefsson  <jas@extundo.com>
111043         * lib/mempcpy.h: New file.
111044         * lib/mempcpy.c: New file.
111046 2003-07-14  Paul Eggert  <eggert@twinsun.com>
111048         * modules/getdate, modules/posixtm: Depend on mktime.
111050 2003-07-14  Paul Eggert  <eggert@twinsun.com>
111052         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
111053         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
111054         unicodeio.c, unicodeio.h, unlocked-io.h:
111055         Switch from LGPL to GPL.
111057 2003-07-14  Paul Eggert  <eggert@twinsun.com>
111059         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
111060         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
111061         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
111062         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
111063         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
111064         updated automatically by ../config/srclist-update.  This changes
111065         their license from LPGL to GPL.
111067 2003-07-14  Paul Eggert  <eggert@twinsun.com>
111069         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
111070         assumed to refer to the root of the most recent stable gettext version.
111071         * config/srclistvars.sh: Add defaults for eggert.
111072         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
111073         Match "This program" as well as "The program".  This is needed
111074         for gettext.
111076 2003-07-14  Jim Meyering  <jim@meyering.net>
111078         Don't emit diagnostics.  Let callers do that.
111079         * lib/save-cwd.c: Don't include "error.h".
111080         (save_cwd): Don't call error.  Ensure that errno is valid
111081         when returning nonzero.
111083         * lib/save-cwd.h (restore_cwd): Update prototype.
111084         * lib/save-cwd.c (restore_cwd): Remove two parameters.
111085         Simplify.  Don't call error upon failure.  Let callers do that.
111086         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
111087         when auditing is enabled.  But don't bother updating the #if.
111089 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
111091         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
111092         it breaks C++ compilation.
111093         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
111095 2003-07-10  Simon Josefsson  <jas@extundo.com>
111097         * modules/strchrnul (Makefile.am): Add strchrnul.h.
111099 2003-07-10  Jim Meyering  <jim@meyering.net>
111101         * m4/clock_time.m4: Remove trailing blank.
111102         * m4/intmax_t.m4: Likewise.
111104 2003-07-10  Jim Meyering  <jim@meyering.net>
111106         * lib/vasnprintf.c: Remove trailing blanks.
111107         Make cpp indentation consistent.
111109 2003-07-09  Paul Eggert  <eggert@twinsun.com>
111111         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
111112         posixver.c, strftime.c, strnlen.c, strverscmp.c:
111113         Switch from LGPL to GPL.
111115 2003-07-09  Paul Eggert  <eggert@twinsun.com>
111117         * config/srclist.txt: Sort sublists.  Add
111118         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
111119         that differ from gnulib for one reason or another; we'd like this list
111120         to be smaller but for now let's document what we have.
111122 2003-07-08  Paul Eggert  <eggert@twinsun.com>
111124         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
111125         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
111126         and sweeter "eval x=$x".
111127         * config/srclist.txt: Get lib/argp* from glibc.
111129 2003-07-07  Paul Eggert  <eggert@twinsun.com>
111131         * lib/mktime.c: Fix some boundary cases and remove need for floating
111132         point.
111134         Issue a compile-time diagnostic if time_t is floating point, or if
111135         two's complement arithmetic is not in effect, or if arithmetic
111136         right shift does not propagate the sign.  These assumptions were
111137         all in the original code but they weren't checked.
111139         (TIME_T_MIDPOINT, verify): New macros.
111140         (__isleap): Remove; it has integer overflow problems.
111141         (leapyear): New function, without those problems.
111142         (ydhms_tm_diff): Remove; splitting into two parts.
111143         (ydhms_diff): New function, containing the arithmetic part of
111144         the old ydhms_tm_diff function.  Issue a compile-time
111145         diagnostic if we are not using C99 integer division.
111146         Avoid casts when possible.
111147         (guess_time_tm): New function, containing the checking part of
111148         the old ydhms_tm_diff function.  Return the new value, rather than
111149         the difference between it and the old.  Accept a new argument T
111150         so that *T specifies the old value.  Check for overflow in the result.
111152         (__mktime_internal): Use a time_t offset, not a long int offset.
111153         This undoes the 2003-06-04 change, which is no longer needed now
111154         that we have better overflow checking.
111155         (localtime_offset): Likewise.
111157         (__mktime_internal): Avoid harmful overflow on hosts where time_t
111158         and long are 64-bit but int is only 32-bit.
111159         (ydhms_diff): Use long int to store year1 and yday1.
111160         Issue a compile-time diagnostic if long int is not wide enough.
111162         (__mktime_internal): Use long int to store adjusted year and yday.
111163         Use plain C rather than preprocessor commands, if that doesn't
111164         affect efficiency.
111165         Check for overflow (and try to repair) after each probe
111166         rather than checking only at the very end.  This avoids some bugs
111167         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
111168         does not equal GMT offset at maximum time).
111169         Use integer to check for overflow rather than floating point; this
111170         is more portable to non-IEEE hosts, and is a tad faster.
111171         When we detect that we are oscillating between two values,
111172         don't check whether tm_isdst has the requested value, since
111173         we already know the answer.  When tm_isdst has the wrong value,
111174         use a different heuristic to find the right one, based on the
111175         extreme values actually observed in practice in tz2003a,
111176         rather than the (overly optimistic) "previous 3 calendar quarters".
111178         (not_equal_tm, print_tm, check_result): Use "const T" rather than
111179         "T const" to accommodate glibc style.
111180         (check_result): Use less-confusing report format.  "long" -> "long int.
111181         (main): Likewise.
111182         Don't loop if the iteration overflows time_t.
111183         Allow a negative step in the iteration.
111185 2003-07-06  Karl Berry  <karl@gnu.org>
111187         * config/depcomp: update from automake.
111188         * config/config.sub: update from prep.
111190 2003-07-03  Karl Berry  <karl@gnu.org>
111192         * config/config.guess: update from prep.
111194 2003-07-01  Paul Eggert  <eggert@twinsun.com>
111196         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
111197         xreadlink.c now includes it unconditionally.
111199 2003-07-01  Paul Eggert  <eggert@twinsun.com>
111201         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
111202         having it depend on HAVE_SYS_TYPES_H.
111204 2003-07-01  Bruno Haible  <bruno@clisp.org>
111206         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
111207         <sys/types.h> should be sufficient.
111208         Reported by Paul Eggert.
111210 2003-06-26  Karl Berry  <karl@gnu.org>
111212         * config/depcomp: update from automake.
111214 2003-06-26  Bruno Haible  <bruno@clisp.org>
111216         * modules/human: Depend on module stdbool.
111218 2003-06-25  Bruno Haible  <bruno@clisp.org>
111220         * modules/readlink: New file.
111221         * modules/xreadlink: Depend on it.
111222         * MODULES.html.sh (func_all_modules): Add readlink.
111224 2003-06-25  Bruno Haible  <bruno@clisp.org>
111226         * m4/readlink.m4: New file.
111228 2003-06-25  Bruno Haible  <bruno@clisp.org>
111230         * lib/readlink.c: New file.
111232 2003-06-22  Karl Berry  <karl@gnu.org>
111234         * config/srclist.txt: update mkinstalldirs from automake.
111235         * config/mkinstalldirs: update.
111237 2003-06-22  Bruno Haible  <bruno@clisp.org>
111239         Portability to mingw32.
111240         * m4/ssize_t.m4: New file, from GNU gettext.
111241         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
111242         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
111244 2003-06-22  Bruno Haible  <bruno@clisp.org>
111246         * modules/safe-read: Add m4/ssize_t.m4.
111247         * modules/xreadlink: Add m4/ssize_t.m4.
111249 2003-06-20  Bruno Haible  <bruno@clisp.org>
111251         Assume C89, so PARAMS isn't needed.
111252         * lib/unicodeio.h (PARAMS): Remove.
111253         * lib/unicodeio.c: Don't use PARAMS.
111255 2003-06-18  Karl Berry  <karl@gnu.org>
111257         * config/config.{guess,sub}: update from prep.
111259 2003-06-18  Jim Meyering  <jim@meyering.net>
111261         Merge changes from coreutils.
111262         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
111263         Remove explicit declarations of xmalloc and realloc.
111264         Include xalloc.h.
111265         (read_utmp): Remove anachronistic cast of xmalloc.
111267 2003-06-17  Paul Eggert  <eggert@twinsun.com>
111269         Assume C89, so PARAMS isn't needed.
111270         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
111271         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
111272         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
111273         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
111274         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
111275         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
111276         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
111277         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
111278         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
111279         lib/xstrtod.h, lib/xstrtol.h: Likewise.
111280         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
111281         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
111282         no longer needed. Anyway, config.h should always be included before any
111283         other file.
111285 2003-06-11  Simon Josefsson  <jas@extundo.com>
111287         * modules/sysexits: New file.
111288         * MODULES.html.sh (func_all_modules): Add sysexits.
111290 2003-06-11  Simon Josefsson  <jas@extundo.com>
111292         * lib/sysexit_.h: New file.
111294 2003-06-11  Derek Price  <derek@ximbiot.com>
111296         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
111297         necessary.
111299 2003-06-11  Bruno Haible  <bruno@clisp.org>
111301         * m4/sysexits.m4: New file.
111303 2003-06-10  Simon Josefsson  <jas@extundo.com>
111305         * lib/argp.h: New file, from glibc.
111306         * lib/argp-ba.c: New file, from glibc.
111307         * lib/argp-eexst.c: New file, from glibc.
111308         * lib/argp-fmtstream.c: New file, from glibc.
111309         * lib/argp-fmtstream.h: New file, from glibc.
111310         * lib/argp-fs-xinl.c: New file, from glibc.
111311         * lib/argp-help.c: New file, from glibc.
111312         * lib/argp-namefrob.h: New file, from glibc.
111313         * lib/argp-parse.c: New file, from glibc.
111314         * lib/argp-pv.c: New file, from glibc.
111315         * lib/argp-pvh.c: New file, from glibc.
111316         * lib/argp-xinl.c: New file, from glibc.
111318 2003-06-10  Simon Josefsson  <jas@extundo.com>
111320         * modules/strchrnul: New file.
111322 2003-06-10  Simon Josefsson  <jas@extundo.com>
111324         * modules/argp: New file.
111326 2003-06-10  Simon Josefsson  <jas@extundo.com>
111328         * m4/strchrnul.m4: New file.
111330 2003-06-10  Simon Josefsson  <jas@extundo.com>
111332         * lib/strchrnul.h: New file.
111333         * lib/strchrnul.c: New file.
111335 2003-06-10  Bruno Haible  <bruno@clisp.org>
111337         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
111339 2003-06-07  Karl Berry  <karl@gnu.org>
111341         * config/config.{guess,sub}: update from prep.
111343 2003-06-07  Jim Meyering  <jim@meyering.net>
111345         * modules/strtod: Use $(...) notation, not @...@ for
111346         AC_REPLACE'd variables.
111347         * modules/localcharset: Likewise.
111349 2003-06-07  Jim Meyering  <jim@meyering.net>
111351         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
111352         in place of my name in the copyright comment.
111353         Remove definition and uses of __P.
111355         From coreutils.
111356         * lib/stat.c: Don't declare xmalloc explicitly.
111357         Instead, include "xalloc.h".
111358         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
111359         xrealloc, and xcalloc return values.
111360         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
111361         Improve comment.
111362         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
111364 2003-06-07  Bruno Haible  <bruno@clisp.org>
111366         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
111367         avoid AC_CONFIG_LINKS.
111368         * modules/fnmatch (Makefile.am): Use explicit creation rule for
111369         fnmatch.h, to avoid AC_CONFIG_LINKS.
111370         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
111372 2003-06-07  Bruno Haible  <bruno@clisp.org>
111374         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
111375         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
111376         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
111377         directory.
111378         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
111379         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
111380         directory.
111382 2003-06-06  Jim Meyering  <jim@meyering.net>
111384         Merge from coreutils.
111385         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
111386         Consolidate declarations and initializations of *_base* locals.
111388         Merge from coreutils.
111389         This avoids a core dump on systems without GNU putenv,
111390         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
111391         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
111392         (unsetenv): New static function, from GNU libc.
111393         (rpl_putenv): Use it.
111395         * lib/modechange.c: Remove trailing blanks.
111397         Merge from coreutils.
111398         * lib/fsusage.c: Remove declaration of statfs.
111399         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
111401         * lib/posixtm.c: Include <stdbool.h> unconditionally.
111403 2003-06-06  Jim Meyering  <jim@meyering.net>
111405         * lib/stdbool_.h: Renamed from stdbool.h.in.
111407 2003-06-06  Jim Meyering  <jim@meyering.net>
111408             Bruno Haible  <bruno@clisp.org>
111410         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
111411         Adjust Makefile.am snippet not to redirect directly to target.
111412         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
111414 2003-06-05  Paul Eggert  <eggert@twinsun.com>
111416         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
111417         mismatch, look in future quarters as well as past.  This fixes a
111418         bug when processing fall-backwards gaps immediately after a long
111419         period of daylight-saving time.
111421         * lib/mktime.c: Assume freestanding C89 or better.
111422         (HAVE_LIMITS_H): Remove.  Assume it's 1.
111423         (__P): Remove; not used.
111424         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
111425         (mktime, not_equal_tm, print_tm, check_result,
111426         main): Use prototypes.  Use const * where appropriate.
111427         (main): Fix typo in testing code that uncovered by above changes.
111428         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
111430 2003-06-04  Paul Eggert  <eggert@twinsun.com>
111432         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
111433         locale.h, localeconv.  This merges changes from coreutils.
111435         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
111436         It can be removed after the next Autoconf is released.
111437         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
111438         needed.
111440 2003-06-04  Paul Eggert  <eggert@twinsun.com>
111442         * lib/mktime.c: Fix Debian bug 177940
111443         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
111444         (localtime_offset): Now long int, not time_t, because we want it
111445         to be guaranteed to be signed.  All uses changed.
111446         (__mktime_internal): If overflow would occur when adding offset,
111447         don't add it.
111449         Merge 'human' changes from coreutils.  Rewrite to support
111450         locale-specific notations like thousands separators.
111451         * lib/human.c: Simplify authorship notice.
111452         Include human.h immediately after config.h.
111453         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
111454         <limits.h>: Do not include, since human.h does.
111455         (SIZE_MAX, UINTMAX_MAX): New macros.
111456         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
111457         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
111458         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
111459         (power_letter): Renamed from suffixes.
111460         (generate_suffix_backwards): Remove.
111461         (adjust_value): Now takes int style (because of human.h changes)
111462         and long double value (for greater precision on some platforms).
111463         (group_number): New function.
111464         (human_readable): Use it.  Use integer options, not enum.
111465         Put the options before the sizes in the arg list.
111466         Support all the new options.
111467         The old human_readable function has been removed;
111468         use inttostr.h instead.
111469         (human_readable, default_block_size, humblock):
111470         Use uintmax_t, not int, for block sizes.
111471         (human_readable_inexact, block_size_types): Remove.
111472         (block_size_opts): New constant.
111473         (human_options): Renamed from human_block_size, with new signature
111474         that allows block sizes up to UINTMAX_MAX.  All callers changed.
111475         * lib/human.h: Add copyright and authorship notice.
111476         Include <limits.h> and <stdbool.h> unconditionally.
111477         (PARAMS): Remove.  All uses removed.
111478         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
111479         (enum human_inexact_style): Remove tag; now a nameless enum.
111480         (human_floor, human_ceiling, human_round_to_even): Now have
111481         values 2, 0, 1 rather than -1, 1, 0.
111482         (human_group_digits, human_suppress_point_zero, human_autoscale,
111483         human_base_1024, human_SI, human_B): New constants.
111484         (human_readable_inexact, human_block_size): Remove.
111485         (human_readable): Size args are now uintmax_t, not int.
111486         (human_options): New decl.
111488         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
111489         unnecessary now that we assume C89 or better.  This change
111490         imported from coreutils.
111492         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
111493         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
111494         in the 2003-05-30 sync from glibc.
111496         .h files should stand alone, but we shouldn't include <sys/types.h>
111497         if we can get away with just <stddef.h>.
111499         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
111500         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
111501         rather than <sys/types.h>, as we merely need size_t.
111502         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
111503         to get size_t.
111504         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
111505         Include <stdio.h>, to get FILE.
111506         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
111507         memcasecmp.h has included <stddef.h> and all we need is size_t.
111508         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
111509         our interface, instead of including <sys/types.h>
111511 2003-06-04  Paul Eggert  <eggert@twinsun.com>
111513         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
111514         now, as glibc mktime is buggy on non-glibc systems.
111516 2003-06-03  Karl Berry  <karl@gnu.org>
111518         * config/config.sub: update from prep.
111520 2003-06-02  Paul Eggert  <eggert@twinsun.com>
111522         [from coreutils]
111523         Fix some minor time-related bugs with POSIX time arguments.
111524         Some valid time stamps were being rejected (notably -1, and
111525         time stamps before 1900 on 64-bit hosts).  And some invalid
111526         time stamps were being accepted, e.g. September 31.
111528         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
111529         that we can return (time_t) -1 successfully.
111530         * lib/posixtm.c: Likewise.
111531         [HAVE_STDBOOL_H]: Include <stdbool.h>.
111532         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
111533         (t): Remove static var.
111534         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
111535         of static var.  All uses changed.
111536         (year): Do not reject years before 1900; they can occur with
111537         64-bit time_t.
111538         (posix_time_parse): Do not check for out-of-range components;
111539         that is now the caller's responsibility, since our checks were
111540         only approximations.
111541         (posixtime): Use mktime to check for out-of-range components,
111542         since it knows them exactly.
111543         If mktime returns (time_t) -1, check whether an error actually occurred
111544         by invoking localtime on -1.
111545         (main) [TEST_POSIXTIME]: Check for input data errors, and report
111546         posixtime failures better.
111547         Improve the test data (in comments only).
111549 2003-06-02  Karl Berry  <karl@gnu.org>
111551         * config/mkinstalldirs (version): new variable.
111552         (--version): new option.
111553         (usage): improve message.
111555 2003-05-30  Karl Berry  <karl@gnu.org>
111557         * lib/mktime.c: update from libc.
111559 2003-05-30  Bruno Haible  <bruno@clisp.org>
111561         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
111562         * config/config.rpath: Upgrade to gettext-0.12.1.
111564 2003-05-30  Bruno Haible  <bruno@clisp.org>
111566         * m4/gettext.m4: Upgrade to gettext-0.12.1.
111567         * m4/nls.m4: New file, from gettext-0.12.1.
111568         * m4/po.m4: New file, from gettext-0.12.1.
111569         * m4/progtest.m4: Upgrade to gettext-0.12.1.
111571 2003-05-30  Bruno Haible  <bruno@clisp.org>
111573         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
111574         * lib/localcharset.h: Likewise.
111575         * lib/localcharset.c: Likewise.
111577 2003-05-29  Karl Berry  <karl@gnu.org>
111579         * config/config.rpath: update from gettext.
111581 2003-05-28  Paul Eggert  <eggert@twinsun.com>
111583         Assume the headers required for C89 freestanding compilers.
111584         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
111585         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
111586         * m4/human.m4 (gl_HUMAN): Likewise.
111587         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
111588         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
111589         * m4/userspec.m4 (gl_USERSPEC): Likewise.
111590         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
111591         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
111592         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
111594 2003-05-28  Paul Eggert  <eggert@twinsun.com>
111596         Assume the headers required for C89 freestanding compilers.
111597         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
111598         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
111599         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
111600         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
111601         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
111602         define, since <limits.h> is guaranteed to do that.
111603         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
111604         * lib/exclude.c: Include <stdbool.h> unconditionally.
111605         * lib/tempname.c: Include <stddef.h> unconditionally.
111606         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
111607         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
111608         <stddef.h> does that.
111609         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
111610         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
111611         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
111612         needed.
111613         * lib/xstrtol.c: Likewise.
111614         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
111615         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
111617         * lib/addext.c (addext): Use assignment rather than cast, to avoid
111618         warnings on some platforms.
111620         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
111621         arbitrarily.
111623 2003-05-26  Jim Meyering  <jim@meyering.net>
111625         Merge in a change from coreutils:
111626         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
111627         that is guaranteed to be `no'.  Use `no_such_member' to indicate
111628         that condition, rather than `-1' which is slightly misleading.
111629         Change the name of the cache variable to have the gl_ prefix.
111630         Prompted by a patch from Richard Dawe for DJGPP.
111632 2003-05-24  Karl Berry  <karl@gnu.org>
111634         * config/config.guess: update from prep.
111636 2003-05-22  Karl Berry  <karl@gnu.org>
111638         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
111640 2003-05-20  Karl Berry  <karl@gnu.org>
111642         * config/config.guess: update from prep.
111644 2003-05-18  Karl Berry  <karl@gnu.org>
111646         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
111647         might actually be set by the user.
111649         * config/depcomp, install-sh, mdate-sh: update from automake.
111651 2003-05-17  Bruno Haible  <bruno@clisp.org>
111653         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
111654         invalid expansion for AC_EGREP_CPP.
111655         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
111656         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
111657         Suggested by Akim Demaille <akim@epita.fr> in
111658         http://mail.gnu.org/r/bug-autoconf/2003-05/threads.html
111660 2003-05-12  Jim Meyering  <jim@meyering.net>
111662         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
111663         the space-padded-by-default conversion specifiers, %e, %k, %l.
111665 2003-05-12  Bruno Haible  <bruno@clisp.org>
111667         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
111668         the string is longer than 4 KB.
111670 2003-05-11  Karl Berry  <karl@gnu.org>
111672         * config/config.{guess,sub}: update from prep.
111674 2003-05-09  Bruno Haible  <bruno@clisp.org>
111676         * modules/error: Add m4/strerror_r.m4 to file list.
111678 2003-05-03  Bruno Haible  <bruno@clisp.org>
111680         Upgrade to Unicode-4.0.
111681         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
111682         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
111683         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
111684         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
111685         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
111686         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
111687         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
111688         Change width of U+E0100..U+E01EF from 1 to 0.
111690 2003-04-25  Jim Meyering  <jim@meyering.net>
111692         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
111693         of type size_t, not int.
111695 2003-04-25  Bruno Haible  <bruno@clisp.org>
111697         * lib/copy-file.c: Include <stddef.h>, for size_t.
111699 2003-04-21  Paul Eggert  <eggert@twinsun.com>
111701         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
111702         code which expansion is under static control.  Patch imported from
111703         Akim Demaille's patch to Bison; see
111704         <http://mail.gnu.org/r/bison-patches/2003-03/msg00057.html>.
111706 2003-04-14  Bruno Haible  <bruno@clisp.org>
111708         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
111710 2003-04-11  Jim Meyering  <jim@meyering.net>
111712         Merge changes from Coreutils.
111714         2003-03-22  Jim Meyering  <jim@meyering.net>
111716         * lib/strftime.c (widen): Cast alloca return value to proper type.
111718         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
111720         From GNU libc.
111721         * lib/strftime.c (my_strftime): Handle very large width
111722         specifications for numeric values correctly.  Improve checks for
111723         overflow.
111725         2003-01-19  Jim Meyering  <jim@meyering.net>
111727         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
111728         definitions.
111729         (nl_get_alt_digit) [! defined my_strftime]: Define.
111730         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
111731         _nl_get_alt_digit and _nl_get_walt_digit.
111733         * lib/strftime.c (my_strftime): Merge in locale-related changes from
111734         libc. These changes have no effect outside of _LIBC.
111736 2003-04-10  Bruno Haible  <bruno@clisp.org>
111738         * modules/findprog: New file.
111739         * MODULES.html.sh (func_all_modules): Add it.
111741 2003-04-10  Bruno Haible  <bruno@clisp.org>
111743         * m4/findprog.m4: New file.
111744         * m4/eaccess.m4: New file.
111746 2003-04-10  Bruno Haible  <bruno@clisp.org>
111748         * lib/findprog.h: New file, from GNU gettext.
111749         * lib/findprog.c: New file, from GNU gettext.
111751 2003-04-05  Jim Meyering  <jim@meyering.net>
111753         Merge changes from Coreutils.
111755         * lib/exclude.h (PARAMS): Remove definition and uses.
111756         * lib/exclude.c: Remove uses of `PARAMS'.
111758         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
111759         Add test-cases for DOS filenames. Declare program_name.
111760         (main): Set up program_name.  Patch by Rich Dawe.
111762         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
111763         error from mntctl.
111764         Use mntctl's return value to drive the entry-processing loop, since
111765         we can't rely on the value of the vmt_length member in the last
111766         entry.  On some systems doing so could result in exhausting
111767         virtual memory.  Based in part on a patch from Mike Jetzer.
111769 2003-04-04  Bruno Haible  <bruno@clisp.org>
111771         * modules/linebreak: New file.
111772         * MODULES.html.sh (func_all_modules): Add it.
111774 2003-04-04  Bruno Haible  <bruno@clisp.org>
111776         * m4/linebreak.m4: New file.
111778 2003-04-04  Bruno Haible  <bruno@clisp.org>
111780         * lib/linebreak.h: New file, from GNU gettext.
111781         * lib/linebreak.c: New file, from GNU gettext with slight
111782         modifications.
111783         * lib/lbrkprop.h: New file, from GNU gettext.
111785 2003-04-03  Bruno Haible  <bruno@clisp.org>
111787         * modules/utf8-ucs4: New file.
111788         * modules/utf16-ucs4: New file.
111789         * modules/ucs4-utf8: New file.
111790         * modules/ucs4-utf16: New file.
111791         * MODULES.html.sh (func_all_modules): Add them.
111793 2003-04-03  Bruno Haible  <bruno@clisp.org>
111795         * m4/utf-ucs4.m4: New file.
111796         * m4/ucs4-utf.m4: New file.
111798 2003-04-03  Bruno Haible  <bruno@clisp.org>
111800         * lib/utf8-ucs4.h: New file, from GNU gettext.
111801         * lib/utf16-ucs4.h: New file, from GNU gettext.
111802         * lib/ucs4-utf8.h: New file, from GNU gettext.
111803         * lib/ucs4-utf16.h: New file, from GNU gettext.
111805 2003-04-02  Bruno Haible  <bruno@clisp.org>
111807         * modules/binary-io: New file.
111808         * MODULES.html.sh (func_all_modules): Add it.
111810 2003-04-02  Bruno Haible  <bruno@clisp.org>
111812         * lib/binary-io.h: New file, from GNU gettext.
111814 2003-04-01  Bruno Haible  <bruno@clisp.org>
111816         * modules/pathname: New file.
111817         * MODULES.html.sh (func_all_modules): Add it.
111819 2003-04-01  Bruno Haible  <bruno@clisp.org>
111821         * lib/pathname.h: New file, from GNU gettext.
111822         * lib/concatpath.c: New file, from GNU gettext.
111824 2003-03-30  Bruno Haible  <bruno@clisp.org>
111826         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
111828 2003-03-30  Bruno Haible  <bruno@clisp.org>
111830         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
111831         function chown() doesn't exist.
111833 2003-03-28  Bruno Haible  <bruno@clisp.org>
111835         * modules/copy-file: New file.
111836         * MODULES.html.sh (func_all_modules): Add it.
111838 2003-03-28  Bruno Haible  <bruno@clisp.org>
111840         * m4/copy-file.m4: New file.
111842 2003-03-28  Bruno Haible  <bruno@clisp.org>
111844         * lib/copy-file.h: New file, from GNU gettext.
111845         * lib/copy-file.c: New file, from GNU gettext.
111847 2003-03-18  Jim Meyering  <jim@meyering.net>
111849         * lib/quote.c (quote_n): Fix typo in comment.
111851 2003-03-18  Bruno Haible  <bruno@clisp.org>
111853         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
111854         checking.
111855         * m4/onceonly_2_57.m4: Likewise.
111857 2003-03-17  Bruno Haible  <bruno@clisp.org>
111859         * m4/onceonly.m4: Require autoconf 2.54 or newer.
111860         (m4_quote): Remove macro.
111861         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
111863 2003-03-14  Jim Meyering  <jim@meyering.net>
111865         Merge changes from Coreutils.
111866         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
111867         to be const, in order to avoid warnings.
111868         (obstack_room): Likewise.
111869         (obstack_empty_p): Likewise.
111871 2003-03-14  Bruno Haible  <bruno@clisp.org>
111873         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
111874         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
111876 2003-03-13  Paul Eggert  <eggert@twinsun.com>
111878         Merge changes from Bison.
111879         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
111880         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
111881         when compiling Bison 1.875's `bitset bset = obstack_alloc
111882         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
111883         * lib/hash.c: Include <stdbool.h> unconditionally.
111885 2003-03-13  Paul Eggert  <eggert@twinsun.com>
111887         * m4/onceonly.m4 (m4_quote): New macro.
111888         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
111889         Quote AC_FOREACH variable-expansions properly.
111891 2003-03-13  Paul Eggert  <eggert@twinsun.com>
111893         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
111895 2003-03-09  Paul Eggert  <eggert@twinsun.com>
111897         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
111898         Reported by Bruce Becker; see:
111899         http://mail.gnu.org/r/bug-bison/2003-03/msg00017.html
111901 2003-03-03  Paul Eggert  <eggert@twinsun.com>
111902             Bruno Haible  <bruno@clisp.org>
111904         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
111905         Reported by John Hughes, see
111906         http://mail.gnu.org/r/bug-bison/2003-02/msg00030.html
111908 2003-02-20  Bruno Haible  <bruno@clisp.org>
111910         * MODULES.html.sh (func_all_modules): Add poll.
111912 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
111914         * modules/poll: New file.
111916 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
111918         * lib/poll_.h: New file.
111919         * lib/poll.c: New file.
111921 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
111923         * m4/poll.m4: New file.
111925 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
111927         * modules/mathl: New file.
111929 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
111931         * lib/mathl.h: New file.
111932         * lib/acosl.c: New file.
111933         * lib/asinl.c: New file.
111934         * lib/atanl.c: New file.
111935         * lib/ceill.c: New file.
111936         * lib/cosl.c: New file.
111937         * lib/expl.c: New file.
111938         * lib/floorl.c: New file.
111939         * lib/frexpl.c: New file.
111940         * lib/ldexpl.c: New file.
111941         * lib/logl.c: New file.
111942         * lib/sincosl.c: New file.
111943         * lib/sinl.c: New file.
111944         * lib/sqrtl.c: New file.
111945         * lib/tanl.c: New file.
111946         * lib/trigl.c: New file.
111947         * lib/trigl.h: New file.
111949 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
111951         * m4/mathl.m4: New file.
111953 2003-02-18  Bruno Haible  <bruno@clisp.org>
111955         * MODULES.html.sh (func_all_modules): Add mathl.
111957 2003-02-17  Bruno Haible  <bruno@clisp.org>
111959         * modules/mkdtemp: New module.
111960         * MODULES.html.sh (func_all_modules): Add it.
111962 2003-02-17  Bruno Haible  <bruno@clisp.org>
111964         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
111966 2003-02-17  Bruno Haible  <bruno@clisp.org>
111968         * lib/mkdtemp.h: New file, from GNU gettext.
111969         * lib/mkdtemp.c: New file, from GNU gettext.
111971 2003-02-02  Jim Meyering  <jim@meyering.net>
111973         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
111974         e.g. glibc-2.2.93.
111976 2003-01-31  Bruno Haible  <bruno@clisp.org>
111978         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
111979         'rpl_rename'.
111980         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
111981         'rpl_strnlen'.
111982         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
111983         'rpl_strtod'.
111984         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
111985         'rpl_utime'.
111987 2003-01-31  Bruno Haible  <bruno@clisp.org>
111989         * lib/rename.c: #undef rename before defining rpl_rename.
111990         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
111992 2003-01-30  Bruno Haible  <bruno@clisp.org>
111994         * modules/vasnprintf, modules/vasprintf: New modules.
111995         * MODULES.html.sh (func_all_modules): Add them.
111997 2003-01-30  Bruno Haible  <bruno@clisp.org>
111999         * m4/signed.m4: New file, from GNU gettext.
112000         * m4/longdouble.m4: New file, from GNU gettext.
112001         * m4/wchar_t.m4: New file, from GNU gettext.
112002         * m4/wint_t.m4: New file, from GNU gettext.
112003         * m4/vasnprintf.m4: New file.
112004         * m4/vasprintf.m4: New file.
112006 2003-01-30  Bruno Haible  <bruno@clisp.org>
112008         * lib/printf-args.h: New file, from GNU gettext.
112009         * lib/printf-args.c: New file, from GNU gettext.
112010         * lib/printf-parse.h: New file, from GNU gettext.
112011         * lib/printf-parse.c: New file, from GNU gettext.
112012         * lib/vasnprintf.h: New file, from GNU gettext.
112013         * lib/vasnprintf.c: New file, from GNU gettext.
112014         * lib/asnprintf.c: New file, from GNU gettext.
112015         * lib/vasprintf.h: New file, from GNU gettext with modifications.
112016         * lib/vasprintf.c: New file, from GNU gettext.
112017         * lib/asprintf.c: New file, from GNU gettext.
112019 2003-01-29  Bruno Haible  <bruno@clisp.org>
112021         * modules/stpncpy: New module.
112022         * MODULES.html.sh (func_all_modules): Add it.
112024 2003-01-29  Bruno Haible  <bruno@clisp.org>
112026         * m4/stpncpy.m4: New file.
112028 2003-01-29  Bruno Haible  <bruno@clisp.org>
112030         * lib/stpncpy.h: New file, from GNU gettext with modifications.
112031         * lib/stpncpy.c: New file, from GNU gettext with modifications.
112033 2003-01-28  Bruno Haible  <bruno@clisp.org>
112035         * modules/c-ctype: New module.
112036         * MODULES.html.sh (func_all_modules): Add it.
112038 2003-01-28  Bruno Haible  <bruno@clisp.org>
112040         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
112041         Paul Eggert.
112042         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
112043         Paul Eggert.
112045 2003-01-27  Bruno Haible  <bruno@clisp.org>
112047         * modules/xsetenv: New module.
112048         * MODULES.html.sh (func_all_modules): Add it.
112050 2003-01-27  Bruno Haible  <bruno@clisp.org>
112052         * lib/xsetenv.h: New file, from GNU gettext.
112053         * lib/xsetenv.c: New file, from GNU gettext.
112055 2003-01-23  Jim Meyering  <jim@meyering.net>
112057         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
112058         from working on systems without dirfd (at least Irix and OSF1/Tru64).
112060 2003-01-23  Bruno Haible  <bruno@clisp.org>
112062         * modules/minmax: New module.
112063         * MODULES.html.sh (func_all_modules): Add it.
112065 2003-01-23  Bruno Haible  <bruno@clisp.org>
112067         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
112068         Eggert.
112070 2003-01-22  Bruno Haible  <bruno@clisp.org>
112072         * modules/exit: New module.
112073         * MODULES.html.sh (func_all_modules): Add it.
112075 2003-01-22  Bruno Haible  <bruno@clisp.org>
112077         * lib/exit.h: New file, from GNU gettext.
112079 2003-01-19  Bruno Haible  <bruno@clisp.org>
112081         * gnulib-tool: Recognize option --extract-maintainer.
112082         (func_get_maintainer): New function.
112083         * modules/*: Add Maintainer entry.
112085 2003-01-16  Jim Meyering  <jim@meyering.net>
112087         * m4/regex.m4: The `regex' struct is both input and output.
112088         Initialize it before each use.  Patch by Tim Waugh.
112090 2003-01-16  Bruno Haible  <bruno@clisp.org>
112092         * MODULES.html.sh: Add a table of contents. Add the module name as
112093         leftmost column. Add hyperlinks.
112095 2003-01-15  Bruno Haible  <bruno@clisp.org>
112097         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
112099 2003-01-15  Bruno Haible  <bruno@clisp.org>
112101         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
112102         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
112103         suffix.
112105 2003-01-15  Bruno Haible  <bruno@clisp.org>
112107         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
112109 2003-01-15  Bruno Haible  <bruno@clisp.org>
112111         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
112112         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
112114 2003-01-14  Jim Meyering  <jim@meyering.net>
112116         * lib/same.c (same_name): Tweak a comment.
112118 2003-01-14  Bruno Haible  <bruno@clisp.org>
112120         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
112121         when a string comparison is sufficient.
112123 2003-01-14  Bruno Haible  <bruno@clisp.org>
112125         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
112126         'unsigned int'.
112128 2003-01-14  Bruno Haible  <bruno@clisp.org>
112130         * lib/hash-pjw.c: Add comment about low quality of this function.
112132 2003-01-13  Bruno Haible  <bruno@clisp.org>
112134         * modules/stpcpy: Distribute lib/stpcpy.h.
112135         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
112137 2003-01-13  Bruno Haible  <bruno@clisp.org>
112139         * modules/*: Add a description.
112140         * modules/strpbrk: Fix Makefile.am snippet.
112141         * modules/strtoimax: Fix dependencies.
112142         * modules/strtoumax: Likewise.
112144 2003-01-13  Bruno Haible  <bruno@clisp.org>
112146         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
112147         * modules/alloca (Makefile.am): All object files depend on alloca.h.
112148         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
112150 2003-01-13  Bruno Haible  <bruno@clisp.org>
112152         * gnulib-tool (func_create_testdir): Store config/* files in the main
112153         directory.
112154         * config.rpath: Move to ...
112155         * config/config.rpath: ... here.
112156         * modules/gettext: Contains config/config.rpath, not config.rpath.
112157         * modules/iconv: Likewise.
112159 2003-01-12  Paul Eggert  <eggert@twinsun.com>
112161         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
112162         to avoid collisions with libcurses and libreadline.
112164         * m4/getstr.m4: Remove.
112165         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
112167 2003-01-12  Paul Eggert  <eggert@twinsun.com>
112169         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
112170         to avoid collisions with libcurses and libreadline.
112172         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
112173         * lib/getstr.h, getstr.c: Remove.
112174         * lib/getline.c: Include "getline.h", to check interface.
112175         Move body of old getstr.c here: this defines MIN_CHUNK and
112176         declares getdelim2, which is renamed from getstr.
112177         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
112179         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
112180         All uses changed.
112181         * lib/linebuffer.h: Likewise.
112182         (readline): Remove backward-compatibility macro.
112184 2003-01-12  Paul Eggert  <eggert@twinsun.com>
112186         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
112187         to avoid collisions with libcurses and libreadline.
112188         * getstr: Remove.
112189         * MODULES.html.sh: Remove getstr.
112190         * modules/getline: Depend on unlocked-io, not getstr.
112192 2003-01-12  Jim Meyering  <jim@meyering.net>
112194         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
112196 2003-01-10  Bruno Haible  <bruno@clisp.org>
112198         * modules/alloca: Change Makefile.am requirements. Simplify Include
112199         requirements. Add lib/alloca_.h to file list.
112201 2003-01-10  Bruno Haible  <bruno@clisp.org>
112203         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
112205 2003-01-10  Bruno Haible  <bruno@clisp.org>
112207         * lib/alloca_.h: New file.
112208         * lib/getdate.y: Unconditionally include alloca.h.
112209         * lib/makepath.c: Likewise.
112210         * lib/setenv.c: Likewise.
112211         * lib/userspec.c: Likewise.
112213 2003-01-09  Karl Berry  <karl@gnu.org>
112215         * MODULES.html.sh: include `dirname $0` in PATH, to find
112216         gnulib-tool.
112218 2003-01-09  Bruno Haible  <bruno@clisp.org>
112220         * modules/stdbool: Change configure.ac, Makefile.am requirements.
112221         Simplify Include requirements. Add lib/stdbool.h.in to file list.
112223 2003-01-09  Bruno Haible  <bruno@clisp.org>
112225         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
112227 2003-01-09  Bruno Haible  <bruno@clisp.org>
112229         * lib/stdbool.h.in: New file.
112231 2003-01-09  Bruno Haible  <bruno@clisp.org>
112233         * gnulib-tool (func_all_modules): Ignore files ending in ~.
112234         * MODULES.html.sh: Likewise.
112236 2003-01-08  Jim Meyering  <jim@meyering.net>
112238         * lib/full-write.c: Undefine and define-away `const' after inclusion
112239         of errno.h, not before.  Suggestion from Bruno Haible.
112241 2003-01-08  Bruno Haible  <bruno@clisp.org>
112243         * modules/full-read: Depend on full-write.
112245 2003-01-08  Bruno Haible  <bruno@clisp.org>
112247         * lib/safe-read.c: Include specification header first, to ensure its
112248         selfcontainedness.
112249         * lib/full-write.c: Likewise.
112251 2003-01-07  Jim Meyering  <jim@meyering.net>
112253         * lib/full-write.c: Rework so that it may serve to define full_read,
112254         too.
112255         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
112257 2003-01-07  Bruno Haible  <bruno@clisp.org>
112259         * lib/strtoimax.c: Include <stdint.h> as an alternative to
112260         <inttypes.h>.
112261         * lib/xstrtol.h: Likewise.
112262         * lib/xstrtoimax.c: Likewise.
112263         * lib/xstrtoumax.c: Likewise.
112264         * lib/human.h: Likewise.
112266         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
112267         on systems that have <inttypes.h> but not <stdint.h>.
112269 2003-01-07  Bruno Haible  <bruno@clisp.org>
112271         * MODULES.html.sh: Add copyright notice.
112272         (missed_files): Omit CVS directory entries.
112273         (func_module): Make it work with sed-3.02.
112274         * MODULES.txt: Remove file.
112276 2003-01-06  Jim Meyering  <jim@meyering.net>
112278         * lib/version-etc.c: Update year in translatable copyright string.
112280 2003-01-03  Karl Berry  <karl@gnu.org>
112282         * config/config.{guess,sub}: update from prep.
112284 2003-01-02  Karl Berry  <karl@gnu.org>
112286         * doc/COPYING.DOC: belatedly updated to 1.2.
112288 2003-01-01  Karl Berry  <karl@gnu.org>
112290         * gnulib-tool (func_verify_module): report module name $module in
112291         error message, not $1.
112292         * gnulib-tool (create-testdir): don't complain if destdir couldn't
112293         be created, only if it doesn't exist.
112294         * gnulib-tool (last_checkin_date): don't expand the $Date here.
112296 2002-12-31  Paul Eggert  <eggert@twinsun.com>
112298         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
112300 2002-12-31  Paul Eggert  <eggert@twinsun.com>
112302         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
112303         memcmp if strcoll doesn't work.
112305 2002-12-31  Bruno Haible  <bruno@clisp.org>
112307         * lib/utime.c (utime_null): No need to call ftruncate if the file was
112308         nonempty.
112310 2002-12-31  Bruno Haible  <bruno@clisp.org>
112312         * lib/memcoll.c (STRCOLL): New macro.
112313         (memcoll): Use it.
112315 2002-12-31  Bruno Haible  <bruno@clisp.org>
112317         * lib/localcharset.h: New file.
112318         * lib/localcharset.c: Include it.
112319         * lib/unicodeio.c: Likewise.
112321 2002-12-31  Bruno Haible  <bruno@clisp.org>
112323         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
112324         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
112326 2002-12-31  Bruno Haible  <bruno@clisp.org>
112328         * lib/getline.h: Include <stddef.h>, for size_t.
112330         * lib/unicodeio.h: Include <stddef.h>, for size_t.
112331         * lib/unicodeio.c: Don't include <stddef.h>.
112333 2002-12-31  Bruno Haible  <bruno@clisp.org>
112335         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
112336         HAVE_TM_ZONE.
112338 2002-12-24  Karl Berry  <karl@gnu.org>
112340         * config/config.guess: update from prep.
112342 2002-12-24  Bruno Haible  <bruno@clisp.org>
112344         General infrasructure.
112345         * m4/README: Rewritten.
112346         * m4/onceonly.m4: New file.
112347         * m4/onceonly_2_57.m4: New file.
112349         Module atexit.
112350         * m4/atexit.m4: New file.
112352         Module strtod.
112353         * m4/strtod.m4: New file.
112355         Module strtol.
112356         * m4/strtol.m4: New file.
112358         Module strtoul.
112359         * m4/strtoul.m4: New file.
112361         Module memchr.
112362         * m4/memchr.m4: New file.
112364         Module memcmp.
112365         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
112366         (jm_FUNC_MEMCMP): Invoke it.
112368         Module memcpy.
112369         * m4/memcpy.m4: New file.
112371         Module memmove.
112372         * m4/memmove.m4: New file.
112374         Module memset.
112375         * m4/memset.m4: New file.
112377         Module strcspn.
112378         * m4/strcspn.m4: New file.
112380         Module strpbrk.
112381         * m4/strpbrk.m4: New file.
112383         Module strstr.
112384         * m4/strstr.m4: New file.
112386         Module strerror.
112387         * m4/strerror.m4: New file.
112389         Module mktime.
112390         * m4/mktime.m4: Renamed from jm-mktime.m4.
112391         (gl_PREREQ_MKTIME): New macro.
112392         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
112394         Module malloc.
112395         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
112396         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
112397         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
112399         Module realloc.
112400         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
112401         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
112402         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
112404         Module strftime.
112405         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
112406         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
112407         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
112408         gl_TM_GMTOFF.
112409         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
112411         Module xalloc.
112412         * m4/xalloc.m4: New file.
112414         Module alloca.
112415         * m4/alloca.m4: New file.
112417         Module putenv.
112418         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
112419         (jm_FUNC_PUTENV): Invoke it.
112421         Module setenv.
112422         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
112423         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
112424         when invoked twice.
112425         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
112426         gt_FUNC_SETENV.
112428         Module memrchr.
112429         * m4/memrchr.m4: New file.
112431         Module stpcpy.
112432         * m4/stpcpy.m4: New file.
112434         Module strcase.
112435         * m4/strcase.m4: New file.
112437         Module strdup.
112438         * m4/strdup.m4: New file.
112440         Module strnlen.
112441         * m4/strnlen.m4: New file.
112443         Module strndup.
112444         * m4/strndup.m4: New file.
112446         Module xstrtod.
112447         * m4/xstrtod.m4: New file.
112449         Module xstrtol.
112450         * m4/xstrtol.m4: New file.
112452         Module getdate.
112453         * m4/getdate.m4: New file.
112455         Module unlocked-io.
112456         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
112457         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
112458         * m4/jm-glibc-io.m4n: Remove file.
112460         Module long-options.
112461         * m4/long-options.m4: New file.
112463         Module md5.
112464         * m4/md5.m4: New file.
112466         Module sha.
112467         * m4/sha.m4: New file.
112469         Module getstr.
112470         * m4/getstr.m4: New file.
112472         Module getline.
112473         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
112474         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
112475         <sys/types.h>, for size_t. Use the function name gnu_getline, not
112476         simply getline. Infoke gl_PREREQ_GETLINE.
112478         Module obstack.
112479         * m4/obstack.m4: New file.
112481         Module hash.
112482         * m4/hash.m4: New file.
112484         Module readtokens.
112485         * m4/readtokens.m4: New file.
112487         Module strverscmp.
112488         * m4/strverscmp.m4: New file.
112490         Module stdbool.
112491         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
112492         OSF/1.
112494         Module strtoll.
112495         * m4/strtoll.m4: New file.
112497         Module strtoull.
112498         * m4/strtoull.m4: New file.
112500         Module strtoimax.
112501         * m4/strtoimax.m4: New file.
112503         Module strtoumax.
112504         * m4/strtoumax.m4: New file.
112506         Module xstrtoimax.
112507         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
112508         jm_AC_PREREQ_XSTRTOIMAX.
112509         Moved the strtol prerequisites to strtol.m4.
112510         Moved the strtoll prerequisites to strtoll.m4.
112511         Moved the strtoimax prerequisites to strtoimax.m4.
112513         Module xstrtoumax.
112514         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
112515         jm_AC_PREREQ_XSTRTOUMAX.
112516         Moved the strtoul prerequisites to strtoul.m4.
112517         Moved the strtoull prerequisites to strtoull.m4.
112518         Moved the strtoumax prerequisites to strtoumax.m4.
112520         Module chown.
112521         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
112522         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
112524         Module dup2.
112525         * m4/dup2.m4: New file.
112527         Module ftruncate.
112528         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
112529         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
112531         Module getgroups.
112532         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
112533         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
112535         Module gettimeofday.
112536         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
112537         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
112538         gl_PREREQ_GETTIMEOFDAY.
112540         Module mkdir.
112541         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
112542         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
112544         Module mkstemp.
112545         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
112546         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
112547         jm_AC_TYPE_UINTMAX_T.
112548         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
112550         Module stat.
112551         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
112552         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
112554         Module lstat.
112555         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
112556         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
112558         Module timespec.
112559         * m4/timespec.m4 (gl_TIMESPEC): New macro.
112560         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
112561         * m4/st_mtim.m4: Indentation.
112563         Module nanosleep.
112564         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
112565         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
112566         gl_PREREQ_NANOSLEEP.
112568         Module regex.
112569         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
112570         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
112571         (gl_REGEX): New macro.
112573         Module rename.
112574         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
112575         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
112577         Module rmdir.
112578         * m4/rmdir.m4: New file.
112580         Module utime.
112581         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
112582         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
112583         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
112585         Module dirname.
112586         * m4/dirname.m4: New file.
112588         Module getopt.
112589         * m4/getopt.m4: New file.
112591         Module unistd-safer.
112592         * m4/unistd-safer.m4: New file.
112594         Module fnmatch.
112595         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
112596         declaration.
112597         (gl_PREREQ_FNMATCH_EXTRA): New macro.
112598         (gl_FUNC_FNMATCH_POSIX): New macro.
112599         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
112600         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
112601         simply fnmatch.
112603         Module exclude.
112604         * m4/exclude.m4: New file.
112606         Module human.
112607         * m4/human.m4: New file.
112609         Module acl.
112610         * m4/acl.m4: Nop.
112612         Module backupfile.
112613         * m4/backupfile.m4: New file.
112614         * m4/d-ino.m4: Indentation.
112616         Module fsusage.
112617         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
112618         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
112619         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
112621         Module dirfd.
112622         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
112623         requirements.
112625         Module euidaccess.
112626         * m4/euidaccess.m4: New file.
112628         Module file-type.
112629         * m4/file-type.m4: New file.
112631         Module fileblocks.
112632         * m4/fileblocks.m4: New file.
112634         Module filemode.
112635         * m4/filemode.m4: New file.
112637         Module isdir.
112638         * m4/isdir.m4: New file.
112640         Module lchown.
112641         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
112642         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
112644         Module makepath.
112645         * m4/makepath.m4: New file.
112647         Module modechange.
112648         * m4/modechange.m4: New file.
112650         Module mountlist.
112651         * m4/mountlist.m4: New file.
112652         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
112653         Indentation.
112655         Module path-concat.
112656         * m4/path-concat.m4: New file.
112658         Module pathmax.
112659         * m4/pathmax.m4: New file.
112661         Module same.
112662         * m4/same.m4: New file.
112664         Module save-cwd.
112665         * m4/save-cwd.m4: New file.
112667         Module savedir.
112668         * m4/savedir.m4: New file.
112670         Module xgetcwd.
112671         * m4/xgetcwd.m4: New file.
112672         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
112674         Module xreadlink.
112675         * m4/xreadlink.m4: New file.
112677         Module safe-read.
112678         * m4/safe-read.m4: New file.
112680         Module safe-write.
112681         * m4/safe-write.m4: New file.
112683         Module closeout.
112684         * m4/closeout.m4: New file.
112686         Module stdio-safer.
112687         * m4/stdio-safer.m4: New file.
112689         Module getpass.
112690         * m4/getpass.m4: New file.
112692         Module getugroups.
112693         * m4/getugroups.m4: New file.
112695         Module group-member.
112696         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
112697         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
112699         Module idcache.
112700         * m4/idcache.m4: New file.
112702         Module userspec.
112703         * m4/userspec.m4: New file.
112705         Module gettime.
112706         * m4/clock_time.m4: New file.
112707         * m4/gettime.m4: New file.
112709         Module settime.
112710         * m4/settime.m4: New file.
112712         Module posixtm.
112713         * m4/posixtm.m4: New file.
112715         Module gethostname.
112716         * m4/gethostname.m4: New file.
112718         Module canon-host.
112719         * m4/canon-host.m4: New file.
112721         Module gettext.
112722         * m4/codeset.m4: New file, from gettext-0.11.5.
112723         * m4/gettext.m4: New file, from gettext-0.11.5.
112724         * m4/glibc21.m4: New file, from gettext-0.11.5.
112725         * m4/iconv.m4: New file, from gettext-0.11.5.
112726         * m4/intdiv0.m4: New file, from gettext-0.11.5.
112727         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
112728         * m4/inttypes.m4: New file, from gettext-0.11.5.
112729         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
112730         * m4/isc-posix.m4: New file, from gettext-0.11.5.
112731         * m4/lcmessage.m4: New file, from gettext-0.11.5.
112732         * m4/lib-ld.m4: New file, from gettext-0.11.5.
112733         * m4/lib-link.m4: New file, from gettext-0.11.5.
112734         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
112735         * m4/progtest.m4: New file, from gettext-0.11.5.
112736         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
112737         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
112738         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
112740         Module localcharset.
112741         * m4/localcharset.m4: New file.
112743         Module hard-locale.
112744         * m4/hard-locale.m4: New file.
112746         Module mbswidth.
112747         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
112748         onceonly macros.
112749         * m4/mbrtowc.m4: Add comment.
112751         Module memcasecmp.
112752         * m4/memcasecmp.m4: New file.
112754         Module memcoll.
112755         * m4/memcoll.m4: New file.
112757         Module unicodeio.
112758         * m4/unicodeio.m4: New file.
112760         Module rpmatch.
112761         * m4/rpmatch.m4: New file.
112763         Module yesno.
112764         * m4/yesno.m4: New file.
112766         Module exitfail.
112767         * m4/exitfail.m4: New file.
112769         Module c-stack.
112770         * m4/c-stack.m4 (gl_C_STACK): New macro.
112771         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
112773         Module error.
112774         * m4/error.m4 (gl_ERROR): New macro.
112775         (jm_PREREQ_ERROR): Use onceonly macros.
112777         Module fatal.
112778         * m4/fatal.m4: New file.
112780         Module getloadavg.
112781         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
112782         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
112784         Module getpagesize.
112785         * m4/getpagesize.m4: New file.
112787         Module getusershell.
112788         * m4/getusershell.m4: New file.
112790         Module physmem.
112791         * m4/physmem.m4: New file.
112793         Module posixver.
112794         * m4/posixver.m4: New file.
112796         Module quotearg.
112797         * m4/quotearg.m4: New file.
112799         Module quote.
112800         * m4/quote.m4: New file.
112802         Module readutmp.
112803         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
112805         Module sig2str.
112806         * m4/sig2str.m4: New file.
112808         Other.
112809         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
112810         ulonglong.m4.
112811         * m4/intmax_t.m4: New file.
112812         * m4/d-type.m4: Indentation.
112813         * m4/jm-macros.m4: Update.
112814         * m4/prereq.m4 (jm_PREREQ): Update.
112815         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
112816         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
112817         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
112818         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
112819         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
112820         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
112821         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
112822         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
112823         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
112824         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
112825         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
112826         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
112827         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
112828         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
112829         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
112830         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
112831         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
112832         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
112833         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
112835 2002-12-24  Bruno Haible  <bruno@clisp.org>
112837         * MODULES.txt: Update according to m4/ changes.
112839         Module gettext.
112840         * config.rpath: New file, from gettext-0.11.5.
112842         * modules/*: New module descriptions.
112843         * gnulib-tool: New file.
112844         * MODULES.html.sh: New file.
112846 2002-12-21  Karl Berry  <karl@gnu.org>
112848         * doc/fdl.texi: update to version 1.2.
112850 2002-12-19  Karl Berry  <karl@gnu.org>
112852         * config/config.guess: update from prep.
112854 2002-12-18  Bruno Haible  <bruno@clisp.org>
112856         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
112857         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
112859 2002-12-17  Bruno Haible  <bruno@clisp.org>
112861         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
112862         stdlib.h, string.h.
112864 2002-12-17  Bruno Haible  <bruno@clisp.org>
112866         * lib/canon-host.c (strdup): Remove unused declaration.
112868         * lib/fsusage.c: Include full_read.h.
112869         (get_fs_usage): Use full_read instead of safe_read.
112871         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
112873 2002-12-12  Karl Berry  <karl@gnu.org>
112875         * config/config.guess: update from prep.
112877 2002-12-11  Bruno Haible  <bruno@clisp.org>
112879         * m4/setenv.m4: New file, from gettext-0.11.5.
112881 2002-12-11  Bruno Haible  <bruno@clisp.org>
112883         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
112884         not unsetenv().
112885         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
112886         modifications:
112888         2002-12-11  Bruno Haible  <bruno@clisp.org>
112890                 * setenv.c (alloca): Fall back to malloc.
112891                 (freea): New macro.
112892                 (setenv): Use freea() to free memory allocated with alloca().
112894         2002-11-13  Bruno Haible  <bruno@clisp.org>
112896                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
112897                 function declarations.
112898                 * unsetenv.c (unsetenv): Likewise.
112900         2002-03-04  Bruno Haible  <bruno@clisp.org>
112902                 Portability to AIX 4.3.3.
112903                 * unsetenv.c: New file, extracted from setenv.c.
112904                 * setenv.c: Move the unsetenv() function to unsetenv.c.
112906         2001-12-20  Bruno Haible  <bruno@clisp.org>
112908                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
112909                 use malloc instead. For SunOS 4.
112911         2001-12-11  Bruno Haible  <bruno@clisp.org>
112913                 * setenv.c: Declare alloca.
112914                 (compar_fn_t): New typedef.
112915                 (KNOWN_VALUE, STORE_VALUE): Use it.
112917         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
112918         setenv.h.
112920 2002-12-10  Paul Eggert  <eggert@twinsun.com>
112922         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
112923         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
112924         Choose values that are less likely to collide with system fnmatch
112925         options.
112926         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
112927         defined (e.g., a pure POSIX system).
112928         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
112929         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
112931 2002-12-06  Paul Eggert  <eggert@twinsun.com>
112933         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
112934         a pain in practice to deal with generated m4 files.  This change
112935         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
112937         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
112938         and jm-glibc-io.m4, as they are no longer a special case.
112939         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
112940         kludge and the auto-generation stuff.  Check only whether the
112941         functions are declared, not whether they exist, since older hosts
112942         that don't declare the functions can't use the optimization anyway.
112944 2002-12-06  Jim Meyering  <jim@meyering.net>
112946         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
112948         Merge in changes from libc's misc/error.c, in preparation
112949         for the merge of gnulib's changes back into libc.
112951         * lib/error.c (_): Define only if not already defined.
112952         Move definition to follow all #include directives.
112953         Include unlocked-io.h only if !_LIBC.
112954         [_LIBC]: Include <libio/libioP.h>.
112955         [USE_IN_LIBIO]: Include <libio/iolibio.h>
112956         (fflush): Tweak definition to use INTUSE.
112957         (putc): Define.
112959 2002-12-05  Paul Eggert  <eggert@twinsun.com>
112961         * lib/alloca.c [defined emacs]: Include "lisp.h".
112962         (xalloc_die) [defined emacs]: New macro.
112963         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
112964         [! defined emacs]: Include <xalloc.h>.
112965         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
112966         (pointer): Typedef to POINTER_TYPE *.
112967         (malloc): Remove decl; we now always use xmalloc.
112968         (alloca): Use old-style definition, since Emacs needs this.
112969         Check for arithmetic overflow when computing combined size.
112971 2002-12-04  Paul Eggert  <eggert@twinsun.com>
112973         Do not generate unlocked-io.h automatically, since it's easier to
112974         maintain it by hand.
112976         * lib/unlocked-io.h: New file, from GNU diffutils,
112977         but with proper copyright notice and attribution.
112978         * lib/gen-uio: Remove.
112979         * lib/Makefile.am: Add copyright notice.
112980         (libfetish_a_SOURCES): Add unlocked-io.h.
112981         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
112982         (DISTCLEANFILES, io_functions): Remove macros.
112983         (EXTRA_DIST): Remove gen_uio.
112984         (unlocked-io.h): Remove rule.
112986 2002-12-04  Jim Meyering  <jim@meyering.net>
112988         Reflect the fact that stat.c and lstat.c are no longer generated.
112989         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
112990         (DISTCLEANFILES): Likewise.
112991         (EXTRA_DIST): Likewise.
112992         (all_local): Don't depend on stat.c or lstat.c.
112993         (stat.c, lstat.c): Remove rules.
112994         (EXTRA_DIST): Remove xstat.in.
112996         * lib/xstat.in: Remove file.  Contents moved into stat.c.
112997         * lib/stat.c: New file.  Contents mostly from xstat.in.
112998         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
112999         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
113001         * lib/safe-read.c: Rework so that it may serve to define safe_write,
113002         too.
113003         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
113005 2002-12-03  Jim Meyering  <jim@meyering.net>
113007         * lib/safe-read.c, safe-write.c: Change variable names and comments,
113008         but not semantics, to minimize the differences between these two files.
113009         (safe_read): Change comment to mention SAFE_READ_ERROR.
113011         * lib/safe-read.c (IS_EINTR): Define.
113012         (safe_read): Use IS_EINTR in place of in-function cpp directives.
113014 2002-12-02  Jim Meyering  <jim@meyering.net>
113016         * lib/safe-read.c (EINTR): Define.
113017         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
113018         (INT_MAX): Provide fallback.
113019         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
113021         * lib/safe-read.h (SAFE_READ_ERROR): Define.
113023 2002-12-02  Bruno Haible  <bruno@clisp.org>
113025         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
113026         Define, taken from safe-read.c.
113027         (INT_MAX): Provide fallback.
113028         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
113029         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
113031         * lib/safe-read.c (EINTR): Remove definition.
113032         (safe_read): Don't use EINTR if it is absent.
113034 2002-12-01  Jim Meyering  <jim@meyering.net>
113036         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
113037         zero.
113038         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
113040 2002-11-27  Paul Eggert  <eggert@twinsun.com>
113042         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
113043         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
113044         with `if (! (value < limit)) abort ();', for readability.
113046 2002-11-26  Karl Berry  <karl@gnu.org>
113048         * lib/strdup.c: copy from libc again, with jim's ok.
113049         * lib/.cppi-disable: re-add strdup.c
113051 2002-11-25  Karl Berry  <karl@gnu.org>
113053         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
113054         instead of "strtol.c".
113056 2002-11-25  Karl Berry  <karl@gnu.org>
113058         * config/install-sh: update from automake for variable quoting, $0 in
113059         error msgs, etc.
113061         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
113062         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
113063         entry.
113065 2002-11-25  Jim Meyering  <jim@meyering.net>
113067         * lib/mktime.c: Sync from libc, now that it has the latest fix.
113069 2002-11-24  Karl Berry  <karl@gnu.org>
113071         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
113072         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
113074 2002-11-24  Jim Meyering  <jim@meyering.net>
113076         Update from coreutils:
113078         * lib/mktime.c: Merge in changes from libc.
113080         Avoid a link-time failure on some Linux systems.
113081         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
113082         (otherwise).
113083         (__mon_yday): Declare with the STATIC attribute.
113084         (__mktime_internal): Likewise.
113085         Based on a report from Greg Schafer.
113087 2002-11-23  Jim Meyering  <jim@meyering.net>
113089         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
113090         Use `unsigned', not `int', as type of index.
113092         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
113094         * lib/fsusage.c: Remove unneeded parentheses around operands of
113095         `defined'.
113097 2002-11-22  Paul Eggert  <eggert@twinsun.com>
113099         * lib/quotearg.h: Allow multiple inclusion by surrounding with
113100         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
113101         so that we can be included first.
113102         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
113103         * lib/quotearg.c: Include quotearg.h immediately after config.h.
113104         No need to include stddef.h or sys/types.h any more.
113105         Surround local include files with "", not "<>".
113106         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
113107         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
113108         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
113109         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
113110         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
113111         (ISPRINT): Remove; no longer needed now that we assume C89.
113113         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
113114         Preserve errno.
113116         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
113117         quotearg_char): Use SIZE_MAX rather than
113118         (size_t) -1 when we are talking about "infinity".
113120         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
113122 2002-11-22  Paul Eggert  <eggert@twinsun.com>
113124         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
113125         hint that one should use `if (! x) abort ();' rather than `assert
113126         (x);', and anyway it's one less thing to worry about configuring.
113127         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
113128         hash_rehash, hash_insert): Use abort rather than assert.
113130 2002-11-22  Bruno Haible  <bruno@clisp.org>
113132         * lib/safe-read.h: Assume C89. Add comments.
113133         (safe_read): Change return type to size_t.
113134         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
113135         byte counts > SSIZE_MAX correctly.
113136         * lib/safe-write.h: New file.
113137         * lib/safe-write.c: New file.
113138         * lib/full-read.h: New file.
113139         * lib/full-read.c: New file.
113140         * lib/full-write.h: Assume C89. Add comments.
113141         * lib/full-write.c: Include safe-write.h.
113142         (full_write): Rewritten to use safe_write.
113143         Suggested by Jim Meyering and Paul Eggert.
113145 2002-11-21  Jim Meyering  <jim@meyering.net>
113147         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
113149         Merge in changes from the coreutils.
113151         2002-09-25  Paul Eggert  <eggert@twinsun.com>
113152         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
113153         <stdint.h>.
113154         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
113155         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
113156         int.  Work more efficiently if X is the same width as uintmax_t.
113157         Do not compare X to -1, to avoid bogus compiler warning.
113158         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
113159         Don't assume that f_frsize and f_bsize are the same type.
113161         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
113162         warning on FreeBSD.
113164         * lib/makepath.c (make_path): Restore umask *before* creating the final
113165         component.
113166         (make_path): Minor reformatting.
113168         * lib/xmalloc.c: Adjust to work with new autoconf macros,
113169         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
113170         HAVE_MALLOC/HAVE_REALLOC.
113172         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
113173         dummy ones.  At least on GNU/Linux systems, `auto' means something
113174         else.
113175         From Michael Stone.
113177 2002-11-21  Bruno Haible  <bruno@clisp.org>
113179         Remove case insensitive option matching.
113180         * lib/argmatch.h (argcasematch): Remove declaration.
113181         (ARGCASEMATCH): Remove macro.
113182         (__xargmatch_internal): Remove case_sensitive argument.
113183         (XARGMATCH): Update.
113184         (XARGCASEMATCH): Remove macro.
113185         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
113186         case_sensitive argument.
113187         (argcasematch): Remove function.
113188         (__xargmatch_internal): Remove case_sensitive argument.
113189         (main): Use XARGMATCH instead of XARGCASEMATCH.
113191         * lib/xmalloc.c: Change compile-time error message. Add comment about
113192         required autoconf version.
113194 2002-11-20  Paul Eggert  <eggert@twinsun.com>
113196         Merge argmatch cleanups from Bison.  Assume C89.
113198         * lib/argmatch.c: Include config.h here, not in argmatch.h.
113199         Include stdlib.h, for EXIT_FAILURE.
113200         Always include <string.h>, since we assume C89.
113201         (EXIT_FAILURE): Remove pre-C89 bug workaround.
113202         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
113203         Include <stddef.h> instead, since it's all we need for size_t.
113204         (PARAMS): Remove.  All uses removed.
113205         (ARRAY_CARDINALITY): Do not bother to #undef.
113206         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
113207         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
113208         Remove unnecessary parentheses.
113209         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
113210         Insert necessary parentheses.
113211         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
113212         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
113214 2002-11-19  Bruno Haible  <bruno@clisp.org>
113216         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
113217         * lib/mbswidth.h: Include <stddef.h>, for size_t.
113219         * lib/mbswidth.h (PARAMS): Remove macro.
113220         (mbswidth, mbsnwidth): Use ANSI C function declarations.
113221         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
113223         * lib/gcd.h (PARAMS): Remove macro.
113224         (gcd): Use ANSI C function declarations.
113225         * lib/gcd.c (gcd): Likewise.
113227 2002-11-15  Bruno Haible  <bruno@clisp.org>
113229         * lib/strcspn.c: Include <stddef.h>.
113230         (strcspn): Use ANSI C function declaration. Change return type to
113231         size_t. Use NULL.
113232         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
113233         (strpbrk): Use NULL.
113234         * lib/strpbrk.h (PARAMS): Remove macro.
113235         (strpbrk): Use ANSI C function declaration.
113236         * lib/strstr.c: Don't include <sys/types.h>.
113237         * lib/strstr.h (PARAMS): Remove macro.
113238         (strstr): Use ANSI C function declarations.
113240 2002-11-14  Karl Berry  <karl@gnu.org>
113242         * config/mkinstalldirs: `do' on separate line, instead of
113243         `for var; do'.
113245 2002-11-06  Bruno Haible  <bruno@clisp.org>
113247         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
113248         * lib/gcd.c (gcd): Likewise.
113250 2002-11-05  Bruno Haible  <bruno@clisp.org>
113252         * lib/gcd.h: New file, from gettext-0.11.5.
113253         * lib/gcd.c: New file, from gettext-0.11.5.
113255 2002-11-05  Bruno Haible  <bruno@clisp.org>
113257         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
113258         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
113259         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
113260         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
113262         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
113263         <libintl.h>.
113264         * lib/makepath.c: Include gettext.h instead of <locale.h> and
113265         <libintl.h>.
113267         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
113268         * lib/human.c: Include gettext.h instead of <libintl.h>.
113269         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
113270         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
113271         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
113272         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
113273         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
113274         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
113275         (textdomain): Remove definition.
113276         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
113278         * lib/long-options.c: Remove include of <libintl.h> and definition of
113279         _.
113280         * lib/same.c: Remove include of <libintl.h> and definition of _.
113282 2002-11-04  Owen Taylor  <otaylor@redhat.com>
113284         * lib/config.charset: A few additions for Solaris.
113286 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
113288         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
113289         * lib/localcharset.c (locale_charset): Declare as extern "C".
113291 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
113293         * lib/config.charset: msdos in uk_UA uses CP1125.
113295 2002-11-04  Bruno Haible  <bruno@clisp.org>
113297         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
113298         * lib/strcase.h: New file, from GNU gettext-0.11.5.
113299         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
113300         * lib/strstr.h: New file, from GNU gettext-0.11.5.
113301         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
113303 2002-11-04  Bruno Haible  <bruno@clisp.org>
113305         * lib/localcharset.c (locale_charset): Don't return an empty string.
113307 2002-11-04  Bruno Haible  <bruno@clisp.org>
113309         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
113310         aliases.
113312 2002-11-04  Bruno Haible  <bruno@clisp.org>
113314         * lib/config.charset: Update for newest glibc. Add canonical names
113315         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
113317 2002-11-04  Bruno Haible  <bruno@clisp.org>
113319         * lib/config.charset: Add support for NetBSD.
113321 2002-11-04  Bruno Haible  <bruno@clisp.org>
113323         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
113325 2002-11-01  Bruno Haible  <bruno@clisp.org>
113327         * configure.in: Add AC_CONFIG_AUX_DIR call.
113328         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
113329         test/Makefile.
113330         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
113332 2002-09-28  Karl Berry  <karl@gnu.org>
113334         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
113335         installed automake until the next release, since changes have been
113336         made.
113338 2002-09-25  Karl Berry  <karl@gnu.org>
113340         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
113341         * lib/getopt*: copy from libc/posix.
113342         * lib/gettext.h: copy from gettext.
113343         * lib/.cppi-disable: add strdup.c, gettext.h.
113345 2002-09-25  Karl Berry  <karl@gnu.org>
113347         * config/srclist.txt: enable gettext.h check.
113348         * config/config.{guess,sub}: update from prep.
113349         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
113350                 from automake 1.6.3.
113351         See srclist*.
113353 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
113355         * regex.c (PATFETCH): Remove the translating fetch.
113356         (PATFETCH_RAW): Rename to PATFETCH.
113357         (set_image_of_range): New fun.
113358         (SET_RANGE_TABLE_WORK_AREA): Use it.
113359         (regex_compile): Don't translate the pattern chars so eagerly.
113360         Only do it when inserting an `exactn' bytecode or when handling
113361         a char-range.
113362         (mutually_exclusive_p): Avoid empty statement.
113364 2002-07-06  Jim Meyering  <meyering@lucent.com>
113366         * m4/README: Don't mention Makefile.am.in.
113367         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
113369 2002-07-01  Jim Meyering  <meyering@lucent.com>
113371         * lib/c-stack.c: Include sys/time.h.
113372         From Volker Borchert.
113374 2002-06-26  Paul Eggert  <eggert@twinsun.com>
113376         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
113378 2002-06-26  Paul Eggert  <eggert@twinsun.com>
113380         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
113381         New macro.  Use it uniformly instead of
113382         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
113383         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
113384         reported by Vin Shelton.
113386 2002-06-22  Paul Eggert  <eggert@twinsun.com>
113388         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
113389         Do not assume SA_SIGINFO behavior.
113390         Bug reported by Jim Meyering on NetBSD 1.5.2.
113392 2002-06-22  Jim Meyering  <meyering@lucent.com>
113394         * m4/c-stack.m4: New file, from diffutils-2.8.2.
113395         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
113397         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
113398         now that configure.ac uses AC_GNU_SOURCE.
113399         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
113400         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
113402         Update to latest tools.  Suggestions from Paul Eggert.
113403         * m4/stdbool.m4: New file, from diffutils-2.8.2.
113404         * m4/gnu-source.m4: Update from diffutils-2.8.2.
113405         * m4/fnmatch.m4: Likewise.
113406         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
113407         to AC_HEADER_STDBOOL
113409 2002-06-22  Jim Meyering  <meyering@lucent.com>
113411         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
113412         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
113414 2002-06-22  Jim Meyering  <meyering@lucent.com>
113416         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
113418         * lib/exitfail.c, exitfail.h: Likewise.
113419         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
113421         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
113422         of fnmatch.h.
113423         (EXTRA_DIST): Add fnmatch_loop.c.
113424         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
113426         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
113427         * lib/fnmatch.c: Update from diffutils-2.8.2.
113428         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
113429         * lib/fnmatch.h: Remove file.
113431 2002-06-21  Jim Meyering  <meyering@lucent.com>
113433         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
113434         * m4/mbrtowc.m4: Likewise.
113436         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
113437         * m4/mbswidth.m4: Reflect name change:
113438         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
113439         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
113441         * m4/lib-link.m4: Update from gettext-0.11.2.
113442         * m4/gettext.m4: Likewise.
113444         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
113445         From Alfred M. Szmidt.
113447 2002-06-18  Paul Eggert  <eggert@twinsun.com>
113449         * lib/file-type.h: Report an error if neither S_ISREG nor
113450         S_IFREG is defined, instead of using a test specific to glibc
113451         2.2.  This should be safe, since POSIX requires S_ISREG and
113452         Unix Version 7 had S_IFREG.  We don't need to check for
113453         <sys/types.h> since we don't use any symbols that it defines.
113455 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
113457         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
113458         $@-t, so that each temporary file name is unique and valid in the first
113459         8 characters, for operation under DOS.
113461 2002-06-15  Paul Eggert  <eggert@twinsun.com>
113463         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
113465 2002-06-15  Jim Meyering  <meyering@lucent.com>
113467         Work even with DJGPP 2.03, which lacks support for symlinks.
113468         From Richard Dawe.
113469         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
113470         is defined.
113471         * lib/lchown.c (S_ISLNK): Likewise.
113473 2002-06-15  Jim Meyering  <meyering@lucent.com>
113475         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
113476         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
113477         have been included before this file.
113479 2002-06-14  Jim Meyering  <meyering@lucent.com>
113481         * lib/file-type.h: Use the version from diffutils-2.8.2.
113482         * lib/file-type.c: Likewise.
113484 2002-06-07  Jim Meyering  <meyering@lucent.com>
113486         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
113487         They're needed at least for NetBSD 1.5.2.
113488         ($statxfs_includes): Include those same headers.
113489         ($statxfs_includes): Include sys/vfs.h if available.
113490         ($statxfs_includes): Likewise for sys/statvfs.h.
113491         Check for the following members in both structs statfs and statvfs:
113492         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
113494 2002-06-01  Jim Meyering  <meyering@lucent.com>
113496         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
113497         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
113499 2002-05-28  Jim Meyering  <meyering@lucent.com>
113501         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
113502         Reported by Volker Borchert.
113504 2002-05-27  Jim Meyering  <meyering@lucent.com>
113506         Fix a problem seen only on nonconforming systems whereby ls.c's
113507         use of localtime, and then of gettimeofday would cause trouble:
113508         the localtime call used to initialize rpl_gettimeofday's save
113509         mechanism would clobber ls's current local time information so
113510         that in any long listing the first file would always be listed
113511         with date 1970-01-01.  Analysis by Volker Borchert.
113513         * lib/gettimeofday.c (localtime): Undefine.
113514         (rpl_localtime): New function.
113516 2002-05-27  Jim Meyering  <meyering@lucent.com>
113518         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
113519         localtime.
113521         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
113522         use the replacement function; it wouldn't resolve at link time.
113523         Reported by Volker Borchert.
113525 2002-05-22  Jim Meyering  <meyering@lucent.com>
113527         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
113528         file-type.h.
113529         * lib/file-type.h: New file.
113530         * lib/file-type.c (file_type): New file/function.  Extracted from
113531         diffutils.
113533 2002-04-30  Jim Meyering  <meyering@lucent.com>
113535         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
113537 2002-04-29  Paul Eggert  <eggert@twinsun.com>
113539         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
113541 2002-04-29  Paul Eggert  <eggert@twinsun.com>
113543         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
113544         Do not check for alloca.h (no longer used) or stdbool.h (was never
113545         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
113547 2002-04-29  Paul Eggert  <eggert@twinsun.com>
113549         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
113551 2002-04-29  Jim Meyering  <meyering@lucent.com>
113553         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
113554         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
113555         Use AC_FUNC_STRNLEN here instead.
113557         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
113558         With autoconf-2.53a, it's part of AC_PROG_CC.
113560 2002-04-28  Paul Eggert  <eggert@twinsun.com>
113562         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
113563         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
113565 2002-04-28  Paul Eggert  <eggert@twinsun.com>
113567         * lib/sig2str.h, lib/sig2str.c: New files.
113568         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
113570 2002-04-28  Paul Eggert  <eggert@twinsun.com>
113572         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
113573         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
113574         of 127, since 64 is the largest conceivable number for ancient
113575         nonstandard hosts.
113576         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
113578 2002-04-28  Jim Meyering  <meyering@lucent.com>
113580         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
113582 2002-04-24  Jim Meyering  <meyering@lucent.com>
113584         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
113585         (jm_PREREQ): Use it.
113587         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
113588         mach/mach.h fcntl.h.
113589         Check for this function: setlocale.
113591 2002-04-24  Jim Meyering  <meyering@lucent.com>
113593         * lib/gettext.h: New file, from Gettext.
113594         * lib/Makefile.am (INCLUDES): Remove -I../intl.
113595         (libfetish_a_SOURCES): Add gettext.h.
113597 2002-04-16  Jim Meyering  <meyering@lucent.com>
113599         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
113600         ut_pid, ut_id, ut_exit.
113602 2002-04-16  Jim Meyering  <meyering@lucent.com>
113604         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
113605         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
113606         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
113608 2002-04-12  Jim Meyering  <meyering@lucent.com>
113610         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
113611         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
113612         existence of the getmntinfo function.  Needed for Darwin 5.3.
113614         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
113615         This is necessary at least on Darwin 5.3.
113617         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
113618         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
113619         strnlen.o in the library, and that makes some versions of ranlib
113620         object.
113622 2002-04-12  Jim Meyering  <meyering@lucent.com>
113624         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
113626 2002-04-09  Jim Meyering  <meyering@lucent.com>
113628         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
113629         to be more precise.  Rather than saying we're checking whether the
113630         function `works', say what we're testing.
113631         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
113632         Reported by Bruno Haible.
113634 2002-03-10  Jim Meyering  <meyering@lucent.com>
113636         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
113637         Suggestion from Santiago Vila.
113639 2002-03-08  Jim Meyering  <meyering@lucent.com>
113641         * lib/rename.c: Mention that this wrapper is needed also on
113642         mips-dec-ultrix4.4 systems.
113644 2002-03-02  Jim Meyering  <meyering@lucent.com>
113646         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
113647         not HAVE_CLOCK_SETTIME.
113649 2002-02-27  Paul Eggert  <eggert@twinsun.com>
113651         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
113652         Check for clock_settime.
113654 2002-02-27  Paul Eggert  <eggert@twinsun.com>
113656         * lib/nanosleep.h: Rename to....
113657         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
113659         * lib/gettime.c: New file.
113660         * lib/settime.c: New file.
113661         * lib/stime.c: Remove.
113663         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
113664         timespec.h.  Remove nanosleep.h.
113666 2002-02-25  Paul Eggert  <eggert@twinsun.com>
113668         * m4/acl.m4: New file.
113669         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
113670         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
113672 2002-02-25  Paul Eggert  <eggert@twinsun.com>
113674         * lib/acl.c, lib/acl.h: New files.
113675         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
113677 2002-02-24  Jim Meyering  <meyering@lucent.com>
113679         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
113680         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
113681         cause trouble.  Reported by Nelson Beebe.
113683 2002-02-23  Paul Eggert  <eggert@twinsun.com>
113685         * lib/path-concat.c (xpath_concat): Reorder code to pacify
113686         compilers that don't know that xalloc_die never returns.
113688 2002-02-20  Jim Meyering  <meyering@lucent.com>
113690         * lib/getdate.c: Regenerate using bison-1.33.
113692 2002-02-17  Jim Meyering  <meyering@lucent.com>
113694         * config/config.guess (main): Don't use `head -1'; it's no longer
113695         portable. Use `sed 1q' instead.
113697 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
113699         * m4/codeset.m4: Upgrade to gettext-0.11.
113700         * m4/gettext.m4: Upgrade to gettext-0.11.
113701         * m4/glibc21.m4: Upgrade to gettext-0.11.
113702         * m4/iconv.m4: Upgrade to gettext-0.11.
113703         * m4/isc-posix.m4: Upgrade to gettext-0.11.
113704         * m4/lcmessage.m4: Upgrade to gettext-0.11.
113705         * m4/lib-ld.m4: New file, from gettext-0.11.
113706         * m4/lib-link.m4: New file, from gettext-0.11.
113707         * m4/lib-prefix.m4: New file, from gettext-0.11.
113708         * m4/progtest.m4: Upgrade to gettext-0.11.
113710 2002-02-15  Paul Eggert  <eggert@twinsun.com>
113712         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
113713         (jm_PREREQ): Use it.
113715 2002-02-15  Paul Eggert  <eggert@twinsun.com>
113717         * lib/posixver.c, lib/posixver.h: New files.
113718         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
113720 2002-02-02  Paul Eggert  <eggert@twinsun.com>
113721             Bruno Haible  <bruno@clisp.org>
113723         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
113724         (fwrite_success_callback): New declaration.
113725         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
113726         print_unicode_char. Call failure callback instead of error.
113727         (fwrite_success_callback): New function.
113728         (exit_failure_callback): New function.
113729         (fallback_failure_callback): New function.
113730         (print_unicode_char): Call unicode_to_mb.
113732 2002-01-26  Jim Meyering  <meyering@lucent.com>
113734         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
113735         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
113737 2002-01-26  Jim Meyering  <meyering@lucent.com>
113739         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
113741 2002-01-22  Paul Eggert  <eggert@twinsun.com>
113743         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
113745 2002-01-22  Jim Meyering  <meyering@lucent.com>
113747         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
113748         Otherwise, some versions of automake would omit the rule that makes
113749         Makefile from Makefile.in.
113751 2002-01-21  Paul Eggert  <eggert@twinsun.com>
113753         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
113754         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
113755         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
113756         (memcoll): Set errno to zero if there is no error.
113758         * lib/quotearg.c (quotearg_buffer_restyled):
113759         Fix bug with quoting buffers containing NUL when backslashing escapes.
113760         This bug was exposed by the other changes in this patch.
113761         (quotearg_n_options): New arg ARGSIZE.
113762         All callers changed.
113763         (quoting_options_from_style): New function.
113764         (quotearg_n_style): Use it.
113765         (quotearg_n_style_mem): New function.
113767         * lib/quotearg.h (quotearg_n_style_mem): New function.
113769 2002-01-19  Jim Meyering  <meyering@lucent.com>
113771         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
113772         Remove useless quotes: DF_PROG="df".
113773         * m4/strnlen.m4: New file.
113775 2002-01-16  Paul Eggert  <eggert@twinsun.com>
113777         * lib/backupfile.c (ISDIGIT): Comment fix.
113778         * lib/getdate.y (ISDIGIT): Likewise.
113779         * lib/posixtm.c (ISDIGIT, year): Likewise.
113780         * lib/strverscmp.c (ISDIGIT): Likewise.
113781         * lib/userspec.c (ISDIGIT): Likewise.
113783 2002-01-16  Jim Meyering  <meyering@lucent.com>
113785         * lib/getdate.y: Add three semicolons, each just before a closing
113786         brace. Bison (as of version 1.31) no longer papers over that mistake.
113788 2002-01-05  Jim Meyering  <meyering@lucent.com>
113790         * lib/version-etc.c (version_etc_copyright): Update copyright year.
113792 2001-12-19  Paul Eggert  <eggert@twinsun.com>
113794         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
113795         not silently exit merely because the output buffer happens to
113796         have nothing pending.
113798 2001-12-18  Paul Eggert  <eggert@twinsun.com>
113800         See the big note in ../ChangeLog.
113801         * lib/human.c (suffixes): Prefer K to k for 1024.
113802         (generate_suffix_backwards): New function.
113803         (human_readable_inexact): Use it.
113804         * lib/xstrtol.c (__xstrtol): If there is no number but there
113805         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
113806         Accept 'K' as well as 'k'.
113808 2001-12-15  Jim Meyering  <meyering@lucent.com>
113810         * lib/regex.h (__restrict_arr): Update from libc.
113812         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
113813         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
113814         (STREQ): Define.
113816 2001-12-14  Jim Meyering  <meyering@lucent.com>
113818         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
113819         Suggestion from Bruno Haible.
113821 2001-12-10  Jim Meyering  <meyering@lucent.com>
113823         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
113824         xrealloc, Instead, include "xalloc.h".
113825         (initbuffer): Don't cast xmalloc return value to char*.
113826         (readline): Reword comment.
113827         Don't cast xrealloc return value to char*
113828         Return NULL, not 0.
113830 2001-12-09  Jim Meyering  <meyering@lucent.com>
113832         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
113833         about `signed and unsigned type in conditional expression'.
113834         * lib/posixtm.c (posix_time_parse): Likewise.
113836         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
113838         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
113839         to avoid a pedantic warning.
113841         * lib/getstr.c: Don't include assert.h.
113842         (getstr): Remove warning-evoking assertions.
113843         Return -1 if offset parameter is out of bounds.
113844         Change the type of a local from int to size_t.
113846         * lib/strftime.c (my_strftime_localtime_r): Include this function
113847         definition in the `#if ! HAVE_TM_GMTOFF' block.
113849         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
113850         Include xalloc.h instead.
113852 2001-12-02  Jim Meyering  <meyering@lucent.com>
113854         * lib/tempname.c: Don't declare getenv, thus reverting the change of
113855         2001-11-18.  It's no longer necessary, now that stdlib.h is always
113856         included.
113858         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
113859         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
113861 2001-11-30  Akim Demaille  <akim@epita.fr>
113863         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
113864         before being defined.
113866 2001-11-27  Paul Eggert  <eggert@twinsun.com>
113868         * lib/quotearg.h (quotearg_n, quotearg_n_style):
113869         First arg is int, not unsigned.
113870         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
113871         (SIZE_MAX, UINT_MAX): New macros.
113872         (quotearg_n_options): Abort if N is negative.
113873         Avoid overflow check on hosts where size_t is 64 bits and int
113874         is 32 bits, as overflow is impossible there.
113875         Fix off-by-one typo that caused unnecessary reallocation.
113877 2001-11-27  Jim Meyering  <meyering@lucent.com>
113879         * lib/tempname.c: Merge with version from libc.
113880         * lib/regex.c: Likewise.
113882         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
113883         systems for which STDC_HEADERS is 0, it was not included, resulting in
113884         a warning about an integer-to-pointer conversion problem with getenv.
113885         Reported by Volker Borchert.
113887 2001-11-26  Jim Meyering  <meyering@lucent.com>
113889         * lib/gtod.h: Remove file.
113890         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
113891         * lib/gettimeofday.c: Don't include gtod.h.
113892         (GTOD_init): Remove function.
113893         (rpl_gettimeofday): Do its job here instead, rather than aborting.
113894         Suggestion from Volker Borchert.
113896 2001-11-23  Jim Meyering  <meyering@lucent.com>
113898         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
113899         it.
113900         * lib/hash.c (struct hash_table): Define it here instead.
113902 2001-11-22  Jim Meyering  <meyering@lucent.com>
113904         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
113906 2001-11-20  Jim Meyering  <meyering@lucent.com>
113908         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
113909         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
113911 2001-11-19  Jim Meyering  <meyering@lucent.com>
113913         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
113914         directory.  Use "conftestXXXXXX" as the template.
113915         Suggestion from Paul Eggert.
113917         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
113918         immediately, so the test doesn't mistakenly hit the max-open-files
113919         limit.
113921 2001-11-18  Paul Eggert  <eggert@twinsun.com>
113923         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
113924         (TEMPORARIES): New macro.
113925         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
113926         removes an artificial limitation (e.g. HP-UX 10.20, where
113927         TMP_MAX is 17576).
113929 2001-11-18  Jim Meyering  <meyering@lucent.com>
113931         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
113933 2001-11-18  Jim Meyering  <meyering@lucent.com>
113935         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
113936         on SunOS 4.
113938         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
113939         files will be created before anything else.
113941 2001-11-17  Paul Eggert  <eggert@twinsun.com>
113943         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
113944         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
113946 2001-11-17  Jim Meyering  <meyering@lucent.com>
113948         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
113949         Prompted by a report from Bob Proulx.
113951         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
113952         Instead, require UTILS_FUNC_MKSTEMP.
113954 2001-11-17  Jim Meyering  <meyering@lucent.com>
113956         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
113957         Now, that's done as part of AC_FUNC_STRTOD.
113959 2001-11-17  Jim Meyering  <meyering@lucent.com>
113961         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
113962         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
113963         rather than group writable.  Patch by Juan F. Codagnone.
113965         * lib/readtokens.c: Remove explicit declarations of xmalloc and
113966         xrealloc, Instead, include "xalloc.h".
113968         * lib/mountlist.c: Include unlocked-io.h after all system headers.
113969         Remove explicit declarations of xmalloc, xrealloc,
113970         and xstrdup.  Instead, include "xalloc.h".
113972         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
113973         unlocked-io.h.
113974         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
113975         Likewise.
113976         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
113978         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
113979         Reported by Padraig Brady.
113981         * lib/mkstemp.c: #undef mkstemp.
113982         Include config.h.
113983         (rpl_mkstemp): Rename from mkstemp.
113984         Protoize.
113986 2001-11-16  Jim Meyering  <meyering@lucent.com>
113988         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
113989         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
113990         determine the amount of total physical memory, use pstat_getstatic.
113991         HPUX-11 doesn't define _SC_PHYS_PAGES.
113992         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
113993         If sysconf couldn't be used to determine the amount of available
113994         physical memory, use both pstat_getstatic and pstat_getdynamic.
113995         Based on a patch from Bob Proulx.
113997 2001-11-10  Jim Meyering  <meyering@lucent.com>
113999         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
114000         (jm_PREREQ): Use it.
114002 2001-11-09  Jim Meyering  <meyering@lucent.com>
114004         * m4/jm-macros.m4: Require autoconf-2.52f.
114005         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
114006         Use these AC_-prefixed names, not the AM_-prefixed ones.
114008         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
114010 2001-11-05  Jim Meyering  <meyering@lucent.com>
114012         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
114014 2001-11-04  Jim Meyering  <meyering@lucent.com>
114016         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
114017         $DEFS.
114019 2001-11-03  Jim Meyering  <meyering@lucent.com>
114021         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
114022         of AC_DEFUN.
114024         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
114025         know the name of the variable in the macro definition.
114027 2001-11-03  Jim Meyering  <meyering@lucent.com>
114029         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
114030         in argmatch_to_argument call.
114032         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
114033         argument.
114035         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
114036         e.g., a fault due to an attempt to free a NULL pointer.
114038 2001-11-01  Jim Meyering  <meyering@lucent.com>
114040         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
114041         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
114043 2001-11-01  Jim Meyering  <meyering@lucent.com>
114045         * lib/dirfd.c, lib/dirfd.h: New files.
114046         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
114048         * lib/hash.c (hash_print) [TESTING]: Clean up.
114050 2001-10-22  Paul Eggert  <eggert@twinsun.com>
114052         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
114053         to avoid a warning if -Wall.
114055 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
114057         * README: New file
114058         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
114059         (per RMS's instructions, this is now the canonical source)
114060         * lgpl/, gpl/: New directories.
114062 2001-10-21  Paul Eggert  <eggert@twinsun.com>
114064         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
114066 2001-10-21  Jim Meyering  <meyering@lucent.com>
114068         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
114069         this code would end up calling gettext even in packages built
114070         with --disable-nls.
114071         * lib/getopt.c (_): Likewise.
114072         * lib/regex.c (_): Likewise.
114074 2001-10-20  Paul Eggert  <eggert@twinsun.com>
114076         * m4/error.m4 (jm_PREREQ_ERROR):
114077         Do not invoke AC_CHECK_FUNCS with strerror_r, as
114078         AC_FUNC_STRERROR_R does that.
114079         Check for strerror declaration.
114081         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
114082         are supposed to have them these days.
114083         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
114084         Merge changes from latest Autoconf CVS.
114085         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
114086         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
114087         POSIX decided to standardize on the int flavor of strerror_r.
114089 2001-10-20  Paul Eggert  <eggert@twinsun.com>
114091         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
114092         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
114093         Use strerror_r that is only a macro, even if it is not a function.
114094         (strerror): Check for HAVE_DECL_STRERROR before declaring.
114095         (private_strerror): Use prototypes, not old-style function definition.
114096         (print_errno_message): New function.
114097         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
114098         char*-flavored one.
114099         (error_tail, error, error_at_line): Use it.
114101 2001-10-11  Jim Meyering  <meyering@lucent.com>
114103         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
114104         and quote_n (1, ... to avoid clobbering a buffer.
114106 2001-10-05  Jim Meyering  <meyering@lucent.com>
114108         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
114109         hash-pjw.h.
114110         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
114111         * lib/hash-pjw.h: New file.
114113 2001-09-30  Jim Meyering  <meyering@lucent.com>
114115         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
114116         `struct fsstat' has the `f_fstypename' member.
114117         Use that to define FS_TYPE, which is now used to make
114118         the getfsstat link test tighter.
114120 2001-09-30  Jim Meyering  <meyering@lucent.com>
114122         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
114123         Include <sys/ucred.h>, for Apple Darwin.
114124         Include sys/mount.h and sys/fs_types.h only if available.
114125         (FS_TYPE): Define.
114126         (read_filesystem_list): Use FS_TYPE.
114128 2001-09-29  Paul Eggert  <eggert@twinsun.com>
114130         * lib/exclude.c (excluded_filename): 0 -> false, since it's
114131         a boolean context.
114133 2001-09-29  Jim Meyering  <meyering@lucent.com>
114135         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
114136         [one-argument getmntent function]): Include stdio.h before mntent.h.
114137         SunOS 4.1.x needs it for the declaration of `FILE'.
114138         Patch by Volker Borchert.
114140         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
114141         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
114142         sys/fs_types.h, and make the link-test for getfsstat guard #include
114143         directives with appropriate #if HAVE_*_H tests so that we can
114144         detect getfsstat on Apple Darwin1.3.7 systems.
114145         Reported by Nelson Beebe.
114146         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
114148 2001-09-28  Paul Eggert  <eggert@twinsun.com>
114150         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
114151         #defines strtoimax.  Also treat the other strto* functions
114152         like strtoimax.
114154         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
114155         Check for strtoul and strtoumax,
114156         as those declarations are made even in the signed case.
114157         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
114158         Likewise, for strtol and strtoimax.
114160 2001-09-28  Paul Eggert  <eggert@twinsun.com>
114162         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
114163         #defines strtoimax.  Also treat the other strto* functions
114164         like strtoimax.
114166         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
114167         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
114168         (strtoimax, strtoumax): Do not declare if already defined as a macro.
114170 2001-09-26  Jim Meyering  <meyering@lucent.com>
114172         Most macros in unlocked-io.h had the wrong number of arguments.
114173         * lib/gen-uio: New script.
114174         (USE_UNLOCKED_IO): Define to 1 if not already defined.
114175         * lib/unlocked-io.hin: Remove file.
114176         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
114177         rather than trying to embed it here.
114178         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
114179         Reported by Padraig Brady.
114181 2001-09-25  Volker Borchert  <bt@teknon.de>
114183         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
114184         `result'.
114186 2001-09-24  Jim Meyering  <meyering@lucent.com>
114188         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
114190 2001-09-23  Jim Meyering  <meyering@lucent.com>
114192         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
114193         instead of the mere test for existence of mntent.h.  The latter
114194         would get a false-positive on AIX 3.4 systems.
114195         In the outer getmntent if-block, don't die if neither of the getmntent
114196         tests succeeds.  Instead, just fall through and continue with the
114197         remaining tests.
114199 2001-09-23  Jim Meyering  <meyering@lucent.com>
114201         * lib/mountlist.c: Remove useless parentheses in #if directives.
114202         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
114203         the deprecated MOUNTED symbol is no longer defined in mntent.h.
114205 2001-09-22  Jim Meyering  <meyering@lucent.com>
114207         * m4/gettext.m4: New file.  From gettext.
114208         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
114209         * m4/progtest.m4: Likewise
114210         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
114211         * m4/glibc21.m4: Likewise.
114213         * m4/libintl.m4: Remove.  No longer used.
114215 2001-09-22  Jim Meyering  <meyering@lucent.com>
114217         * lib/localcharset.c: Update from latest gettext.
114218         * lib/config.charset: Likewise.
114220 2001-09-20  Jim Meyering  <meyering@lucent.com>
114222         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
114223         strtoimax.
114224         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
114225         strtoumax.
114227 2001-09-20  Jim Meyering  <meyering@lucent.com>
114229         * lib/xstrtol.c (strtoimax): Guard declaration with
114230         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
114231         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
114232         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
114233         (strtoumax): Likewise, for completeness (it wasn't necessary).
114235 2001-09-17  Paul Eggert  <eggert@twinsun.com>
114237         * lib/strtoimax.c (HAVE_LONG_LONG):
114238         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
114239         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
114240         to work around bug in IBM C compiler.
114242 2001-09-17  Jim Meyering  <meyering@lucent.com>
114244         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
114245         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
114246         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
114247         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
114248         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
114249         whenever the right hand side need not be expanded by the shell.
114251 2001-09-16  Paul Eggert  <eggert@twinsun.com>
114253         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
114254         library.  It's not correct, as some older glibcs are buggy.
114255         fnmatch wasn't fixed until glibc 2.2.
114257         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
114258         special shell magic here.
114260 2001-09-16  Jim Meyering  <meyering@lucent.com>
114262         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
114263         * m4/jm-macros.m4: Require it.
114265 2001-09-16  Jim Meyering  <meyering@lucent.com>
114267         * lib/mkdir.c: New file.
114269 2001-09-15  Jim Meyering  <meyering@lucent.com>
114271         * m4/jm-macros.m4: Check for help2man.
114273 2001-09-11  Jim Meyering  <meyering@lucent.com>
114275         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
114276         The body, by Paul Eggert, was moved here from configure.in.
114277         * m4/jm-macros.m4: Require UTILS_HOST_OS.
114279 2001-09-04  Paul Eggert  <eggert@twinsun.com>
114281         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
114282         (jm_PREREQ): Use it.
114284 2001-09-04  Paul Eggert  <eggert@twinsun.com>
114286         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
114287         Use ssize_t, not int, to store result of readlink.
114288         Check for ssize_t overflow as well as size_t overflow,
114289         as POSIX says the result of readlink is implementation-defined
114290         when ssize_t overflows.
114291         Remove unnecessary cast to char*.
114292         Use free+malloc instead of realloc, as the storage doesn't need
114293         to be preserved and it's clearer and can be more efficient that way.
114294         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
114295         * lib/xreadlink.h (xreadlink): Update prototype.
114297 2001-09-04  Paul Eggert  <eggert@twinsun.com>
114299         * lib/xgetcwd.c: Revert some of the previous change; intead,
114300         fix the HAVE_GETCWD_NULL code to behave more like the
114301         !HAVE_GETCWD_NULL code used to.
114303         Include "xalloc.h".
114304         (xgetcwd): Do not return NULL when memory is exhausted; instead,
114305         invoke xalloc_die.
114307 2001-09-03  Paul Eggert  <eggert@twinsun.com>
114309         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
114310         sys/param.h, as pathmax.h includes them.
114312 2001-09-03  Paul Eggert  <eggert@twinsun.com>
114314         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
114315         (jm_PREREQ_XGETCWD): New macro.
114317         * m4/getcwd.m4: New file.
114319 2001-09-03  Paul Eggert  <eggert@twinsun.com>
114321         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
114322         like the HAVE_GETCWD_NULL code.
114323         Include pathmax.h if not HAVE_GETCWD.
114324         Do not include xalloc.h.
114325         (INITIAL_BUFFER_SIZE): New symbol.
114326         Do not use xmalloc / xrealloc, since the caller is responsible for
114327         handling errors.  Preserve errno around `free' during failure.
114328         Do not overrun buffer when using getwd.
114330 2001-09-03  Paul Eggert  <eggert@twinsun.com>
114332         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
114333         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
114334         getcwd (NULL, 0).
114336 2001-09-03  Paul Eggert  <eggert@twinsun.com>
114338         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
114339         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
114340         spotted by Jim Meyering.
114342 2001-09-03  Jim Meyering  <meyering@lucent.com>
114344         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
114345         failure.
114347 2001-09-02  Jim Meyering  <meyering@lucent.com>
114349         * lib/error.c: Update from GNU libc.
114351 2001-09-01  Jim Meyering  <meyering@lucent.com>
114353         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
114354         Used by df.
114356 2001-09-01  Jim Meyering  <meyering@lucent.com>
114358         * lib/xreadlink.c: New file.
114359         * lib/xreadlink.h: New file.
114360         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
114361         xreadlink.h.
114363         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
114364         doesn't conflict with sparc Solaris 7's definition in
114365         /usr/include/sys/int_types.h.
114367         * lib/exclude.c: Use `""', not `<>' to #include non-system header
114368         files.
114369         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
114370         and strncasecmp as r-values.  Unixware didn't have declarations.
114372 2001-08-31  Paul Eggert  <eggert@twinsun.com>
114374         * lib/xstrtol.h: Add copyright notice.
114375         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
114376         LONGINT_INVALID_SUFFIX_CHAR.
114378 2001-08-31  Paul Eggert  <eggert@twinsun.com>
114380         * lib/xstrtol.c (strtoimax): New decl.
114382 2001-08-31  Paul Eggert  <eggert@twinsun.com>
114384         * lib/xgetcwd.c: Don't include pathmax.h.
114385         Include stdlib.h and unistd.h if available.
114386         Include xalloc.h.
114387         (xmalloc, xstrdup, free): Remove decls.
114388         (xgetcwd): Don't assume sizes fit in unsigned.
114389         Check for overflow when computing sizes.
114390         Simplify reallocation code.
114392 2001-08-31  Paul Eggert  <eggert@twinsun.com>
114394         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
114395         a directory's st_size can have an arbitrary value, so the old
114396         usage could waste an arbitrary amount of memory.  All uses
114397         changed.
114398         * lib/savedir.h: Update prototype.
114400 2001-08-31  Paul Eggert  <eggert@twinsun.com>
114402         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
114404         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
114405         old strtoimax.c.
114407         Also, make the following further changes to make this file's
114408         configuration more similar to that of strtol.c:
114409         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
114410         (strtoumax, uintmax_t, strtoull, strtol): Remove.
114411         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
114412         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
114413         changed to signed values.
114415         And make the following changes as well:
114416         Fix copyright notice, as 1999 was missing.
114417         (verify): New macro.
114418         (strtoimax): Check sizes at compile-time, not run-time.
114419         Prefer strtol to strtoll if both work.
114420         (main): Remove; it was not that useful and was a pain to maintain.
114422         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
114424 2001-08-31  Jim Meyering  <meyering@lucent.com>
114426         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
114427         Use an initial, malloc'd, buffer of length 128 rather than
114428         a statically allocated one of length 1024.
114430 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114432         Simplify code, partly by assuming autoconf 2.52 semantics.
114434         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
114436         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
114437         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
114438         All uses removed.
114439         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
114440         Move AC_REQUIRE to next-to-top level, to avoid confusion.
114441         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
114442         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
114443         jm_AC_HEADER_INTTYPES_H.
114444         * m4/jm-macros.m4 (jm_MACROS): Likewise.
114446         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
114448         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
114449         Quote first arg of AC_DEFUN.
114450         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
114451         since they are needed to parse the include file even if we need
114452         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
114453         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
114454         but with opposite signedness.
114456 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114458         Merge 'exclude' changes from tar 1.13.22.
114459         This fixes one or two unlikely storage allocation overflow bugs,
114460         but doesn't change user-visible behavior otherwise.
114462 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114464         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
114465         (jm_PREREQ_EXCLUDE): New macro.
114467 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114469         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
114470         tm to be declared.
114472 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114474         * lib/hash.c: Remove '2001' from copyright notice.
114476 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114478         * lib/full-write.h: New file.
114479         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
114480         * lib/full-write.c: Correct credits, as cccp.c no longer
114481         exists and anyway it was so heavily changed from the old cccp
114482         code as to be unrecognizable.  Include full-write.h.
114483         (full_write): Return size_t, with short writes meaning failure.
114484         All callers changed.  This fixes a bug with large buffers
114485         on 64-bit hosts.
114486         * lib/utime.c: Include full-write.h.
114488 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114490         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
114491         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
114492         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
114493         Include if available.
114494         (<xalloc.h>): Include
114495         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
114496         (verify): New macro.  Use it to verify that EXCLUDE macros do not
114497         collide with FNM macros.
114498         (struct patopts): New struct.
114499         (struct exclude): Use it, as exclude patterns now come with options.
114500         (new_exclude): Support above changes.
114501         (new_exclude, add_exclude_file):
114502         Initial size must now be a power of two to simplify overflow checking.
114503         (free_exclude, fnmatch_no_wildcards): New function.
114504         (excluded_filename): No longer requires options arg, as the options
114505         are determined by add_exclude.  Now returns bool, not int.
114506         (excluded_filename, add_exclude):
114507         Add support for the fancy new exclusion options.
114508         (add_exclude, add_exclude_file): Now takes int options arg.
114509         Check for arithmetic overflow when computing sizes.
114510         (add_exclude_file): xrealloc might modify errno, so don't
114511         realloc until after errno might be used.
114513         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
114514         New macros.
114515         (free_exclude): New decl.
114516         (add_exclude, add_exclude_file): Now takes int options arg.
114517         (excluded_filename): No longer requires options arg, as the options
114518         are determined by add_exclude.  Now returns bool, not int.
114520 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114522         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
114524 2001-08-27  Jim Meyering  <meyering@lucent.com>
114526         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
114528         * lib/version-etc.c (N_): Remove definition.
114529         Revert most of last change.
114530         Instead, simply don't mark the `Copyright...' string for translation.
114531         Based on advice from Paul Eggert.
114533         * lib/strtoxmax.c: Tweak comment.
114535 2001-08-26  Jim Meyering  <meyering@lucent.com>
114537         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
114539         * m4/xstrtoimax.m4: New file.
114540         * m4/xstrtoumax.m4: Add comments explaining why we
114541         AC_REPLACE_FUNCS(strtol).
114543 2001-08-26  Jim Meyering  <meyering@lucent.com>
114545         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
114546         of copyright with `%s' so translators don't get an untranslated
114547         message in 2002.
114548         (COPYRIGHT_YEAR): Define.
114549         (version_etc): Use fprintf rather than fputs.
114550         Suggestion from Ulrich Drepper.
114552         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
114554         * lib/strtoll.c: New file, from GNU libc.
114555         * lib/xstrtoimax.c: New file.
114557         * lib/xstrtol.h: Add xstrtoimax.
114558         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
114559         * lib/strtoimax.c: New file.  Likewise, but first define
114560         STRTOUXMAX_SIGNED.
114562         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
114563         ...
114564         * lib/strtoxmax.c: ... then renamed to this.
114566 2001-08-18  Paul Eggert  <eggert@twinsun.com>
114568         * m4/inttypes.m4: Add AC_PREREQ(2.13).
114569         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
114570         (jm_AC_TYPE_INTMAX_T): New macro.
114571         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
114573         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
114575         * m4/longlong.m4: Renamed from ulonglong.m4.
114576         * m4/inttypes.m4: Renamed from inttypes_h.m4.
114577         * m4/uintmax_t.m4: Removed.
114579 2001-08-13  Paul Eggert  <eggert@twinsun.com>
114581         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
114582         Port to Solaris 8, where 'sed' requires a space after the 'r'
114583         command, and where sh dislikes "$/".  Clean up the spacing a bit.
114584         Redirect output to $tmp just once.
114586 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
114588         * lib/addext.c (<errno.h>): Include.
114589         (errno): Declare if not defined.
114590         (addext): Work correctly when pathconf returns -1 and leaves
114591         errno alone because there is no limit.  Also, work even if
114592         pathconf returns a value greater than SIZE_MAX.
114594 2001-08-12  Jim Meyering  <meyering@lucent.com>
114596         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
114597         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
114598         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
114599         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
114600         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
114601         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
114602         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
114603         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
114604         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
114605         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
114606         utime.m4, utimes.m4, xstrtoumax.m4:
114607         Quote the first argument in each use of AC_DEFUN.
114609 2001-08-12  Jim Meyering  <meyering@lucent.com>
114611         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
114612         Simply `return getcwd (NULL, 0);'.
114613         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
114614         Use 1300 as initial value for length, not PATH_MAX.
114616         * lib/pathmax.h: Clean up cpp syntax.
114618 2001-08-12  Jim Meyering  <meyering@lucent.com>
114620         * lib/gettimeofday.c: New file.
114621         * lib/gtod.h: New file.
114622         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
114624 2001-08-05  Jim Meyering  <meyering@lucent.com>
114626         * m4/jm-macros.m4: Require autoconf-2.52.
114628 2001-08-04  Jim Meyering  <meyering@lucent.com>
114630         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
114631         stmt, to get in sync with glibc.
114633 2001-08-03  Paul Eggert  <eggert@twinsun.com>
114635         The following changes are from gettext 0.10.39 as maintained by
114636         Bruno Haible.
114638         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
114639         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
114640         with inverted sense.  All uses changed.
114642         * lib/mbswidth.c: Don't include <limits.h>.
114643         Include <stdlib.h> and <string.h> unconditionally.
114644         (iswcntrl, mbsinit, ISCNTRL): New macros.
114645         (mbsnwidth): Use K&R style function declarations.
114646         Don't bother checking for MB_LEN_MAX == 1, since the compiler
114647         can optimize it when MB_CUR_MAX == 1.
114648         The width of control characters is zero, not 1.
114650 2001-08-03  Paul Eggert  <eggert@twinsun.com>
114652         The following changes are from gettext 0.10.39 as maintained by
114653         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
114655         * m4/codeset.m4: Upgrade to serial AM1.
114656         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
114657         all uses changed.  Quote first arg of AC_DEFUN.
114658         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
114660         * m4/iconv.m4: Upgrade to serial AM2.
114661         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
114662         Add --with-libconv-prefix.
114663         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
114664         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
114665         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
114666         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
114667         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
114669         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
114670         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
114671         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
114672         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
114673         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
114674         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
114675         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
114676         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
114677         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
114679         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
114680         string.h any more.
114682         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
114683         not the default value.
114685         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
114686         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
114687         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
114688         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
114689         Also check for iswcntrl, used for wcwidth fallback.
114690         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
114691         to Autoconf 2.13.
114693 2001-08-03  Jim Meyering  <meyering@lucent.com>
114695         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
114696         as it was in the original.  Reported by Paul Eggert.
114698 2001-07-16  Jim Meyering  <meyering@lucent.com>
114700         * m4/gettimeofday.m4: New file.
114701         Prompted by a report from Bernhard Baehr.
114703 2001-07-15  Jim Meyering  <meyering@lucent.com>
114705         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
114706         stuff. Now it's in ../Makefile.cfg.
114708 2001-07-15  Jim Meyering  <meyering@lucent.com>
114710         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
114711         (BUILT_SOURCES): Add unlocked-io.h.
114712         (io_functions): Define.
114713         (unlocked-io.h): New rule.
114714         (DISTCLEANFILES): Add unlocked-io.h.
114715         (all-local): Depend on unlocked-io.h, to ensure it is created.
114717         * lib/unlocked-io.hin: New file
114719         * lib/regex.c: Update from glibc.
114721 2001-07-05  Jim Meyering  <meyering@lucent.com>
114723         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
114724         recommendation.
114725         (libfetish_a_SOURCES): Put all .h files here instead.
114726         Remove a thus-exposed (better checks in automake) duplicate and
114727         two unnecessary .h files.
114729 2001-07-04  Jim Meyering  <meyering@lucent.com>
114731         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
114732         that generates jm-glibc-io.m4 so that it doesn't trigger any make
114733         distcheck failure.
114735 2001-07-02  Jim Meyering  <meyering@lucent.com>
114737         The following changes were prompted by suggestions from Bruno Haible.
114739         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
114740         is now generated.
114741         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
114742         definition of EXTRA_DIST.
114743         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
114744         ensure that the generated file is created/updated whenever the list
114745         of $(unlocked_functions) is changed.
114746         (jm-glibc-io.m4): New rule.
114747         (unlocked-io.h): New rule -- currently unused.
114749 2001-06-24  Jim Meyering  <meyering@lucent.com>
114751         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
114752         unmatched right bracket, rather than kludging it with an extra,
114753         falsely-matching quote in a comment.  Patch by Akim Demaille.
114755 2001-06-11  Jim Meyering  <meyering@lucent.com>
114757         * lib/regex.c: Update from GNU libc.
114759 2001-05-27  Jim Meyering  <meyering@lucent.com>
114761         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
114762         Check for ut_type in struct utmp.
114764 2001-05-27  Jim Meyering  <meyering@lucent.com>
114766         * lib/readutmp.h (UT_TYPE): Define.
114768 2001-05-24  Jim Meyering  <meyering@lucent.com>
114770         * lib/argmatch.c: Include "quote.h".
114771         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
114772         quote function.  Reported by Göran Uddeborg.
114774 2001-05-22  Jim Meyering  <meyering@lucent.com>
114776         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
114777         now that we use the package-supplied version unconditionally.
114778         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
114780 2001-05-21  Jim Meyering  <meyering@lucent.com>
114782         * m4/regex.m4: Change a couple backticks to single quotes to avoid
114783         shell syntax errors.
114785 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
114787         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
114789 2001-05-20  Paul Eggert  <eggert@twinsun.com>
114791         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
114792         Don't bother to check library strftime, since
114793         we'll be using our own my_strftime function anyway.
114794         Define my_strftime instead of strftime.
114796 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
114798         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
114799         which is not yet declared.
114801 2001-05-15  Jim Meyering  <meyering@lucent.com>
114803         * m4/regex.m4: Use proper quoting so brackets appear in the test
114804         program.
114805         Reported by, and with help from, Bruno Haible.
114807 2001-05-13  Jim Meyering  <meyering@lucent.com>
114809         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
114810         undefined.
114812 2001-05-11  Paul Eggert  <eggert@twinsun.com>
114814         dirname code cleanup.  base_name now behaves more compatibly
114815         with POSIX basename when given file names that have trailing
114816         slashes, and similarly for dir_name.  Add new primitives
114817         base_len and dir_len.  Put the directory-name-related decls
114818         into dirname.h.
114820         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
114821         * lib/backupfile.c (base_name): Likewise.
114822         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
114823         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
114824         * lib/makepath.c (strip_trailing_slashes): Likewise.
114825         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
114826         ISSLASH): Likewise.
114827         * lib/rename.c (strip_trailing_slashes): Likewise.
114828         * lib/same.c (base_name): Likewise.
114829         * lib/stripslash.c (ISSLASH): Likewise.
114831         * lib/addext.c: Include <dirname.h> after size_t is defined.
114832         * lib/backupfile.c: Likewise.
114834         * lib/addext.c (addext): Use base_len to trim redundant
114835         trailing slashes instead of doing it ourselves.
114836         But do not trim the last slash if it is not redundant.
114838         * lib/backupfile.c (find_backup_file_name,
114839         max_backup_version): Use base_len instead of rolling it ourselves.
114840         Handle the case of "" and (on DOS) "C:" correctly.
114842         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
114843         needed. Include <string.h>, <dirname.h>.
114844         (base_name): Allow file names ending in slashes, other than names
114845         that are all slashes.  In this case, return the basename followed
114846         by the slashes.  This is more general, and can be used in places
114847         where the original base_name purposely had an assertion failure.
114848         (base_len): New function.
114850         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
114851         Do not include <assert.h>; no longer needed.
114852         Include xalloc.h.
114853         (memrchr): Remove decl.
114854         (dir_name_r): Remove.
114855         (dir_len): Renamed from dirlen.  All callers changed.
114856         Rewrite in terms of base_name, for simplicity and consistency.
114857         (dir_name): Never return NULL.  All callers changed.
114858         Do not include <stdlib.h> in test program; no longer needed.
114859         return 0; is fine for test program.
114861         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
114862         New macros.
114863         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
114865         * lib/path-concat.c (path_concat): Use base_len to compute
114866         base length, not strlen; this means we cannot rely on memcpy
114867         to null-terminate.
114869         * lib/same.c (STREQ): Remove.
114870         (same_name): Handle the case where the basename ends in trailing '/'.
114872         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
114873         a slash was stripped.  Do not strip the last slash after a
114874         file system prefix.
114876 2001-05-11  Paul Eggert  <eggert@twinsun.com>
114878         * lib/Makefile.am (libfetish_a_SOURCES):
114879         Add strftime.c, since we now compile it on all hosts.
114881         * lib/strftime.c (my_strftime):
114882         Define to nstrftime if emacs, but only if my_strftime is not defined.
114883         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
114884         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
114885         Add one more extra argument: a nanoseconds value.
114886         All uses changed.
114887         (ns): New macro.
114888         (my_strftime function): Add %N format.
114889         (emacs_strftimeu): Renamed from emacs_strftime,
114890         with extra ut argument.
114892 2001-05-09  Paul Eggert  <eggert@twinsun.com>
114894         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
114896 2001-04-21  Jim Meyering  <meyering@lucent.com>
114898         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
114899         doesn't interfere.
114901 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
114903         * m4/ftruncate.m4: Check for chsize.
114904         Link with ftruncate.o unconditionally if ftruncate is missing.
114905         This was required when cross-compiling to i586-mingw32msvc.
114907 2001-04-08  Jim Meyering  <meyering@lucent.com>
114909         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
114910         recomputed; that's necessary when the offset spans a DST transition.
114911         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
114913 2001-04-02  Jim Meyering  <meyering@lucent.com>
114915         * lib/regex.h, regex.c: Update from GNU libc.
114917 2001-03-24  Jim Meyering  <meyering@lucent.com>
114919         * m4/jm-macros.m4: Require autoconf-2.49d.
114921 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
114923         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
114925 2001-03-19  Paul Eggert  <eggert@twinsun.com>
114927         * lib/version-etc.c (version_etc_copyright): Update to 2001.
114929 2001-03-17  Jim Meyering  <meyering@lucent.com>
114931         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
114932         now that the version in autoconf is equivalent.
114933         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
114935         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
114936         Suggestion from Akim Demaille.
114938         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
114939         (jm_PREREQ_TEMPNAME): New function.
114941 2001-03-16  Paul Eggert  <eggert@twinsun.com>
114943         * lib/tempname.c (uint64_t): Define to uintmax_t if
114944         not defined, and if UINT64_MAX is not defined.
114945         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
114946         Reported by John David Anglin.
114948 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
114950         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
114951         resolve alias if codeset is empty.
114952         * lib/config.charset (BeOS): Use wildcard syntax.
114954 2001-03-13  Jim Meyering  <meyering@lucent.com>
114956         * lib/path-concat.c (path_concat)
114957         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
114958         concatenating e.g., `C:' and `foo'.
114959         From Bruno Haible.
114961 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
114963         * lib/localcharset.c (locale_charset): Don't use
114964         setlocale(LC_CTYPE,NULL). Don't return NULL.
114965         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
114967 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
114969         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
114970         support for DOS/DJGPP.
114972 2001-03-01  Paul Eggert  <eggert@twinsun.com>
114974         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
114975         lacks mkstemp.  Compile our own tempname.c if we compile our own
114976         mkstemp.c, as mkstemp relies on tempname.
114978 2001-03-01  Jim Meyering  <meyering@lucent.com>
114980         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
114981         AH_VERBATIM really does output its argument verbatim.
114983 2001-02-28  Paul Eggert  <eggert@twinsun.com>
114985         * lib/Makefile.am (libfetish_a_SOURCES):
114986         Add dup-safer.c, fopen-safer.c.
114987         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
114989         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
114990         * lib/unistd-safer.h: New files.
114992 2001-02-25  Paul Eggert  <eggert@twinsun.com>
114994         The mkstemp replacement is taken from glibc 2.2.2, with some
114995         portability fixes for use outside glibc, as follows:
114997         * lib/tempname.c (struct_stat64): New macro.
114998         (direxists, __gen_tempname): Use it.
114999         This avoids a portability problem with Solaris 8.
115001         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
115002         (<stddef.h>, <stdint.h>, <string.h>):
115003         Include only if STDC_HEADERS || _LIBC.
115004         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
115005         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
115006         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
115007         (__set_errno): Define this macro if <errno.h> doesn't.
115008         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
115009         Define these macros if <stdio.h> doesn't.
115010         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
115011         Define these macros if <sys/stat.h>
115012         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
115013         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
115014         __xstat64): Define if not _LIBC.
115015         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
115016         (__gen_tempname): Invoke gettimeofday only if
115017         HAVE_GETTIMEOFDAY || _LIBC;
115018         otherwise, fall back on plain "time".
115019         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
115021         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
115023         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
115025 2001-02-18  Paul Eggert  <eggert@twinsun.com>
115027         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
115029 2001-02-17  Paul Eggert  <eggert@twinsun.com>
115031         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
115032         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
115033         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
115034         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
115036 2001-02-17  Paul Eggert  <eggert@twinsun.com>
115038         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
115039         Remove workaround macros for hosts that have mbrtowc but not
115040         mbstate_t, as we now insist on proper declarations for both
115041         before using mbrtowc.
115043 2001-02-17  Jim Meyering  <meyering@lucent.com>
115045         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
115046         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
115047         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
115048         UnixWare 7.1.1.
115050         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
115051         rather than AC_CACHE_VAL.
115053 2001-02-17  Jim Meyering  <meyering@lucent.com>
115055         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
115056         around included file name.
115058         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
115060         * lib/strftime.c: Update from GNU libc (the only changes were to
115061         comments).
115063 2001-02-17  Jim Meyering  <meyering@lucent.com>
115065         * lib/regex.c: Update from libc.
115067 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
115069         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
115070         clash.
115072 2001-02-16  Paul Eggert  <eggert@twinsun.com>
115074         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
115075         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
115076         Reported by Mark Hounschell via Paul Eggert.
115078 2001-02-07  Jim Meyering  <meyering@lucent.com>
115080         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
115082 2001-02-05  Jim Meyering  <meyering@lucent.com>
115084         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
115085         it includes the patch required for `large file' support with at least
115086         HP-UX's 10.20 /bin/cc.
115088 2001-02-03  Jim Meyering  <meyering@lucent.com>
115090         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
115091         AS_IF, now that it works once again (mysteriously).
115092         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
115094 2001-01-30  Jim Meyering  <meyering@lucent.com>
115096         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
115097         * m4/chown.m4: Rename conftestchown to conftest.chown.
115098         * m4/rename.m4: s/conftestdir/conftest.d1/ and
115099         s/conftestdir2/conftest.d2/.
115100         * m4/utimes.m4: s/conftestdata/conftest.data/
115101         Inspired by Pavel Roskin's change in autoconf.
115103 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
115105         * lib/config.charset: Update for FreeBSD 4.2.
115107 2001-01-27  Jim Meyering  <meyering@lucent.com>
115109         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
115110         a use of AS_IF.
115111         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
115113 2001-01-26  Jim Meyering  <meyering@lucent.com>
115115         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
115116         quotearg.c includes it.
115118 2001-01-26  Jim Meyering  <meyering@lucent.com>
115120         * lib/quotearg.c: Include stddef.h.
115121         * lib/quote.c: Include stddef.h.
115122         Reported by Axel Kittenberger.
115124         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
115125         line in double quotes so that it evokes a better diagnostic.
115126         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
115127         Reported by Axel Kittenberger.
115129 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
115131         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
115132         as if it was a `charset'.
115134 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
115136         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
115137         has const.
115139 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
115141         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
115142         to avoid a warning.  Add back 'const' to inptr.
115144 2001-01-20  Jim Meyering  <meyering@lucent.com>
115146         Be sure that headers are checked before used in code compiled
115147         for the type checks.
115148         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
115149         In place of that, invoke jm_CHECK_ALL_TYPES.
115150         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
115151         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
115152         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
115153         The check for ssize_t was mistakenly run before the test for unistd.h.
115155         The configure-time check for stdbool.h was missing.
115156         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
115157         (jm_PREREQ_HASH): New function.
115159 2001-01-17  Jim Meyering  <meyering@lucent.com>
115161         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
115162         for autoconf-2.49c.
115163         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
115165 2001-01-16  Jim Meyering  <meyering@lucent.com>
115167         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
115168         From Bruno Haible.
115170 2001-01-14  Jim Meyering  <meyering@lucent.com>
115172         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
115173         foo and bar.  Create conftestdir/ in the script, not in the C code.
115174         Remove directories in the script, not in the C code.
115175         Remove conftestdir{,2} before trying to create the directory.
115176         Make the entire configure script fail if the mkdir fails.
115178 2001-01-14  Jim Meyering  <meyering@lucent.com>
115180         * lib/rename.c: New file.  From Volker Borchert.
115181         Include stdlib.h, string.h or strings.h, and xalloc.h.
115182         Use strip_trailing_slashes rather than open-coding it.
115184 2001-01-03  Paul Eggert  <eggert@twinsun.com>
115186         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
115188 2001-01-03  Jim Meyering  <meyering@lucent.com>
115190         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
115191         of local `inptr' to avoid warning with some system declarations of
115192         iconv.
115194 2001-01-02  Volker Borchert  <bt@teknon.de>
115196         * m4/rename.m4: New file.
115197         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
115199 2001-01-01  Jim Meyering  <meyering@lucent.com>
115201         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
115202         even on systems with utmpx.h.  It's necessary for the declaration of
115203         utmp's ut_user member.  Reported by Andreas Jaeger.
115205         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
115206         available. They are required for the declarations of getgrgid and
115207         getpwuid resp.
115208         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
115209         Reported by Andreas Jaeger.
115211 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
115213         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
115214         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
115215         so `make install' also works in VPATH builds.
115217 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
115219         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
115220         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
115221         can be used in subdirectories.
115223 2000-12-29  Paul Eggert  <eggert@twinsun.com>
115225         * lib/modechange.c: Do not assume that mode_t uses the
115226         traditional octal encoding.  E.g. "chmod 1 FOO" should set
115227         the other-execute bit of FOO even if S_IXOTH != 1.
115229         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
115230         WOTH, XOTH, ALLM): New macros.
115231         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
115232          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
115233         Use them.
115234         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
115235         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
115236         (mode_compile):
115237         No need to use uintmax_t; unsigned long is long enough.
115238         Don't bother to get suffix since we don't use it.
115240 2000-12-26  Jim Meyering  <meyering@lucent.com>
115242         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
115243         better with autoheader.
115245 2000-12-24  Jim Meyering  <meyering@lucent.com>
115247         * lib/hash.c (is_prime): Return explicit boolean values.
115248         (hash_get_first): Return NULL to appease Irix5.6's 89.
115249         Reported by Nelson Beebe.
115251 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
115253         * lib/localcharset.c (locale_charset): Add support for Win32.
115255 2000-12-18  Paul Eggert  <eggert@twinsun.com>
115257         * lib/physmem.h, lib/physmem.c: New files.
115259         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
115260         (noinst_HEADERS): Add physmem.h.
115262         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
115263         't' for compatibility with Solaris 8 sort.
115265 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
115267         * lib/config.charset: Add support for BeOS.
115269 2000-12-17  Jim Meyering  <meyering@lucent.com>
115271         * m4/dos.m4 (jm_AC_DOS): New file and macro.
115272         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
115274 2000-12-16  Jim Meyering  <meyering@lucent.com>
115276         This bug had a serious impact on chown: `chown N:M FILE' (for integer
115277         N and M) would have treated it like `chown N:N FILE'.
115279         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
115281 2000-12-16  Jim Meyering  <meyering@lucent.com>
115283         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
115284         SHELLS_FILE to a file name that's useful on djgpp systems.
115285         Include stdlib.h.
115286         (ADDITIONAL_DEFAULT_SHELLS): Define.
115287         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
115288         Based mostly on a patch from Prashant TR.
115290 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
115292         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
115293         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
115294         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
115296 2000-12-08  Andreas Schwab  <schwab@suse.de>
115298         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
115299         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
115301 2000-12-07  Jim Meyering  <meyering@lucent.com>
115303         * lib/stripslash.c (ISSLASH): Define.
115304         (strip_trailing_slashes): Use ISSLASH rather than comparing against
115305         `/'.
115306         From Prashant TR.
115308         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
115309         (dir_name_r): Declare this function as static.
115310         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
115311         manifest itself on a name containing a mix of slashes and
115312         backslashes.
115313         Make this function work with names starting with a DOS-style
115314         drive letter and colon prefix.
115315         (dir_name): Append `.' if necessary.
115316         Based mostly on patches from Prashant TR and Eli Zaretskii.
115318         * lib/dirname.h (dir_name_r): Remove prototype.
115320 2000-12-06  Paul Eggert  <eggert@twinsun.com>
115322         * m4/off_t-format.m4: Remove this file.
115323         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
115325 2000-12-06  Jim Meyering  <meyering@lucent.com>
115327         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
115328         replacement strtoull, we may well need the replacement strtoul, too.
115329         Check for declarations of strtoul and strtoull.
115330         Check for strtol.  Mainly as a cue to cause automake to include
115331         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
115332         Check for limits.h -- strtol.c needs it.
115334 2000-12-05  Jim Meyering  <meyering@lucent.com>
115336         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
115338 2000-12-04  Jim Meyering  <meyering@lucent.com>
115340         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
115341         Also include memory.h, stdlib.h, unistd.h if appropriate.
115342         Reported by Andreas Jaeger (conflicting declaration of malloc).
115344 2000-12-02  Jim Meyering  <meyering@lucent.com>
115346         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
115347         * m4/jm-macros.m4 (jm_MACROS): require it.
115349 2000-12-02  Jim Meyering  <meyering@lucent.com>
115351         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
115353 2000-12-01  Paul Eggert  <eggert@twinsun.com>
115355         * lib/memrchr.c: Include <config.h> before any system include file.
115357 2000-11-30  Jim Meyering  <meyering@lucent.com>
115359         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
115361 2000-11-30  Jim Meyering  <meyering@lucent.com>
115363         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
115365 2000-11-29  Paul Eggert  <eggert@twinsun.com>
115367         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
115369 2000-11-26  Jim Meyering  <meyering@lucent.com>
115371         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
115373 2000-11-22  Paul Eggert  <eggert@twinsun.com>
115375         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
115376         size of (size_t) -1; it's not portable.
115378 2000-11-17  Jim Meyering  <meyering@lucent.com>
115380         * lib/strstr.c: Update from GNU libc.
115382 2000-11-17  Akim Demaille  <akim@epita.fr>
115384         * lib/obstack.h: Formatting changes.
115385         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
115386         prevent type checking.
115387         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
115388         cast the value to (void *): assigning a `foo *' to a `void *'
115389         variable is valid.
115390         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
115392 2000-11-16  Jim Meyering  <meyering@lucent.com>
115394         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
115396 2000-11-11  Jim Meyering  <meyering@lucent.com>
115398         * lib/error.c: Add a couple #includes, merging from GNU libc version.
115400 2000-11-10  Jim Meyering  <meyering@lucent.com>
115402         * lib/obstack.h: Update from GNU libc.
115403         * lib/obstack.c: Likewise.
115405 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
115407         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
115409 2000-11-06  Paul Eggert  <eggert@twinsun.com>
115411         * lib/getusershell.c (setusershell): Use rewind rather than
115412         fseek/fseeko, to avoid configuration hassles with fseeko.
115413         Don't bother opening SHELLS_FILE if shellstream is NULL;
115414         it's not necessary.
115416 2000-11-05  Jim Meyering  <meyering@lucent.com>
115418         * lib/makepath.h (make_dir): Declare.
115419         * lib/makepath.c (make_dir): Remove `static' attribute.
115420         Tweak a comment.
115422 2000-11-04  Jim Meyering  <meyering@lucent.com>
115424         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
115426 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
115428         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
115429         last one in a bucket, advance to the next bucket.
115431 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
115433         * lib/fnmatch.c: Do not comment out all the code if we are using
115434         the GNU C library, because in some cases we are replacing buggy
115435         code in the GNU C library itself.
115437 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
115439         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
115440         (regex_compile): Catch bogus \(\1\).
115442 2000-10-30  Paul Eggert  <eggert@twinsun.com>
115444         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
115445         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
115446         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
115448 2000-10-30  Paul Eggert  <eggert@twinsun.com>
115450         * lib/error.h, getline.h, modechange.h:
115451         Remove "2000" from Copyright line, as the file hasn't been
115452         changed this year other than in the copyright notice.
115454         * lib/xalloc.h: Add "2000" to Copyright line, as this file
115455         was changed this year.
115457 2000-10-29  Jim Meyering  <meyering@lucent.com>
115459         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
115460         renaming.
115461         * m4/ls-mntd-fs.m4: Likewise
115463 2000-10-29  Jim Meyering  <meyering@lucent.com>
115465         * lib/xstat.in: Fix grammar in comment.
115467 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
115469         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
115470         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
115471         doesn't define __restrict_arr.
115473 2000-10-28  Jim Meyering  <meyering@lucent.com>
115475         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
115476         (jm_PREREQ_MEMCHR): New function.
115478 2000-10-28  Jim Meyering  <meyering@lucent.com>
115480         * lib/memchr.c: Update from libc.
115481         Adjust for portability:
115482         [HAVE_STDLIB_H]: Include stdlib.h.
115483         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
115484         Undef __memchr, too.
115485         [!weak_alias]: Define __memchr to memchr.
115487         * lib/regex.c: Update from libc.
115488         * lib/regex.h: Likewise.
115489         * lib/getopt1.c: Likewise.
115490         * lib/memcmp.c: Likewise.
115492         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
115493         Avoid using fseek, when possible -- it's broken by design.
115494         Patch by Ulrich Drepper.
115496 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
115498         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
115499         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
115500         Giving in to popular pressure to shut up the compiler with casts.
115502 2000-10-26  Jim Meyering  <meyering@lucent.com>
115504         * lib/strftime.c: Update from libc.
115506 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
115508         * regex.c: More `unsigned char' -> `re_char' changes.
115509         Also change several `int' into `re_wchar_t'.
115510         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
115511         (PUSH_FAILURE_POINTER): Don't cast any more.
115512         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
115513         We want GCC to complain, since this piece of code makes
115514         re_match non-reentrant, which *should* be fixed.
115515         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
115516         (EXTEND_BUFFER): Use RETALLOC.
115517         (SET_LIST_BIT): Don't cast.
115518         (re_wchar_t): New type.
115519         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
115520         that those two functions will always properly return.
115521         (IMMEDIATE_QUIT_CHECK): Cast to void.
115522         (analyse_first): Use recursion rather than an explicit stack.
115523         (re_compile_fastmap): Can't fail anymore.
115524         (re_search_2): Don't check re_compile_fastmap for failure.
115525         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
115526         Now also sets the new value (passed in a new argument).
115527         (re_match_2_internal): Use it.
115528         Also, use a new var `reg' of type size_t when looping through regs
115529         rather than reuse the inappropriate `mcnt'.
115531 2000-10-25  Jim Meyering  <meyering@lucent.com>
115533         * lib/obstack.c: Update from libc.
115535 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
115537         * regex.c (regex_compile): Change the way of handling a range from
115538         a char less than 256 to a char not less than 256.
115540 2000-10-24  Andrew Innes  <andrewi@gnu.org>
115542         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
115543         NT-Emacs only.
115544         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
115545         so that re_search functions only quit when callers expect them to.
115547 2000-10-23  Jim Meyering  <meyering@lucent.com>
115549         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
115550         wrong.  That set_locale call must not have any side effects.
115551         From Paul Eggert.
115553 2000-10-22  Jim Meyering  <meyering@lucent.com>
115555         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
115556         [CYCLIC]: Remove now-unused definition.
115558         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
115559         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
115560         Suggestion from Ulrich Drepper.
115562 2000-10-21  Jim Meyering  <meyering@lucent.com>
115564         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
115565         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
115566         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
115568 2000-10-21  Jim Meyering  <meyering@lucent.com>
115570         * lib/dirname.c (memrchr): Declare if necessary.
115571         (dir_name): Remove the restriction that there be no
115572         trailing slashes.  Now, this code skips past them, effectively
115573         ignoring them.
115574         [TEST_DIRNAME] (main): New unit tests.
115576         * lib/memrchr.c: New file from GNU libc.
115577         Undef __memrchr, too.
115578         [!weak_alias]: Define __memrchr to memrchr.
115579         Guard weak_alias use with `#ifdef weak_alias'.
115581 2000-10-21  Jim Meyering  <meyering@lucent.com>
115583         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
115584         (dir_name): Use dir_name_r.
115585         * lib/dirname.h (dir_name_r): Declare it.
115587 2000-10-17  Jim Meyering  <meyering@lucent.com>
115589         * lib/quote.h (PARAMS): Define and use.
115590         Reported by Akim Demaille.
115592         * lib/getopt.c: Update from libc.
115594 2000-10-16  Jim Meyering  <meyering@lucent.com>
115596         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
115597         setlocale.
115598         From Jan Fedak.
115600 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
115602         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
115604 2000-09-25  Jim Meyering  <meyering@lucent.com>
115606         * lib/md5.h (rol): Define (from GnuPG).
115608         * lib/sha.c: Give credit (GnuPG) where due.
115609         (M): Use rol rather than open-coding it.
115610         Add a FIXME comment.
115612 2000-09-21  Jim Meyering  <meyering@lucent.com>
115614         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
115615         Reported by Michael Stone.
115617 2000-09-20  Jim Meyering  <meyering@lucent.com>
115619         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
115620         (noinst_HEADERS): Add sha.h.
115621         Based on code from Scott G. Miller and from GnuPG.
115623 2000-09-18  Jim Meyering  <meyering@lucent.com>
115625         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
115626         LIBS. Otherwise, everyone ends up linking with -lelf for some
115627         configurations.
115628         Reported by Mike Stone.
115630 2000-09-15  Jim Meyering  <meyering@lucent.com>
115632         * lib/regex.c: Update from libc.
115634 2000-09-10  Jim Meyering  <meyering@lucent.com>
115636         * lib/getopt.c (_getopt_internal): Update from glibc.
115638 2000-09-09  Jim Meyering  <meyering@lucent.com>
115640         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
115641         think it should be used as a general replacement for isascii.
115642         * lib/fnmatch.c: Likewise.
115643         * lib/mbswidth.c: Likewise
115644         * lib/regex.c: Likewise.
115646         Don't use atoi.
115647         * lib/userspec.c: Include sys/param.h and limits.h.
115648         Include xstrtol.h.
115649         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
115650         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
115651         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
115652         UID, GID.  Check range.
115654 2000-09-06  Jim Meyering  <meyering@lucent.com>
115656         * lib/getopt.c (_getopt_internal): Update from glibc.
115658 2000-08-30  Jim Meyering  <meyering@lucent.com>
115660         * lib/strftime.c: Merge in changes from GNU libc.
115662 2000-08-26  Jim Meyering  <meyering@lucent.com>
115664         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
115665         * m4/fpending.m4: New file.
115667 2000-08-26  Jim Meyering  <meyering@lucent.com>
115669         * lib/closeout.c: Include "__fpending.h".
115670         (close_stdout_status): Return right away if there's nothing to flush.
115672         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
115673         * lib/__fpending.c: New file.
115674         * lib/__fpending.h: New file.
115676 2000-08-20  Jim Meyering  <meyering@lucent.com>
115678         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
115679         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
115680         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
115682 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
115684         Improve fileutils installation on systems where running
115685         programs (like install) can't be unlinked.
115686         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
115687         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
115689 2000-08-07  Paul Eggert  <eggert@twinsun.com>
115691         Standardize on "memory exhausted" instead of "Memory exhausted"
115692         or "virtual memory exhausted".
115693         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
115694         "virtual memory exhausted".
115695         * lib/same.c (same_name): Invoke xalloc_die instead of printing
115696         our own message.
115697         * lib/userspec.c (parse_user_spec): Likewise.
115698         * lib/bumpalloc.h: comment fix
115699         * lib/same.c, userspec.c: Include xalloc.h.
115701         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
115702         not char *const and pointing to a constant array.
115703         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
115704         (xrealloc): Comment fix.
115706         * lib/userspec.c (parse_user_spec):
115707         Don't translate a message until just before returning,
115708         to avoid unnecessary translation.
115710 2000-08-07  Jim Meyering  <meyering@lucent.com>
115712         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
115713         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
115714         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
115715         getgroups.c, gethostname.c, getopt.h, group-member.c,
115716         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
115717         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
115718         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
115719         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
115720         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
115721         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
115722         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
115723         yesno.c: Back out Copyright date changes for each file with no change
115724         this year.  This eases coordination with other programs using the same
115725         source code modules.  From Paul Eggert.
115727 2000-08-06  Paul Eggert  <eggert@twinsun.com>
115729         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
115730         not char, for compatibility with glibc 2.1.3 strftime.c.
115732 2000-08-03  Greg McGary  <greg@mcgary.org>
115734         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
115735         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
115736         (EXTEND_BUFFER): Use them.
115738 2000-08-01  Jim Meyering  <meyering@lucent.com>
115740         * lib/dirname.c (ISSLASH): Define.
115741         (BACKSLASH_IS_PATH_SEPARATOR): Define.
115742         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
115743         both `\' and `/' may be use as path separators.
115744         Based on a patch from Prashant TR.
115746 2000-07-31  Paul Eggert  <eggert@twinsun.com>
115748         * lib/quotearg.c (quotearg_n_options): Don't make the initial
115749         slot vector a constant, since it might get modified.
115751 2000-07-31  Jim Meyering  <meyering@lucent.com>
115753         * lib/xmalloc.c: Use `virtual memory exhausted', not
115754         `Memory exhausted'.
115755         * lib/obstack.c (print_and_abort): Likewise.
115757 2000-07-30  Paul Eggert  <eggert@twinsun.com>
115759         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
115760         buffer, so that the caller can always quote one small
115761         component of a "memory exhausted" message in slot 0.
115762         From a suggestion by Jim Meyering.
115764 2000-07-30  Jim Meyering  <meyering@lucent.com>
115766         * lib/makepath.c (make_path): Quote the other instance, too.
115768         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
115769         (STATIC_BUF_SIZE): Define.
115770         (quotearg_n_options): Use only statically allocated storage when
115771         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
115772         than STATIC_BUF_SIZE.
115774 2000-07-29  Jim Meyering  <meyering@lucent.com>
115776         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
115777         * lib/dirname.c (dir_name): Likewise.
115779         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
115780         `/'.
115782         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
115783         (dir_name): Assert that there are no trailing slashes.
115785 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
115787         * lib/mbswidth.h (mbswidth): Add a flags argument.
115788         (mbswidth): New declaration.
115789         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
115790         * lib/mbswidth.c (mbswidth): Add a flags argument.
115791         (mbsnwidth): New function.
115793 2000-07-24  Jim Meyering  <meyering@lucent.com>
115795         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
115797 2000-07-23  Paul Eggert  <eggert@twinsun.com>
115799         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
115801 2000-07-23  Paul Eggert  <eggert@twinsun.com>
115803         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
115804         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
115805         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
115806         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
115807         invoke multibyte primitives.
115809 2000-07-23  Paul Eggert  <eggert@twinsun.com>
115811         * lib/quotearg.c:
115812         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
115813         so that mbstate_t is always defined.
115815         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
115816         be 1 in at least one GCC installation, and this configuration
115817         error is likely to be common.  Ignoring MB_LEN_MAX hurts
115818         performance on hosts that have mbrtowc but have only unibyte
115819         locales, but I assume these hosts are rare.
115821 2000-07-23  Paul Eggert  <eggert@twinsun.com>
115823         * lib/mbswidth.c (_XOPEN_SOURCE):
115824         Don't define; this causes problems on Solaris 7.
115825         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
115827 2000-07-23  Jim Meyering  <meyering@lucent.com>
115829         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
115830         too: getgrgid, getpwuid, getuid.
115832 2000-07-23  Jim Meyering  <meyering@lucent.com>
115834         * lib/basename.c (base_name): Add an assertion.
115836 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
115838         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
115839         shadow its mbsinit function.
115841 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
115843         * lib/mbswidth.h: New file.
115844         * lib/mbswidth.c: New file.
115845         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
115846         (noinst_HEADERS): Add mbswidth.h.
115848 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
115850         * lib/config.charset: Add support for FreeBSD. Improve support for
115851         HP-UX and IRIX 6.
115853 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
115855         * m4/mbswidth.m4: New file.
115856         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
115858 2000-07-15  Jim Meyering  <meyering@lucent.com>
115860         * lib/makepath.c: Include quote.h.
115861         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
115862         corresponding argument in a `quote (...)' call.
115863         Give better diagnostics.
115865         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
115866         (noinst_HEADERS): Add quote.h.
115868         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
115869         from tar's src/misc.c.
115870         * lib/quote.h: New file.  Prototypes for same.
115872 2000-07-14  Paul Eggert  <eggert@twinsun.com>
115874         From a suggestion by Bruno Haible.
115875         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
115876         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
115877         to decide whether to define the BeOS workaround macro;
115878         this adjusts to the change to AC_MBSTATE_T.
115880 2000-07-14  Jim Meyering  <meyering@lucent.com>
115882         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
115883         jm_AC_TYPE_UINTMAX_T.
115885 2000-07-13  Paul Eggert  <eggert@twinsun.com>
115887         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
115889         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
115890         quotearg_buffer_restyled): Add support for
115891         clocale_quoting_style.  Undo previous change to
115892         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
115893         and "{RIGHT QUOTATION MARK}" msgids.
115895 2000-07-10  Paul Eggert  <eggert@twinsun.com>
115897         From a suggestion by Bruno Haible.
115898         * m4/mbstate_t.m4 (AC_MBSTATE_T):
115899         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
115900         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
115901         and mbstate_t, to a single-part test that simply defines mbstate_t.
115902         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
115903         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
115905 2000-07-10  Jim Meyering  <meyering@lucent.com>
115907         * m4/strerror_r.m4: Mirror the correction made in autoconf.
115909         * m4/gnu-source.m4: Output to confdefs.h directly.
115910         Suggestion from Akim Demaille.
115912 2000-07-09  Paul Eggert  <eggert@twinsun.com>
115914         The old behavior of quoting `like this' doesn't look good with
115915         newer, ISO-style fonts.  See:
115916         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
115918         Instead, quote "like this" by default.  Let the translator
115919         tailor the locale-specific quoting behavior by providing
115920         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
115922         * lib/quotearg.c (N_): New macro.
115923         (gettext_default): New function.
115924         (quotearg_buffer_restyled): Use
115925         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
115926         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
115928 2000-07-09  Jim Meyering  <meyering@lucent.com>
115930         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
115931         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
115933         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
115934         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
115936 2000-07-09  Jim Meyering  <meyering@lucent.com>
115938         * lib/Most files: Update copyright dates to include 2000.
115940 2000-07-08  Jim Meyering  <meyering@lucent.com>
115942         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
115943         if not defined.
115944         (xgethostname): Remove now-unnecessary #ifdef.
115945         Move declaration of `err' into loop where it's used.
115947 2000-07-05  Paul Eggert  <eggert@twinsun.com>
115948         and Bruno Haible  <haible@clisp.cons.org>
115950         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
115951         only if the test for an object-type mbstate_t fails.  This
115952         prevents us from mistakenly reporting that mbstate_t is a
115953         system object type after we "#define mbstate_t int" to work
115954         around its lack.
115956 2000-07-05  Paul Eggert  <eggert@twinsun.com>
115957         and Bruno Haible  <haible@clisp.cons.org>
115959         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
115961 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
115963         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
115964         to strerror_r.
115965         Include <ctype.h> for use of isalpha.
115967 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
115969         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
115970         by allocating a larger buffer. Test the gethostname return value for
115971         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
115972         returns an error and ENAMETOOLONG isn't defined.
115974 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
115976         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
115977         dimension.
115979 2000-07-04  Jim Meyering  <meyering@lucent.com>
115981         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
115982         of the deprecated AC_CHECKING.
115984 2000-07-04  Jim Meyering  <meyering@lucent.com>
115986         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
115987         Reported by Bruno Haible.
115989 2000-07-04  Jim Meyering  <meyering@lucent.com>
115991         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
115992         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
115993         lacks mbrtowc.
115995 2000-07-03  Paul Eggert  <eggert@twinsun.com>
115997         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
115998         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
116000 2000-07-03  Paul Eggert  <eggert@twinsun.com>
116001         and Bruno Haible  <haible@clisp.cons.org>
116003         * lib/quotearg.c (mbrtowc):
116004         Assign to *pwc, and return 1 only if result is nonzero.
116005         (iswprint): Use ISPRINT when substituting our own mbrtowc.
116007 2000-07-03  Jim Meyering  <meyering@lucent.com>
116009         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
116011 2000-07-03  Jim Meyering  <meyering@lucent.com>
116013         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
116014         This is necessary to get a definition of e.g., UTMP_FILE on
116015         HP-UX 10.20.
116016         From Bob Proulx.
116018 2000-07-02  Jim Meyering  <meyering@lucent.com>
116020         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
116022         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
116023         AC_LIBOBJ(function_name).
116024         * m4/chown.m4: Likewise.
116025         * m4/fnmatch.m4: Likewise.
116026         * m4/ftruncate.m4: Likewise.
116027         * m4/getgroups.m4: Likewise.
116028         * m4/getline.m4: Likewise.
116029         * m4/group-member.m4: Likewise.
116030         * m4/jm-macros.m4: Likewise.
116031         * m4/lstat.m4: Likewise.
116032         * m4/malloc.m4: Likewise.
116033         * m4/memcmp.m4: Likewise.
116034         * m4/nanosleep.m4: Likewise.
116035         * m4/putenv.m4: Likewise.
116036         * m4/realloc.m4: Likewise.
116037         * m4/regex.m4: Likewise.
116038         * m4/stat.m4: Likewise.
116039         * m4/strftime.m4: Likewise.
116041 2000-07-02  Jim Meyering  <meyering@lucent.com>
116043         * lib/quotearg.c (mbstate_t): Don't define here.
116045 2000-07-02  Jim Meyering  <meyering@lucent.com>
116047         * lib/nanosleep.c (SIGCONT): Define if not already defined.
116049 2000-07-01  Jim Meyering  <meyering@lucent.com>
116051         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
116053 2000-07-01  Jim Meyering  <meyering@lucent.com>
116055         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
116056         problem.
116058 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
116060         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
116061         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
116063 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
116065         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
116066         per change in ../m4/ls-mntd-fs.m4.
116067         (read_filesystem_list): Ignore symbolic links.
116069 2000-06-29  Jim Meyering  <meyering@lucent.com>
116071         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
116072         for declaration of strcmp.
116074         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
116076         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
116077         Avoid warning by casting result to `char *' to remove `const'.
116079 2000-06-28  Jim Meyering  <meyering@lucent.com>
116081         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
116082         included by quotearg.c, for which we perform this test.  From
116083         Bruno Haible.
116085 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
116087         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
116088         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
116089         <utmpx.h> exists, put readutmp.o into LIBOBJS.
116091 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
116093         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
116095 2000-06-26  Paul Eggert  <eggert@twinsun.com>
116097         savedir now sets errno on failure and invokes xmalloc to get memory.
116098         Fix a couple of other minor bugs while we're at it.
116100         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
116101         (NAMLEN): Remove macro.
116102         (malloc, realloc): Remove decls.
116103         (stpcpy): Likewise.
116104         ("xalloc.h"): Include.
116105         (NAME_SIZE_DEFAULT): New macro.
116106         (savedir): Use xmalloc / xrealloc to allocate memory.
116107         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
116108         Skip "" directory entries.
116109         Use strlen to calculate directory entry length, since the old method
116110         is rarely used these days and isn't worth supporting.
116111         Don't use a pointer after freeing it.
116112         Check for integer overflow when calculating allocation size.
116113         Use memcpy to copy entries, instead of stpcpy.
116114         Set errno properly when returning NULL.
116115         Check for readdir error.
116117 2000-06-26  Jim Meyering  <meyering@lucent.com>
116119         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
116121 2000-06-25  Jim Meyering  <meyering@lucent.com>
116123         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
116124         Linux header bug when _XOPEN_SOURCE is defined to 500.
116126 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
116128         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
116129         deficiency.
116131 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
116133         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
116134         Include xalloc.h.
116135         Don't include <stdlib.h>.  Don't declare malloc, realloc.
116137 2000-06-24  Jim Meyering  <meyering@lucent.com>
116139         * m4/strerror_r.m4: Revive this file -- to try out an experimental
116140         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
116141         for which strerror does return char*, but which lacks a conveniently
116142         accessible declaration of the function.  If the compile-test says
116143         strerror_r doesn't work, then resort to a `run'-test that works on
116144         BeOS and segfaults on DEC Unix.
116146 2000-06-24  Jim Meyering  <meyering@lucent.com>
116148         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
116150 2000-06-23  Paul Eggert  <eggert@twinsun.com>
116152         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
116153         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
116155 2000-06-23  Paul Eggert  <eggert@twinsun.com>
116157         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
116158         (mbrtowc, mbstate_t): Define substitutes if
116159         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
116160         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
116161         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
116163 2000-06-23  Jim Meyering  <meyering@lucent.com>
116165         * m4/afs.m4: Add missing AC_MSG_RESULT.
116166         Reported by Bruno Haible.
116168         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
116169         Suggestion from Bruno Haible.
116171 2000-06-23  Jim Meyering  <meyering@lucent.com>
116173         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
116175 2000-06-21  Jim Meyering  <meyering@lucent.com>
116177         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
116179 2000-06-21  Jim Meyering  <meyering@lucent.com>
116181         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
116182         (noinst_HEADERS): Add getstr.h.
116184         * lib/getline.c (getstr): Move into a separate file.
116185         * lib/getstr.c (getstr): New file, extracted from getline.c, with
116186         the following changes: new parameter, delim2; both delim[12]
116187         parameters have type `int', not `char'.  The latter would lose
116188         with 8-bit delimiters.
116189         * lib/getstr.h: New file.
116191 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
116193         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
116194         than 1024, return a memory chunk of least possible size, instead
116195         of size PATH_MAX + 2. In the loop, increment the size proportionally.
116196         Use free/xmalloc instead of xrealloc to avoid copying for very long
116197         paths.
116199 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
116201         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
116202         the empty string.
116204 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
116206         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
116207         address, not strdup.  Include <stdlib.h> and don't declare free().
116209 2000-06-19  Jim Meyering  <meyering@lucent.com>
116211         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
116213 2000-06-18  Jim Meyering  <meyering@lucent.com>
116215         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
116217         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
116218         `checking whether...' message to be consistent with that of the
116219         lstat test.
116221 2000-06-18  Jim Meyering  <meyering@lucent.com>
116223         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
116224         Besides, these days every porting target provides a mkdir function.
116226         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
116227         needed. (this snippet comes from src/system.h).
116229 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
116231         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
116233 2000-06-15  Paul Eggert  <eggert@twinsun.com>
116235         * lib/human.c (adjust_value): New function.
116236         (human_readable_inexact): Apply rounding style even when
116237         printing approximate values.
116239 2000-06-14  Paul Eggert  <eggert@twinsun.com>
116241         * lib/human.c (human_readable_inexact): Allow an input block
116242         size that is not a multiple of the output block size, and vice versa.
116243         Reported by Piergiorgio Sartor.
116245 2000-06-14  Paul Eggert  <eggert@twinsun.com>
116247         * lib/getdate.y (get_date): Apply relative times after time
116248         zone indicator, not before.  Reported by Todd A. Jacobs.
116250 2000-06-13  Jim Meyering  <meyering@lucent.com>
116252         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
116254         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
116256 2000-06-12  Paul Eggert  <eggert@twinsun.com>
116258         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
116260 2000-06-12  Jim Meyering  <meyering@lucent.com>
116262         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
116263         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
116264         optional argument.
116265         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
116266         the optional argument, `lib'.
116268 2000-06-08  Jim Meyering  <meyering@lucent.com>
116270         * m4/largefile.m4: Remove file (now that it's part of autoconf).
116272 2000-06-04  Paul Eggert  <eggert@twinsun.com>
116274         Rewrite largefile configuration so that we don't need to run
116275         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
116276         AC_CANONICAL_HOST in configure.in -- jmm]
116278         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
116279         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
116280         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
116281         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
116282         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
116283         All uses changed.
116284         Instead of inspecting the output of getconf, try to compile the
116285         test program without and with the macro definition.
116286         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
116287         for getconf.  Instead, check for the needed flags by compiling
116288         test programs.
116290 2000-06-04  Paul Eggert  <eggert@twinsun.com>
116292         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
116294 2000-06-04  Jim Meyering  <meyering@lucent.com>
116296         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
116297         SunOS 4.1.4 for which gid_t is an unsigned type.
116299 2000-06-03  Jim Meyering  <meyering@lucent.com>
116301         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
116302         now that autoconf requires that.
116304         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
116305         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
116306         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
116308 2000-06-03  Jim Meyering  <meyering@lucent.com>
116310         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
116312 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
116314         * m4/glibc21.m4: New file.
116315         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
116317 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
116319         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
116320         newer, don't install charset.alias.
116321         * lib/config.charset: Change the Linux/glibc rules so they become empty
116322         on glibc-2.1 or newer.
116324 2000-06-02  Jim Meyering  <meyering@lucent.com>
116326         * lib/mountlist.c: Back out last change.  Instead, do this...
116327         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
116328         me_dummy member using the same `ignore'-testing code.
116329         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
116330         fs_type strings.
116331         From Mark D. Roth.
116333 2000-05-29  Jim Meyering  <meyering@lucent.com>
116335         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
116336         mounts with the `ignore' attribute.  Based on a patch from
116337         Mark D. Roth.
116339 2000-05-28  Jim Meyering  <meyering@lucent.com>
116341         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
116342         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
116343         * m4/stat.m4: Likewise.
116344         * m4/lstat.m4: Likewise.
116345         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
116347         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
116348         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
116350 2000-05-26  Jim Meyering  <meyering@lucent.com>
116352         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
116354 2000-05-24  Jim Meyering  <meyering@lucent.com>
116356         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
116357         autoconf requires that.
116358         * m4/lib-check.m4: Likewise.
116359         * m4/jm-macros.m4: Likewise.
116360         * m4/strftime.m4: Likewise.
116362         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
116363         AC_CHECK_DECLS, now that autoconf requires that.
116365 2000-05-22  Jim Meyering  <meyering@lucent.com>
116367         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
116368         * m4/lstat.m4: Likewise.
116370 2000-05-22  Jim Meyering  <meyering@lucent.com>
116372         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
116374 2000-05-20  Jim Meyering  <meyering@lucent.com>
116376         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
116377         (jm_PREREQ): Use it.
116379 2000-05-18  Jim Meyering  <meyering@lucent.com>
116381         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
116382         back, too, since it may have been modified by allocate_entry.
116383         (hash_delete): Rewrite to use neither the assignment operator
116384         nor the comma operator in an if-expression.
116386 2000-05-15  Paul Eggert  <eggert@twinsun.com>
116388         * lib/closeout.c:
116389         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
116390         Remove; no longer needed.
116391         "quotearg.h": Add include.
116392         (file_name): Do not bother to explicitly initialize to NULL; it's less
116393         efficient on some hosts.
116394         (close_stdout_status): Remove test as to whether stdout was already
116395         closed; it breaks for the case "echo x | sort >&-".
116396         Quote file name colons.
116397         Do not assume that _("write error") lacks format strings.
116399 2000-05-15  Jim Meyering  <meyering@lucent.com>
116401         * lib/version-etc.c (version_etc_copyright): Update the copyright
116402         string used in all --version output.
116404 2000-05-14  Jim Meyering  <meyering@lucent.com>
116406         * lib/closeout.c (close_stdout_set_file_name): New function.
116407         (close_stdout_status): Use new file-scoped global.
116408         Return right away if fstat says the stdout file descriptor is invalid.
116409         * lib/closeout.h (close_stdout_set_file_name): Declare.
116411 2000-05-10  Jim Meyering  <meyering@lucent.com>
116413         * lib/closeout.c [default_exit_status]: New file-scoped variable.
116414         (close_stdout_set_status): New function.
116415         * lib/closeout.h (close_stdout_set_status): Declare.
116417 2000-05-09  Jim Meyering  <meyering@lucent.com>
116419         * m4/gettext.m4: Rename this...
116420         * m4/libintl.m4: ...to this.
116422 2000-05-08  Jim Meyering  <meyering@lucent.com>
116424         * lib/long-options.c: Don't include closeout.h.
116425         (parse_long_options): Don't call close_stdout for --version.
116427 2000-05-06  Paul Eggert  <eggert@twinsun.com>
116429         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
116430         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
116431         2.1.3 bug.  This avoids a clash when files like regex.c define
116432         _GNU_SOURCE.
116434 2000-05-06  Jim Meyering  <meyering@lucent.com>
116436         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
116437         (AC_REPLACE_FUNCS): Add strnlen.
116439         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
116440         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
116442         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
116443         AC_SEARCH_LIBS call for nanosleep.
116444         (LIB_NANOSLEEP): Set and AC_SUBST.
116446 2000-05-06  Jim Meyering  <meyering@lucent.com>
116448         * lib/strnlen.c: Undefine __strnlen and strnlen.
116449         [!weak_alias]: Define __strnlen to strnlen.
116451         * lib/atexit.c: New file, from libiberty.
116453 2000-05-06  Jim Meyering  <meyering@lucent.com>
116455         * lib/closeout.c (close_stdout_status): Also check for errors on the
116456         stderr stream.
116458 2000-05-05  Jim Meyering  <meyering@lucent.com>
116460         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
116461         AC_SEARCH_LIBS call for clock_gettime.
116462         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
116464         * m4/search-libs.m4: Update from autoconf.
116466         su doesn't work on Solaris 2.6.
116467         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
116468         <shadow.h>.  Reported by Dragos Harabor.
116470 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
116472         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
116473         memcpy instead of xmalloc, xrealloc, path_concat.
116474         (locale_charset): Treat empty environment variables as absent.
116475         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
116477 2000-05-04  Jim Meyering  <meyering@lucent.com>
116479         * lib/getopt.c: Update from glibc.
116480         * lib/obstack.c: Likewise.
116481         * lib/obstack.h: Likewise.
116482         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
116483         file
116485         * lib/regex.h: Likewise.
116486         * lib/strndup.c: Likewise.
116487         * lib/strnlen.c: New file, from glibc.
116489 2000-05-03  Jim Meyering  <meyering@lucent.com>
116491         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
116493 2000-05-02  Paul Eggert  <eggert@twinsun.com>
116495         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
116496         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
116497         compile-time test, rather than inspecting host and OS, to
116498         decide whether to define _LARGEFILE_SOURCE.
116500 2000-05-01  Jim Meyering  <meyering@lucent.com>
116502         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
116504         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
116505         Based on a patch from Bruno Haible.
116507 2000-05-01  Jim Meyering  <meyering@lucent.com>
116509         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
116511 2000-04-29  Jim Meyering  <meyering@lucent.com>
116513         * lib/path-concat.c: Declare strdup only if it's not defined.
116514         * lib/canon-host.c: Likewise.
116516 2000-04-28  Jim Meyering  <meyering@lucent.com>
116518         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
116519         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
116520         is included first, then limits.h is included by locale.h by libintl.h.
116521         From John David Anglin.
116523 2000-04-25  Jim Meyering  <meyering@lucent.com>
116525         * lib/makepath.c (S_IRWXUGO): Define.
116526         (make_path): Always perform explicit chmod if MODE specifies any
116527         of the `special' permission bits.  Prompted by a bug report against
116528         install from Mate Wierdl and Joost van Baal.
116530 2000-04-18  Jim Meyering  <meyering@lucent.com>
116532         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
116533         (jm_PREREQ): Use it.
116535 2000-04-18  Jim Meyering  <meyering@lucent.com>
116537         * lib/README: New file.
116539         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
116540         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
116542 2000-04-17  Jim Meyering  <meyering@lucent.com>
116544         Get it right :-)
116545         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
116546         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
116547         Suggestion from Akim Demaille.
116549 2000-04-17  Jim Meyering  <meyering@lucent.com>
116551         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
116552         the definition of it to rpl_strftime also defined-away the system's
116553         declaration.
116555 2000-04-15  Jim Meyering  <meyering@lucent.com>
116557         Use `C' to denote so-called `contiguous' files, the same way
116558         that tar does.
116559         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
116560         (ftypelet): Use S_ISCTG.
116561         From Michael Deutschmann.
116563 2000-04-14  Jim Meyering  <meyering@lucent.com>
116565         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
116566         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
116567         clobbered.
116569 2000-04-14  Jim Meyering  <meyering@lucent.com>
116571         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
116573 2000-04-13  Jim Meyering  <meyering@lucent.com>
116575         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
116576         AH_VERBATIM to insert required #ifndef into config.h.in.
116577         Suggestion from Akim Demaille.
116579 2000-04-12  Jim Meyering  <meyering@lucent.com>
116581         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
116582         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
116583         Christian Krackowizer.
116585         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
116586         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
116587         (AC_SYS_LARGEFILE): Require.
116588         (AM_C_PROTOTYPES): Require.
116590 2000-04-08  Jim Meyering  <meyering@lucent.com>
116592         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
116593         names don't conflict.  Reported by Eli Zaretskii.
116595 2000-04-07  Jim Meyering  <meyering@lucent.com>
116597         * lib/putenv.c: Move inclusion of errno.h so it follows that of
116598         sys/types.h, to work around system header problems on AIX 3.2.5.
116599         From Bruno Haible.
116601 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
116603         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
116604         bug.  Deal with the different error behavior of Irix iconv.
116606 2000-04-05  Paul Eggert  <eggert@twinsun.com>
116608         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
116609         IRIX if the installer said otherwise.
116611 2000-04-05  Jim Meyering  <meyering@lucent.com>
116613         Portability tweaks required for ultrix4.3.
116614         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
116615         (jm_CHECK_DECLS): Add getutent to the list of functions.
116616         (_jm_DECL_HEADERS): Add utmpx.h.
116617         From John David Anglin.
116619         * m4/strftime.m4: Back out the 2000-04-02 change.
116620         Instead of that change, simply undefine putenv in the test program.
116622 2000-04-05  Jim Meyering  <meyering@lucent.com>
116624         Portability tweaks required for ultrix4.3.
116625         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
116626         getutent.
116627         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
116628         * lib/canon-host.c: Declare strdup.
116629         * lib/path-concat.c: Likewise.
116630         From John David Anglin.
116632 2000-04-04  Jim Meyering  <meyering@lucent.com>
116634         Be more DOS 8.3-friendly.
116635         * lib/ref-add.sin: Renamed from ref-add.sed.in.
116636         * lib/ref-del.sin: Renamed from ref-del.sed.in.
116637         * lib/Makefile.am: Reflect renaming.
116638         Reported by Eli Zaretskii.
116640         Use a temporary file name that won't clash with `charset.alias'
116641         in the DOS 8.3 name space.
116642         * lib/Makefile.am (charset_tmp): Define.
116643         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
116644         (uninstall-local): Likewise.
116645         Reported by Eli Zaretskii.
116647 2000-04-03  Jim Meyering  <meyering@lucent.com>
116649         * m4/gettext.m4: Fix typo in comment.
116651         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
116652         textutils/configure.in).  Suggestion from Paul Eggert.
116653         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
116655 2000-04-02  Paul Eggert  <eggert@twinsun.com>
116657         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
116658         variable in the shell rather than using putenv, which isn't
116659         portable.  This avoids the configure-time inter-test dependency
116660         on the potentially-renamed putenv function.
116662 2000-03-30  Paul Eggert  <eggert@twinsun.com>
116664         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
116665         before checking struct stat.st_blksize, so that
116666         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
116668 2000-03-29  Paul Eggert  <eggert@twinsun.com>
116670         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
116671         since strftime.c uses HAVE_STRFTIME to decide whether to use
116672         the underlying strftime.
116674 2000-03-29  Paul Eggert  <eggert@twinsun.com>
116676         * lib/time/strftime.c (my_strftime): Make sure we call the system
116677         strftime, not ourselves, when invoking the underlying strftime.
116679 2000-03-24  Jim Meyering  <meyering@lucent.com>
116681         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
116682         (charset_alias): Define.
116683         (install-exec-local): Factor out common code.
116684         (uninstall-local): Split lines longer than 80.
116685         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
116686         (SUFFIXES): Define.
116687         (.sed.in.sed): New rule.  Don't redirect directly to $@.
116688         (CLEANFILES): Add ref-add.sed and ref-del.sed.
116690 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
116692         * lib/config.charset: Output a line containing "Packages using this
116693         file".
116694         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
116695         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
116696         ref-del.sed): New rules.
116698 2000-03-17  Jim Meyering  <meyering@lucent.com>
116700         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
116701         Otherwise, include <strings.h>
116703 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
116705         * lib/unicodeio.c (utf8_wctomb): New function.
116706         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
116707         format instead of in UCS-4 with platform dependent endianness.
116709 2000-03-10  Jim Meyering  <meyering@lucent.com>
116711         * m4/lib-check.m4: Look for getspnam in -lgen, too.
116712         From Marco Franzen.
116714 2000-03-07  Paul Eggert  <eggert@twinsun.com>
116716         * lib/savedir.c (savedir): Work even if directory size is
116717         negative; this can happen with some screwy NFS configurations.
116719 2000-03-06  Jim Meyering  <meyering@lucent.com>
116721         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
116722         if it's NULL (because we ran out of memory).  From Bruno Haible.
116724 2000-03-05  Jim Meyering  <meyering@lucent.com>
116726         * lib/localcharset.c ("path-concat.h"): Include.
116727         (get_charset_aliases): Use path_concat instead of ANSI string
116728         concatenation.
116730         * lib/unicodeio.h (PARAMS): Define.
116731         Use it to guard prototype.
116733 2000-03-04  Jim Meyering  <meyering@lucent.com>
116735         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
116736         for lib/localcharset.c.
116738 2000-03-04  Jim Meyering  <meyering@lucent.com>
116740         * lib/Makefile.am (install-exec-local): Create $(libdir) before
116741         installing into it.
116742         (uninstall-local): Uncomment this rule so `make distcheck' works
116743         once again.
116745         * lib/unicodeio.c (<errno.h>): Include it.
116746         (errno): Declare if not defined.
116748         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
116750         * lib/config.charset: New version, incorporating remarks from a linux
116751         i18n mailing list.  From Bruno Haible.
116753 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
116755         * m4/codeset.m4: New file.
116756         * m4/iconv.m4: New file.
116757         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
116759 2000-03-03  Jim Meyering  <meyering@lucent.com>
116761         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
116763 2000-03-02  Jim Meyering  <meyering@lucent.com>
116765         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
116766         the messages come out on separate lines.
116768         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
116769         rather than jm_CHECK_DECLARATIONS.
116770         * m4/decl.m4: Remove now-unused file.
116772         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
116773         geteuid.
116775 2000-03-02  Jim Meyering  <meyering@lucent.com>
116777         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
116779 2000-03-01  Jim Meyering  <meyering@lucent.com>
116781         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
116782         * lib/unicodeio.c: Likewise.
116784 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
116786         * lib/config.charset: New file.
116787         * lib/localcharset.c: New file.
116788         * lib/unicodeio.h, lib/unicodeio.c: New files.
116789         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
116790         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
116791         (noinst_HEADERS): Add unicodeio.h.
116792         (all-local, install-exec-local, charset.alias): New targets.
116794 2000-02-28  Paul Eggert  <eggert@twinsun.com>
116796         * lib/quotearg.c (ALERT_CHAR): New macro.
116797         (quotearg_buffer_restyled): Use it.
116799 2000-02-27  Jim Meyering  <meyering@lucent.com>
116801         * m4/check-decl.m4: Add getenv to the list.
116803 2000-02-27  Jim Meyering  <meyering@lucent.com>
116805         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
116806         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
116808         * lib/backupfile.c: Guard inclusion of stdlib.h with
116809         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
116810         Declare malloc if needed.
116812         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
116813         `#ifndef HAVE_DECL..'
116814         now that autoconf always defines the HAVE_DECL_ symbols.
116815         * lib/human.c: Likewise.
116816         * lib/same.c: Likewise.
116817         * lib/strtoumax.c: Likewise.
116819         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
116820         declaration check was not run.
116821         * lib/hash.c: Likewise.
116822         * lib/human.c: Likewise.
116823         * lib/same.c: Likewise.
116824         * lib/strtoumax.c: Likewise.
116826         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
116827         `.', then first look up the entire `.'-containing string as a login
116828         name.
116830 2000-02-23  Jim Meyering  <meyering@lucent.com>
116832         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
116833         in place of my hack.
116835 2000-02-18  Paul Eggert  <eggert@twinsun.com>
116837         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
116838         (textint): New typedef.
116839         (parser_control): Member year changed from int to textint.
116840         All uses changed.
116841         (YYSTYPE): Removed; replaced by %union with int and textint members.
116842         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
116843         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
116844         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
116845         (tSNUMBER, tUNUMBER): Now of type <textintval>.
116846         (date, number, to_year): Use width of number in digits, not its value,
116847         to determine whether it's a 2-digit year, or a 2-digit time.
116848         (yylex): Store number of digits of numeric tokens.
116849         Reported by John Kendall.
116851         (parser_control): Changed from struct parser_control to typedef (for
116852         consistency).  All uses changed.
116854         (tID): Removed; not used.
116855         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
116857 2000-02-14  Paul Eggert  <eggert@twinsun.com>
116859         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
116860         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
116862 2000-02-12  Jim Meyering  <meyering@lucent.com>
116864         * lib/userspec.c (ISDIGIT): Define it.
116865         (isdigit): Remove definition.
116866         (is_number): Use ISDIGIT, not isdigit.
116867         <libintl.h>: Include.
116868         (_ and N_): Define.
116869         (parse_user_spec): Mark translatable strings.
116871 2000-02-10  Jim Meyering  <meyering@lucent.com>
116873         With these changes, nanosleep.[ch] are finally enough like the other
116874         lib/* replacement files to compile on a few more losing systems.
116876         * lib/nanosleep.h: Don't include config.h.
116877         Remove prototype from declaration of nanosleep.
116878         (PARAMS): Remove now-unneeded definition.
116879         * lib/nanosleep.c: #undef nanosleep.
116880         (rpl_nanosleep): Rename from nanosleep.
116882 2000-02-10  Jim Meyering  <meyering@lucent.com>
116884         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
116885         gnu_nanosleep to rpl_nanosleep.
116887 2000-02-09  Jim Meyering  <meyering@lucent.com>
116889         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
116890         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
116892 2000-02-08  Akim Demaille  <akim@epita.fr>
116894         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
116895         `[' and `]' and remove uses of `changequote'.
116896         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
116897         (AC_SYS_LARGEFILE): Likewise.
116898         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
116899         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
116900         of changequote.
116901         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
116902         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
116903         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
116904         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
116906 2000-02-05  Jim Meyering  <meyering@lucent.com>
116908         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
116909         Remove explicit use of AC_HEADER_TIME.  It is required by
116910         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
116911         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
116912         in autoconf whereby the expansion of the latter ended up preceding
116913         the expansion of its prerequisite, AC_HEADER_TIME.
116914         Reported by Volker Borchert.
116916 2000-02-03  Jim Meyering  <meyering@lucent.com>
116918         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
116920 2000-02-03  Jim Meyering  <meyering@lucent.com>
116922         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
116923         rather than with `#if HAVE_UTMPNAME'.
116925 2000-02-02  Jim Meyering  <meyering@lucent.com>
116927         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
116928         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
116929         Reported by Eli Zaretskii.
116931 2000-02-01  Jim Meyering  <meyering@lucent.com>
116933         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
116935 2000-01-31  Jim Meyering  <meyering@lucent.com>
116937         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
116938         functions.  Add the time.h and sys/time.h headers along with the
116939         AC_REQUIRE'ment of AC_HEADER_TIME.
116941 2000-01-31  Jim Meyering  <meyering@lucent.com>
116943         * lib/nanosleep.h (nanosleep): Guard declaration with
116944         `#if ! HAVE_DECL_NANOSLEEP'.
116945         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
116946         the declaration in that vendor's sys/timers.h.
116947         Reported by Christian Krackowizer.
116949         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
116950         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
116951         (ISPRINT): Likewise.
116952         Reported by Tom Tromey.
116954 2000-01-30  Jim Meyering  <meyering@lucent.com>
116956         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
116958         * m4/prereq.m4 (utmp_includes): Define.
116959         Check for ut_user and ut_name members in both struct utmpx
116960         and struct utmp.
116962 2000-01-30  Jim Meyering  <meyering@lucent.com>
116964         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
116965         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
116966         header files where only utmpx.ut_user is declared.
116968         * lib/readutmp.h (UT_USER): Define.
116970 2000-01-29  Jim Meyering  <meyering@lucent.com>
116972         * m4/lib-check.m4: New file containing library-related checks from
116973         fileutils and sh-utils (textutils had none).
116975 2000-01-28  Jim Meyering  <meyering@lucent.com>
116977         * m4/perl.m4: Change format of warning message to look more like that
116978         from the missing script.  Suggestion from François Pinard.
116980 2000-01-25  Jim Meyering  <meyering@lucent.com>
116982         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
116983         well as time.h in the compile check.
116984         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
116985         Fix typo in cross-compiling case: s/yes/no/.
116987 2000-01-23  Jim Meyering  <meyering@lucent.com>
116989         * m4/jm-macros.m4: Move df-related tests here from
116990         fileutils/configure.in
116992         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
116993         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
116995         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
116996         s/space/ac_fsusage_space/.
116997         (jm_FILE_SYSTEM_USAGE): Take two parameters.
116999         * m4/ftruncate.m4: New file (derived from part of
117000         fileutils/configure.in).
117001         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
117002         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
117004         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
117005         AC_SUBST these here, rather than just in sh-util/configure.in, so
117006         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
117007         all the same.
117008         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
117009         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
117010         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
117011         (AC_SUBST(POW_LIBM)): Likewise.
117012         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
117014 2000-01-23  Jim Meyering  <meyering@lucent.com>
117016         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
117017         obstack.c.
117019 2000-01-22  Jim Meyering  <meyering@lucent.com>
117021         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
117023         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
117025         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
117026         configure.in
117027         (AC_CHECK_HEADERS): Likewise for sh-utils.
117028         (AC_CHECK_HEADERS): Likewise for textutils.
117029         Merge the three lists of headers.
117031         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
117032         from fileutils' configure.in.
117034         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
117035         code. Moved tests into their own function (_jm_DECL_HEADERS) in
117036         check-decl.m4.
117038         * m4/check-decl.m4: Use #if rather than #ifdef.
117039         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
117040         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
117041         (_jm_DECL_HEADERS): Define new function.
117042         (jm_CHECK_DECLARATIONS): Require it.
117044 2000-01-22  Jim Meyering  <meyering@lucent.com>
117046         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
117047         [! HAVE_DECL_STRTOULL]: Declare strtoull.
117048         Required for some AIX systems.  Reported by Christian Krackowizer.
117049         [TESTING] (main): New function.
117051         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
117052         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
117053         letters.
117055         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
117056         iswprint.
117058         * lib/strverscmp.c (ISDIGIT): Define.
117059         (strverscmp): Use ISDIGIT, not isdigit.
117061 2000-01-19  Jim Meyering  <meyering@lucent.com>
117063         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
117064         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
117065         defines `struct timespec' in <sys/time.h>
117067         * m4/c-bs-a.m4: Remove uses of changequote altogether.
117068         Thanks to Akim for explaining.
117070 2000-01-17  Paul Eggert  <eggert@twinsun.com>
117072         * lib/nanosleep.c (nanosleep):
117073         Don't use SA_INTERRUPT to decide whether to call sigaction, as
117074         POSIX.1 doesn't require SA_INTERRUPT and some systems
117075         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
117076         it's been part of POSIX.1 since day 1 (in 1988).
117078 2000-01-17  Jim Meyering  <meyering@lucent.com>
117080         * lib/interlock: Remove unused file.  Reported by François Pinard.
117082 2000-01-16  Paul Eggert  <eggert@twinsun.com>
117084         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
117085         alert, backslash, formfeed, and vertical tab unnecessarily in
117086         shell quoting style.
117088 2000-01-16  Jim Meyering  <meyering@lucent.com>
117090         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
117091         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
117092         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
117093         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
117095 2000-01-16  Jim Meyering  <meyering@lucent.com>
117097         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
117098         because the latter didn't work.
117100 2000-01-15  Jim Meyering  <meyering@lucent.com>
117102         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
117103         (AC_REPLACE_FUNCS): Add memcpy and memset.
117104         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
117105         Add strpbrk.
117106         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
117108 2000-01-12  Jim Meyering  <meyering@lucent.com>
117110         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
117111         (jm_PREREQ): Use it.
117112         (jm_PREREQ_READUTMP): New macro.
117113         (jm_PREREQ): Use it.
117115 2000-01-11  Paul Eggert  <eggert@twinsun.com>
117117         Quote multibyte characters correctly.
117118         * m4/c-bs-a.m4: New file.
117119         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
117120         (jm_PREREQ): Use it.
117122 2000-01-11  Paul Eggert  <eggert@twinsun.com>
117124         * m4/uintmax_t.m4: Port to autoconf 2.13.
117126 2000-01-08  Jim Meyering  <meyering@ascend.com>
117128         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
117129         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
117131 2000-01-04  Jim Meyering  <meyering@ascend.com>
117133         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
117134         jm_STRUCT_DIRENT_D_TYPE.
117135         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
117136         jm_STRUCT_DIRENT_D_INO.
117137         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
117138         jm_STRUCT_UTIMBUF.
117139         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
117140         renamings.
117141         * m4/utime.m4: Likewise.
117143         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
117144         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
117146 2000-01-03  Paul Eggert  <eggert@twinsun.com>
117148         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
117149         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
117151 2000-01-02  Jim Meyering  <meyering@ascend.com>
117153         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
117154         remember if this is necessary.
117156 1999-12-26  Jim Meyering  <meyering@ascend.com>
117158         * m4/jm-macros.m4: Use it here.
117159         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
117161 1999-12-23  Jim Meyering  <meyering@ascend.com>
117163         * m4/jm-macros.m4: Check for clock_gettime (moved from
117164         fileutils/configure.in)
117165         Check for gettimeofday.
117167 1999-12-20  Jim Meyering  <meyering@ascend.com>
117169         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
117170         autoconf-2.14a-1999-12-20.
117172 1999-12-19  Jim Meyering  <meyering@ascend.com>
117174         * m4/lstat-slash.m4: New file.
117175         * m4/jm-macros.m4: Use the new macro:
117176         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
117178 1999-12-07  Jim Meyering  <meyering@ascend.com>
117180         * m4/perl.m4: Require that File::Compare be available, too.
117181         Too many systems seem to lack it.
117183         * m4/strftime.m4: Add checks for most of the cpp macros tested in
117184         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
117186 1999-11-18  Paul Eggert  <eggert@twinsun.com>
117188         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
117189         problem with the QNX 4.25 shell, which doesn't propagate exit
117190         status of failed commands inside shell assignments.
117192 1999-11-17  Jim Meyering  <meyering@ascend.com>
117194         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
117196 1999-11-07  Jim Meyering  <meyering@ascend.com>
117198         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
117200 1999-11-06  Jim Meyering  <meyering@ascend.com>
117202         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
117203         * m4/jm-macros.m4 (jm_MACROS): Use it here.
117205 1999-11-05  Jim Meyering  <meyering@ascend.com>
117207         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
117208         configure.in of textutils, fileutils, and sh-utils into this one
117209         (shared between those packages) file.
117210         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
117211         AC_STRUCT_ST_BLKSIZE.
117213 1999-11-03  Jim Meyering  <meyering@ascend.com>
117215         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
117216         of AC_CHECK_TYPE checks includes unistd.h.
117217         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
117218         Suggestion from Akim Demaille.
117220 1999-10-30  Jim Meyering  <meyering@ascend.com>
117222         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
117223         m4-quoted string.
117224         * m4/ls-mntd-fs.m4: Likewise.
117225         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
117226         * m4/jm-winsz1.m4: Likewise.
117228         * m4/const.m4: Remove file, since the fix made it into the experimental
117229         version of autoconf.
117230         * m4/mktime.m4: Likewise.
117232         * m4/check-type.m4: Remove file, now that the latest version of
117233         AC_CHECK_TYPE takes a third arg to specify additional #includes.
117235         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
117236         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
117237         AC_CHECK_TYPE.
117239 1999-10-04  Jim Meyering  <meyering@ascend.com>
117241         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
117243 1999-09-22  Paul Eggert  <eggert@twinsun.com>
117245         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
117246         2.95.1 bug with HP-UX 10.20.
117248 1999-09-17  Jim Meyering  <meyering@ascend.com>
117250         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
117251         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
117252         due to missing strdup (against sh-utils-2.0).
117254 1999-08-29  Jim Meyering  <meyering@ascend.com>
117256         * m4/jm-macros.m4: Require jm_BISON.
117257         * m4/bison.m4: New file.
117259 1999-08-17  Paul Eggert  <eggert@twinsun.com>
117261         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
117262         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
117264 1999-08-05  Jim Meyering  <meyering@ascend.com>
117266         * m4/getline.m4: Rename test file from conftestdata to conftest.data
117267         to avoid conflicts with `conftest' on 8+3 filesystems.
117268         Suggestion from Eli Zaretskii.
117270 1999-08-04  Jim Meyering  <meyering@ascend.com>
117272         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
117273         fileutils and sh-utils (textutils's getline test was inadequate).
117274         (AM_FUNC_GETLINE): Run this test.
117275         (AC_CHECK_FUNCS): Check for getdelim.
117276         Reported by Bob Proulx.
117278 1999-08-02  Jim Meyering  <meyering@ascend.com>
117280         * m4/jm-macros.m4: Add a comment.
117282 1999-08-01  Paul Eggert  <eggert@twinsun.com>
117284         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
117285         <inttypes.h> defines strtoumax as a macro (and not as a
117286         function).
117288 1999-08-01  Paul Eggert  <eggert@twinsun.com>
117290         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
117291         that we can shift, multiply and divide unsigned long long
117292         values; Ultrix cc can't do it.
117294 1999-08-01  Paul Eggert  <eggert@twinsun.com>
117296         * m4/mktime.m4: New file, which is a preview of what should appear
117297         in the next public autoconf release.
117299 1999-08-01  Paul Eggert  <eggert@twinsun.com>
117301         * m4/lfs.m4: Remove this file.
117302         * m4/largefile.m4: New file.  It contains the old contents of
117303         lfs.m4, except that all names with prefix AC_LFS have been
117304         changed to use the prefix AC_SYS_LARGEFILE instead, to be
117305         compatible with future autoconf versions.  Also, some minor m4
117306         quoting problems have been fixed.
117308 1999-08-01  Paul Eggert  <eggert@twinsun.com>
117310         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
117311         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
117312         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
117313         and simplify the shell code.
117315 1999-08-01  Jim Meyering  <meyering@ascend.com>
117317         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
117318         m4.
117320 1999-07-20  Jim Meyering  <meyering@ascend.com>
117322         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
117324 1999-07-15  Jim Meyering  <meyering@ascend.com>
117326         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
117328 1999-05-22  Jim Meyering  <meyering@ascend.com>
117330         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
117332 1999-05-20  Jim Meyering  <meyering@ascend.com>
117334         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
117335         Add a colon after each `then' in case $4 is empty.
117337 1999-05-16  Jim Meyering  <meyering@ascend.com>
117339         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
117341 1999-05-10  Jim Meyering  <meyering@ascend.com>
117343         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
117345         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
117346         AC_FUNC_MKTIME.
117348 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
117350         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
117352 1999-05-04  Paul Eggert  <eggert@twinsun.com>
117354         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
117355         not CPPFLAGS, so that linking works correctly in IRIX.
117357 1999-04-30  Paul Eggert  <eggert@twinsun.com>
117359         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
117361 1999-04-20  Paul Eggert  <eggert@twinsun.com>
117363         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
117364         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
117365         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
117366         jm_AC_TYPE_UNSIGNED_LONG_LONG.
117367         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
117369         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
117371 1999-04-20  Jim Meyering  <meyering@ascend.com>
117373         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
117374         AC_REPLACE xstroull if necessary.  From Paul Eggert.
117375         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
117377 1999-04-18  Jim Meyering  <meyering@ascend.com>
117379         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
117380         * m4/jm-macros.m4: Use it.
117382 1999-04-06  Jim Meyering  <meyering@ascend.com>
117384         * m4/strftime.m4: Remove test for %f.
117386 1999-03-29  Jim Meyering  <meyering@ascend.com>
117388         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
117389         superset of the AC_TYPE_* checks in the textutils, fileutils,
117390         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
117391         AC_TYPE_PID_T.
117393 1999-03-28  Jim Meyering  <meyering@ascend.com>
117395         * m4/jm-macros.m4: Define GNU_PACKAGE here.
117396         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
117397         replaced e.g., in the *.sh files of the sh-utils.
117399 1999-03-20  Jim Meyering  <meyering@ascend.com>
117401         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
117402         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
117403         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
117405 1999-03-19  Jim Meyering  <meyering@ascend.com>
117407         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
117409 1999-03-12  Jim Meyering  <meyering@ascend.com>
117411         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
117413 1999-03-07  Jim Meyering  <meyering@ascend.com>
117415         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
117416         declared.
117418 1999-02-17  Jim Meyering  <meyering@ascend.com>
117420         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
117421         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
117423 1999-02-07  Jim Meyering  <meyering@ascend.com>
117425         * m4/group-member.m4: New file -- extracted from sh-utils'
117426         configure.in.
117428         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
117429         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
117431 1999-02-06  Jim Meyering  <meyering@ascend.com>
117433         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
117434         * m4/fnmatch.m4: Likewise.
117435         * m4/getgroups.m4: Likewise.
117436         * m4/lstat.m4: Likewise.
117437         * m4/malloc.m4: Likewise.
117438         * m4/putenv.m4: Likewise.
117439         * m4/realloc.m4: Likewise.
117440         * m4/regex.m4: Likewise.
117441         * m4/stat.m4: Likewise.
117442         * m4/strftime.m4: Likewise.
117443         Suggestion from Alain Magloire.
117445         * m4/chown.m4: Use `.$ac_objext', not `.o'.
117446         * m4/fnmatch.m4: Likewise.
117447         * m4/getgroups.m4: Likewise.
117448         * m4/getline.m4: Likewise.
117449         * m4/lstat.m4: Likewise.
117450         * m4/malloc.m4: Likewise.
117451         * m4/memcmp.m4: Likewise.
117452         * m4/putenv.m4: Likewise.
117453         * m4/realloc.m4: Likewise.
117454         * m4/regex.m4: Likewise.
117455         * m4/stat.m4: Likewise.
117456         * m4/strftime.m4: Likewise.
117457         Suggestion from Alain Magloire.
117459         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
117460         an argument.
117462         * m4/regex.m4: Add a run-time Test for proper operation of
117463         re_compile_pattern.
117465 1999-01-31  Jim Meyering  <meyering@ascend.com>
117467         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
117469 1999-01-30  Jim Meyering  <meyering@ascend.com>
117471         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
117473         * m4/jm-mktime.m4: Make this a wrapper around the official
117474         AM_FUNC_MKTIME rather than my private copy, now that the official one
117475         is up to date.
117476         * m4/mktime.m4: Remove file.
117478         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
117479         * m4/uptime.m4: Likewise.
117480         * m4/uintmax_t.m4: Likewise.
117482 1999-01-28  Jim Meyering  <meyering@ascend.com>
117484         * m4/jm-macros.m4: Use jm_AFS.
117485         * m4/afs.m4: New file (from fileutils' configure.in).
117487         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
117488         * m4/chown.m4: Likewise.
117489         * m4/d-ino.m4: Likewise.
117490         * m4/d-type.m4: Likewise.
117491         * m4/fnmatch.m4: Likewise.
117492         * m4/getgroups.m4: Likewise.
117493         * m4/gettext.m4: Likewise.
117494         * m4/jm-mktime.m4: Likewise.
117495         * m4/jm-winsz2.m4: Likewise.
117496         * m4/lcmessage.m4: Likewise.
117497         * m4/ls-mntd-fs.m4: Likewise.
117498         * m4/malloc.m4: Likewise.
117499         * m4/memcmp.m4: Likewise.
117500         * m4/putenv.m4: Likewise.
117501         * m4/realloc.m4: Likewise.
117502         * m4/st_mtim.m4: Likewise.
117503         * m4/strftime.m4: Likewise.
117505 1999-01-16  Jim Meyering  <meyering@ascend.com>
117507         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
117508         (ARGMATCH_DIE_DECL): Define.
117510 1999-01-12  Jim Meyering  <meyering@ascend.com>
117512         * m4/Makefile.am.in: Rewrite to avoid using fmt.
117513         Reported by Lars Hecking.
117515 1999-01-10  Jim Meyering  <meyering@ascend.com>
117517         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
117518         gross kludge.
117519         * m4/inttypes_h.m4: Likewise.
117520         * m4/lstat.m4: Likewise.
117521         * m4/malloc.m4: Likewise.
117522         * m4/readdir.m4: Likewise.
117523         * m4/realloc.m4: Likewise.
117524         * m4/st_dm_mode.m4: Likewise.
117525         * m4/stat.m4: Likewise.
117526         * m4/utimbuf.m4: Likewise.
117527         * m4/utimes.m4: Likewise.
117529         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
117530         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
117531         comments in config.h.in are meaningful.
117533         * m4/jm-macros.m4: Require autoconf-2.13 here.
117535         * m4/regex.m4: By default, don't use the included regex.c on systems
117536         with glibc 2.  Suggestion from Uli Drepper.
117538 1999-01-02  Jim Meyering  <meyering@ascend.com>
117540         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
117542 1998-12-18  Jim Meyering  <meyering@ascend.com>
117544         * m4/Makefile.am.in (Makefile.am): Simplify rule.
117545         Based on a suggestion from Lars Hecking.
117547 1998-11-16  Paul Eggert  <eggert@twinsun.com>
117549         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
117551 1998-11-16  Jim Meyering  <meyering@ascend.com>
117553         * m4/lfs.m4: Double-quote the `uname...` expression.
117555 1998-11-14  Jim Meyering  <meyering@ascend.com>
117557         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
117558         * m4/stat.m4: Likewise.
117560 1998-11-03  Jim Meyering  <meyering@ascend.com>
117562         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
117563         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
117565 1998-10-18  Jim Meyering  <meyering@ascend.com>
117567         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
117569 1998-10-17  Jim Meyering  <meyering@ascend.com>
117571         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
117572         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
117573         calls for those previously hard-coded headers.  Instead, take a new
117574         parameter.
117575         (jm_CHECK_DECLARATIONS): Reflect interface change.
117576         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
117577         (jm_CHECK_DECL_LOCALTIME_R): New macro.
117579         * m4/mktime.m4: Test for spring-forward gap before long-running test.
117581 1998-10-14  Jim Meyering  <meyering@ascend.com>
117583         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
117584         instead of "TZ=America/Vancouver".  From Paul Eggert.
117586 1998-10-11  Jim Meyering  <meyering@ascend.com>
117588         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
117589         This adds a test for a recently added compatibility fix for mktime.c.
117590         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
117592 1998-09-27  Jim Meyering  <meyering@ascend.com>
117594         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
117596         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
117597         ../configure.in, including a change from Gordon Matzigkeit to allow
117598         cross-compiling for the Hurd.
117600         * m4/glibc.m4: New file/macro to test for the GNU C Library
117601         versions 1 and 2.  From Gordon Matzigkeit.
117602         Indent.
117604 1998-09-21  Jim Meyering  <meyering@ascend.com>
117606         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
117608 1998-08-18  Paul Eggert  <eggert@twinsun.com>
117610         Port nanosecond-resolution times to UnixWare 2.1.2 and
117611         pedantic Solaris 2.6.
117613         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
117614         AC_STRUCT_ST_MTIM.
117615         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
117616         Generate name of ns member, instead of just 1 or undef.
117617         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
117619 1998-08-15  Jim Meyering  <meyering@ascend.com>
117621         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
117622         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
117623         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
117624         instead of jm_TYPE_SSIZE_T.
117626 1998-08-12  Jim Meyering  <meyering@ascend.com>
117628         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
117630 1998-08-02  Jim Meyering  <meyering@ascend.com>
117632         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
117633         in acconfig.h manually.
117635 1998-07-31  Paul Eggert  <eggert@twinsun.com>
117637         * m4/st_mtim.m4: New file.
117639 1998-07-28  Jim Meyering  <meyering@ascend.com>
117641         * m4/utimes.m4: Undef stat.
117643 1998-07-25  Jim Meyering  <meyering@ascend.com>
117645         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
117646         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
117648 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
117650         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
117651         uid and gid actually remain unchanged.
117653 1998-07-07  Jim Meyering  <meyering@ascend.com>
117655         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
117657 1998-07-04  Jim Meyering  <meyering@ascend.com>
117659         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
117660         to prove that this macro can be used in packages without regex.c.
117662 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
117664         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
117665         is to be used.
117667 1998-07-03  Jim Meyering  <meyering@ascend.com>
117669         * m4/gettext.m4: Add -lintl if it's found to be necessary.
117671         * m4/gettext.m4: New file -- from gettext-0.10.35.
117672         * m4/lcmessage.m4: Likewise.
117673         * m4/progtest.m4: Likewise.
117675         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
117676         * m4/jm-macros.m4: Require the new macro.
117678 1998-06-29  Jim Meyering  <meyering@ascend.com>
117680         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
117681         for the definition of NGROUPS (used in a system header included
117682         by sys/mount.h).
117684 1998-06-28  Jim Meyering  <meyering@ascend.com>
117686         * m4/ls-mntd-fs.m4: New file.
117687         * m4/fstypename.m4: New file.
117689         * m4/jm-macros.m4: Require the new macro.
117690         * m4/jm-glibc-io.m4: New file.
117692 1998-05-19  Jim Meyering  <meyering@ascend.com>
117694         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
117695         * m4/lchown.m4: New file.
117697         * m4/Makefile.am.in: New file.
117698         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
117700 1998-05-14  Jim Meyering  <meyering@ascend.com>
117702         * m4/Makefile.am (EXTRA_DIST): Add them.
117703         * m4/jm-macros.m4: New file.
117704         * m4/utimbuf.m4: New file.
117706 1998-05-12  Jim Meyering  <meyering@ascend.com>
117708         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
117710 1998-05-11  Jim Meyering  <meyering@ascend.com>
117712         * m4/isc-posix.m4: New file.
117714 1998-05-10  Jim Meyering  <meyering@ascend.com>
117716         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
117718 1998-05-09  Jim Meyering  <meyering@ascend.com>
117720         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
117721         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
117722         with automake.
117724         * m4/ssize_t.m4: New file.
117725         * m4/mktime.m4: Remove file -- the new automake has this now.
117727 1998-04-26  Jim Meyering  <meyering@ascend.com>
117729         * m4/assert.m4: New file.
117730         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
117732 1998-04-05  Jim Meyering  <meyering@ascend.com>
117734         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
117735         (jm_PREREQ): Use it here.
117737 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
117739         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
117740         in acconfig.h.
117742 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
117744         * m4/prereq.m4: New file.
117745         * m4/error.m4: New file.
117746         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
117748 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
117750         * m4/getline.m4: Don't set am_cv_func_working_getline before the
117751         cache-check for the same variable -- that defeated the purpose of
117752         the test; the test program was never run.  This was a problem only
117753         on systems with losing getline functions -- HP-UX 10.20 is one.
117754         Reported by Bjorn Helgaas.
117756 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
117758         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
117760 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
117762         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
117764         * m4/const.m4: New file.  Use an initializer in this declaration
117765         typedef int charset[2]; const charset x;
117766         Reported by Bob Glickstein.
117768 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
117770         * m4/chown.m4: Fix reversed types on -1 args to chown.
117771         From Kaveh Ghazi.
117773 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
117775         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
117776         Add lseek and memchr.
117778         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
117779         T.E.Dickey <dickey@clark.net> said that some older preprocessors
117780         have a 20-character limit on names.
117782 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
117784         * m4/inttypes_h.m4: New file.
117785         * m4/uintmax_t.m4: New file.
117786         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
117789         -----
117791         Local Variables:
117792         coding: utf-8
117793         End:
117795         Copyright (C) 1997-2018 Free Software Foundation, Inc.
117797         Copying and distribution of this file, with or without
117798         modification, are permitted provided the copyright notice
117799         and this notice are preserved.